sistema_web/private-dynamic/templates/gestion/macros.html

1099 lines
50 KiB
HTML
Raw Normal View History

2023-02-27 16:21:22 -03:00
{% macro acta_li(acta, manager, estado) %}
<div class="d-flex w-100 justify-content-between">
<div class="flex-grow-1 mr-2">
<h5><span class="text-muted mr-2">Número {{acta.secuencia}} del {{ acta.horaini.strftime('%d/%m/%Y %H:%M') }} a {{ acta.horafin.strftime('%H:%M') }}</span>en {{ acta.lugar }}</h5>
{%- autoescape false %}
<p class="text-justify"><span class="font-weight-bold mr-2">Convocados</span>{{ acta.txtasistentes }}</p>
{% endautoescape -%}
</div>
<div class="dropdown no-arrow mb-4 align-items-center text-nowrap">
<a href="{{ url_for('gestion.actapdf', actaid=acta.id)}}" class="btn btn-danger btn-circle dropdown-toggle mr-1" type="button" id="pdfActa{{ acta.id }}"><i class="fas fa-file-pdf"></i></a>
<a data-toggle="modal" data-target="#confirmaEnvioModal" data-href1="{{ url_for('gestion.acta_copiame', actaid=acta.id)}}" data-href2="{{ url_for('gestion.acta_copiame', actaid=acta.id, masivo='todos')}}" class="btn btn-info btn-circle dropdown-toggle mr-1" type="button" id="pdfActa{{ acta.id }}"><i class="fas fa-mail-bulk"></i></a>
<button class="btn btn-success btn-circle dropdown-toggle" type="button" id="dropdownActa{{ acta.id }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-file-upload"></i></button>
<div class="dropdown-menu" aria-labelledby="dropdownActa{{ acta.id }}">
{% if manager and estado < 100 %}
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigActa" data-aid="{{ acta.id }}" data-secuencia="{{ acta.secuencia }}" data-fecha="{{ acta.horaini.strftime('%d/%m/%Y') }}" data-hini="{{ acta.horaini.strftime('%H:%M') }}" data-hfin="{{ acta.horafin.strftime('%H:%M') }}" data-lugar="{{ acta.lugar }}" data-invitados="{{ acta.invitadostextarea | b64encode }}" data-miembros="{{ acta.miembrosid }}" data-temas="{{ acta.temas | b64encode }}" data-desarrollo="{{ acta.desarrollo | b64encode }}" data-acuerdos="{{ acta.acuerdos | b64encode }}"><i class="fas fa-cog mr-2"></i>Modificar</a>
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalSubeEvidencia" data-tipo="anexo" data-actaid="{{ acta.id }}"><i class="fas fa-plus-circle mr-2"></i>Agregar Anexo</a>
{% endif %}
<a href="{{ url_for('gestion.listapdf', actaid=acta.id)}}" class="dropdown-item text-gray-900 text-truncate"><i class="fas fa-file-pdf mr-2"></i>Plantilla Lista de Asistentes</a>
{% for anexo in acta.anexos %}
{% if manager and estado < 100 %}
{% if loop.first %}
<div class="dropdown-divider"></div>
{% endif %}
<div class="dropdown-item d-flex justify-content-between">
<div class="flex-grow-1 mr-2 text-truncate"><a class="dropdown-item text-gray-900" href="{{ url_for('docs.get', filehash=anexo.documentohash)}}">{{ anexo.documento.nombre }}</a></div>
<button class="btn text-white btn-success btn-circle btn-sm" data-toggle="modal" data-target="#modalSubeEvidencia" data-tipo="anexo" data-actaid="{{ acta.id }}" data-hash="{{ anexo.documentohash }}" data-nombre="{{ anexo.documento.nombre }}" data-desc="{{ anexo.documento.descripcion }}" data-largo="{{ anexo.documento.largo }}"><i class="fas fa-file-signature"></i></button>
</div>
{% else %}
<a class="dropdown-item text-gray-900 text-truncate" href="{{ url_for('docs.get', filehash=anexo.documentohash)}}">{{ anexo.documento.nombre }}</a>
{% endif %}
{% else %}
{% if manager and estado < 100 %}
<div class="dropdown-divider"></div>
{% endif %}
<button class="dropdown-item" type="button">Sin anexos<i class="far fa-frown ml-2"></i></button>
{% endfor %}
</div>
</div>
</div>
{% endmacro %}
{% macro actividad_li(actividad, manager, estado) %}
<div class="d-flex w-100 justify-content-between">
<div class="flex-grow-1 mr-2">
<h5><span class="text-muted mr-2">{{ actividad.fecha.strftime('%d/%m/%Y') }}</span>{{ actividad.nombre }}</h5>
{%- autoescape false %}
<p class="text-justify">{{ actividad.descripcion | replace("\n", "<br/>") }}</p>
{% endautoescape -%}
</div>
<div class="dropdown no-arrow mb-4 align-items-center">
<button class="btn btn-success btn-circle dropdown-toggle" type="button" id="dropdownActividad{{ actividad.id }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-file-upload"></i></button>
<div class="dropdown-menu" aria-labelledby="dropdownActividad{{ actividad.id }}">
{% if manager and estado < 100 %}
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigActividad" data-oid="{{ actividad.id }}" data-fecha="{{ actividad.fecha.strftime('%d/%m/%Y') }}" data-nombre="{{ actividad.nombre }}" data-dedicacion="{{ actividad.dedicacion }}" data-descripcion="{{ actividad.descripcion }}"><i class="fas fa-cog mr-2"></i>Modificar</a>
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalSubeEvidencia" data-tipo="evidencia" data-actividadid="{{ actividad.id }}"><i class="fas fa-plus-circle mr-2"></i>Agregar Evidencia</a>
{% endif %}
{% for evidencia in actividad.evidencias %}
{% if manager and estado < 100 %}
{% if loop.first %}
<div class="dropdown-divider"></div>
{% endif %}
<div class="dropdown-item d-flex justify-content-between">
<div class="flex-grow-1 mr-2 text-truncate"><a class="dropdown-item text-gray-900" href="{{ url_for('docs.get', filehash=evidencia.documentohash)}}">{{ evidencia.documento.nombre }}</a></div>
<button class="btn text-white btn-success btn-circle btn-sm" data-toggle="modal" data-target="#modalSubeEvidencia" data-tipo="evidencia" data-actividadid="{{ actividad.id }}" data-hash="{{ evidencia.documentohash }}" data-nombre="{{ evidencia.documento.nombre }}" data-desc="{{ evidencia.documento.descripcion }}" data-largo="{{ evidencia.documento.largo }}"><i class="fas fa-file-signature"></i></button>
</div>
{% else %}
<a class="dropdown-item text-gray-900 text-truncate" href="{{ url_for('docs.get', filehash=evidencia.documentohash)}}">{{ evidencia.documento.nombre }}</a>
{% endif %}
{% else %}
{% if manager and estado < 100 %}
<div class="dropdown-divider"></div>
{% endif %}
<button class="dropdown-item" type="button">Sin evidencias<i class="far fa-frown ml-2"></i></button>
{% endfor %}
</div>
</div>
</div>
{% endmacro %}
{% macro indicador_li(indicador, manager, estado) %}
{% if manager and estado < 100 %}
<div class="d-flex w-100 justify-content-between align-items-center">
<div class="flex-grow-1 mr-2">
{% else %}
{% endif %}
<div class="text-xs font-weight-bold text-primary text-uppercase">{{indicador.nombre}}</div>
<div class="d-flex w-100 justify-content-between align-items-center">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">{{indicador.valor}}/{{indicador.meta}}</div>
<div class="flex-grow-1 progress progress-sm">
<div class="progress-bar bg-secondary" role="progressbar" style="width: {{ indicador.previo }}%" aria-valuenow="{{indicador.valor}}" aria-valuemin="0" aria-valuemax="{{indicador.meta}}"></div>
<div class="progress-bar bg-success" role="progressbar" style="width: {{ indicador.avance }}%" aria-valuenow="{{indicador.valor}}" aria-valuemin="0" aria-valuemax="{{indicador.meta}}"></div>
</div>
</div>
{% if manager and estado < 100 %}
</div>
<a class="btn btn-circle btn-primary text-white" data-toggle="modal" data-target="#modalConfigIndicador" data-oid="{{ indicador.id }}" data-ini="{{ indicador.inicial }}" data-val="{{ indicador.valor }}" data-meta="{{ indicador.meta }}" data-nombre="{{ indicador.nombre }}" ><i class="fas fa-chart-line"></i></a>
</div>
{% endif %}
{% endmacro %}
{% macro directorio_li(nodo, label='Objetivo', single=False) %}
<div class="col-12">
<div class="card shadow h-100">
{% if (nodo.is_manager and nodo.estado==0) %}
<div class="card-header list-group-item-primary d-flex justify-content-between align-items-center">
<h4 class='flex-grow-1 align-items-center'><i class="mr-2 fas fa-{{nodo.padre.tipo}}"></i>{{nodo.nombre}}</h4>
<div class="dropdown no-arrow">
<button class="btn btn-primary btn-circle dropdown-toggle" type="button" id="dropdownAccion{{ nodo.id }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-cog"></i></button>
<div class="dropdown-menu" aria-labelledby="dropdownAccion{{ nodo.id }}" style="">
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigObjetivo{{ nodo.parentid }}" data-oid="{{ nodo.id }}" data-nombre="{{ nodo.nombre }}" data-rid="{{ nodo.responsableid }}" data-iid="{{ nodo.invitadosid }}" data-desc="{{ nodo.descripcion }}"><i class="mr-2 fas fa-cog"></i>Configurar {{label}}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigActividad" data-pid="{{ nodo.id }}"><i class="mr-2 fas fa-hdd"></i>Agregar Carpeta</a>
</div>
</div>
</div>
{% else %}
<div class="card-header list-group-item-primary">{{nodo.nombre}}</div>
{% endif %}
<!-- <div class="card-body">
<h5 class="card-title text-muted">Descripción</h5>
{%- autoescape false %}
<p class="card-text text-justify text-truncate">{{ nodo.descripcion | replace("\n", "<br/>") }}</p>
{% endautoescape -%}
</div>-->
{% for actividad in nodo.actividades %}
<div class="card-body px-2 py-2">
<div class="list-group">
{% if nodo.is_manager %}
<div class="list-group-item list-group-item-secondary d-flex w-100 justify-content-between align-items-center">
<div class="flex-grow-1 mr-2 align-items-center"><i class="mr-2 fas fa-hdd"></i>{{actividad.nombre}}</div>
<div class="">
<button class="btn btn-circle btn-success text-white mr-2" data-toggle="modal" data-target="#modalSubeEvidencia" data-aid="{{ actividad.id }}"><i class="fas fa-cloud-upload-alt"></i></button>
<button class="btn btn-circle btn-dark text-white" data-toggle="modal" data-target="#modalConfigActividad" data-oid="{{ actividad.id }}" data-nombre="{{ actividad.nombre }}"><i class="fas fa-cog"></i></button>
</div>
</div>
{% else %}
<div class="list-group-item list-group-item-secondary"><i class="mr-2 fas fa-hdd"></i>{{actividad.nombre}}</div>
{% endif %}
{% for evidencia in actividad.evidencias %}
<div class="list-group-item d-flex w-100 justify-content-between align-items-center">
{%- if nodo.is_manager -%}
<button class="btn btn-circle btn-dark text-white mr-2 align-items-center" data-toggle="modal" data-target="#modalSubeEvidencia" data-aid="{{ actividad.id }}" data-hash="{{ evidencia.documentohash }}" data-nombre="{{ evidencia.documento.nombre }}" data-desc="{{ evidencia.documento.descripcion }}" data-largo="{{ evidencia.documento.largo }}"><i class="fas fa-cog"></i></button>
{%- endif -%}
{% if evidencia.documento.tamano == 0 %}
<div class="flex-grow-1 mr-2 text-truncate align-items-center text-dark"><a class="btn btn-circle btn-primary mr-2 align-items-center " href="{{ url_for('docs.get', filehash=evidencia.documentohash)}}"><i class="fas fa-external-link-alt"></i></a>{{evidencia.documento.nombre}}</div>
{% else %}
<div class="flex-grow-1 mr-2 text-truncate align-items-center text-dark"><a class="btn btn-circle btn-primary mr-2" href="{{ url_for('docs.get', filehash=evidencia.documentohash)}}"><i class="fas fa-cloud-download-alt"></i></a>[<span class="text-monospace text-muted">{{evidencia.documento.humansize}}</span>] {{evidencia.documento.nombre}}</div>
{% endif %}
</div>
{% else %}
<div class="list-group-item text-center text-muted">Sin documentos.</div>
{% endfor %}
</div>
</div>
{% else %}
<div class="card-body px-4">
<p class="card-text text-center text-muted">Este {{label}} está vacio.</p>
</div>
{% endfor %}
</div>
</div>
{% endmacro %}
{% macro resumen_li(nodo, label='Objetivo', single=False) %}
<div class="{% if single %} col-12 {% else %} col-lg-6 col-md-12 {% endif %} mt-4">
<div class="card shadow h-100">
{% if nodo.is_manager %}
<div class="card-header list-group-item-primary d-flex justify-content-between align-items-center">
<h4 class='flex-grow-1 align-items-center text-truncate'>{{nodo.nombre}}</h4>
<div class="dropdown no-arrow">
<button class="btn btn-primary btn-circle dropdown-toggle" type="button" id="dropdownAccion{{ nodo.id }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-cog"></i></button>
<div class="dropdown-menu" aria-labelledby="dropdownAccion{{ nodo.id }}" style="">
{% if nodo.estado < 100 %}
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigObjetivo{{ nodo.parentid }}" data-oid="{{ nodo.id }}" data-nombre="{{ nodo.nombre }}" data-rid="{{ nodo.responsableid }}" data-iid="{{ nodo.invitadosid }}" data-desc="{{ nodo.descripcion }}">Configurar {{label}}</a>
{% endif %}
<a class="dropdown-item text-dark" href="{{ url_for('gestion.reporte', objetivoid=nodo.id) }}"><i class="mr-2 fas fa-file-download"></i>Descargar Reporte</a>
<!-- <div class="dropdown-divider"></div>
<a class="dropdown-item text-gray-900" data-toggle="modal" data-target="#modalConfigObjetivo{{ nodo.parentid }}" data-pid="{{ nodo.id }}" data-rid="{{ nodo.responsableid }}">Agregar {{label}}</a>-->
</div>
</div>
</div>
{% else %}
<div class="card-header list-group-item-primary">{{nodo.nombre}}</div>
{% endif %}
<div class="card-body">
<h5 class="card-title text-muted">Descripción</h5>
{%- autoescape false %}
<p class="card-text text-justify text-truncate">{{ nodo.descripcion | replace("\n", "<br/>") }}</p>
{% endautoescape -%}
</div>
<div class="card-body">
<h5 class="card-title text-muted">Comisión Responsable</h5>
<p class="card-text">{{ nodo.responsable.nombre }}</p>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6 col-md-12 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Actividades</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{nodo.sub_actividades}}</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-500"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-12 mb-4">
<div class="card border-left-secondary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Dedicación</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{nodo.sub_horas| round(1)}} <small class"text-muted">({{ nodo.sub_HDS }} HDS)</small></div>
</div>
<div class="col-auto">
<i class="fas fa-user-clock fa-2x text-gray-500"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="card border-left-dark shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Estado de Avance</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 text-gray-800">{{ nodo.sub_avance }}%</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar" style="width: {{ nodo.sub_avance }}%" aria-valuenow="{{ nodo.sub_avance }}" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-chart-line fa-2x text-gray-500"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
{% if nodo.estado < 100 %}
<div class="text-right"><a href="{{ url_for('gestion.show', objetivoid=nodo.id) }}" class="btn btn-lg btn-primary btn-icon-split"><span class="icon text-white-50"><i class="fas fa-{{ nodo.icon_class }}"></i></span><span class="py-2 mx-4">Ver {{ label }}</span></a></div>
{% else %}
<div class="text-right"><a href="{{ url_for('gestion.show', objetivoid=nodo.id) }}" class="btn btn-lg btn-secondary btn-icon-split"><span class="icon text-white-50"><i class="fas fa-{{ nodo.icon_class }}"></i></span><span class="py-2 mx-4">Ver {{ label }}</span></a></div>
{% endif %}
</div>
</div>
</div>
{% endmacro %}
{% macro show_css() %}
<link href="/static/jquery.timepicker.min.css" rel="stylesheet">
<link href="/static/bootstrap-datepicker3.standalone.min.css" rel="stylesheet">
<link href="/static/select2.min.css" rel="stylesheet">
{% endmacro %}
{% macro docu_js(redirect='', invitado=True) %}
<div class="modal fade" id="modalConfigActividad" tabindex="-1" aria-labelledby="modalConfigActividadLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.carpeta') }}">
<div class="modal-header">
<h5 class="modal-title" id="modalConfigIndicadorLabel">Nueva Carpeta</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalConfigActividadId" name="oid">
<input type="hidden" class="form-control" id="modalConfigActividadPid" name="pid">
<input type="hidden" class="form-control" id="modalConfigActividadDedicacion" name="dedicacion" value="0">
<input type="hidden" class="form-control" id="modalConfigActividadFecha" name="fecha" value="1/1/1980">
<!-- <input type="hidden" class="form-control" name="redirect" value="{{ tag }}">-->
<div class="form-group">
<label for="modalConfigActividadNombre" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" id="modalConfigActividadNombre" name="nombre">
</div>
<div class="form-group">
<label for="modalConfigActividadDescripcion">Descripción:</label>
<textarea class="form-control" id="modalConfigActividadDescripcion" rows="3" name="descripcion"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modalSubeEvidencia" tabindex="-1" aria-labelledby="modalSubeEvidenciaLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('docs.upload') }}" enctype="multipart/form-data">
<div class="modal-header">
<h5 class="modal-title" id="modalSubeEvidenciaLabel">Archivo!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalSubeEvidenciaHash" name="currenthash">
<input type="hidden" class="form-control" id="modalSubeEvidenciaActividad" name="actividadid">
<input type="hidden" class="form-control" name="redirect" value="{{ redirect }}">
<div class="form-group">
<label for="modalSubeEvidenciaNombre" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" disabled="disabled" id="modalSubeEvidenciaNombre" name="nombre">
</div>
<div class="form-group">
<label for="modalSubeEvidenciaDescripcion">Descripción:</label>
<textarea class="form-control" id="modalSubeEvidenciaDescripcion" rows="3" name="descripcion"></textarea>
</div>
<div id="modalSubeEvidenciaUrlDiv" class="form-group">
<label for="modalSubeEvidenciaUrl" class="col-form-label">Archivo o Url:</label>
<input type="text" class="form-control" id="modalSubeEvidenciaUrl" name="url">
</div>
<div class="form-group">
<label for="modalSubeEvidenciaArchivo">Seleccione el archivo</label>
<input type="file" id="modalSubeEvidenciaArchivo" name="documento">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<script>
$('#modalSubeEvidencia').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var aid = parseInt(button.data('aid')) || 0;
var largo = parseInt(button.data('largo')) || 0;
var hash = button.data('hash');
var nombre = button.data('nombre');
var desc = button.data('desc');
var modal = $(this);
if(hash > 0){
modal.find('.modal-title').text('Evidencia - ' + nombre);
}
else{
modal.find('.modal-title').text('Nueva evidencia');
}
if(largo>0){
$("#modalSubeEvidenciaUrlDiv").addClass("d-none");
}else{
$("#modalSubeEvidenciaUrlDiv").removeClass("d-none");
}
$("#modalSubeEvidenciaHash").val(hash);
$("#modalSubeEvidenciaActividad").val(aid);
$("#modalSubeEvidenciaNombre").val(nombre);
$("#modalSubeEvidenciaDescripcion").val(desc);
$('#modalSubeEvidenciaUrl').val('');
$('#modalSubeEvidenciaArchivo').val('');
});
$('#modalConfigActividad').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var oid = parseInt(button.data('oid')) || 0;
var pid = parseInt(button.data('pid')) || 0;
var dedicacion = parseInt(button.data('dedicacion')) || 0;
var d = new Date();
dia = d.getDate();
mes = d.getMonth()+1;
ano = d.getFullYear();
var fecha = dia+"/"+mes+"/"+ano;
var nombre = button.data('nombre');
var descipcion = button.data('descripcion');
var modal = $(this);
if(oid > 0){
modal.find('.modal-title').text('Configuración de ' + nombre);
$("#modalConfigActividadId").val(oid);
$("#modalConfigActividadPid").val(0);
$("#modalConfigActividadNombre").val(nombre);
$("#modalConfigActividadDedicacion").val(dedicacion);
$("#modalConfigActividadDescripcion").val(descipcion);
$('#modalConfigActividadFecha').val(fecha);
}
else if (pid > 0){
modal.find('.modal-title').text('Nueva carpeta');
$("#modalConfigActividadId").val(0);
$("#modalConfigActividadPid").val(pid);
$("#modalConfigActividadNombre").val(nombre);
$("#modalConfigActividadDedicacion").val(dedicacion);
$("#modalConfigActividadDescripcion").val(descipcion);
$('#modalConfigActividadFecha').val(fecha);
}
});
</script>
{% endmacro %}
{% macro base_js(nodo, redirect='', invitado=True) %}
<div class="modal fade" id="modalConfigIndicador" tabindex="-1" aria-labelledby="modalConfigIndicadorLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.indicador') }}">
<div class="modal-header">
<h5 class="modal-title text-primary text-truncate"><i class="mr-2 fas fa-chart-line"></i> <span id="modalConfigIndicadorLabel">Nuevo Indicador</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalConfigIndicadorId" name="oid">
<input type="hidden" class="form-control" id="modalConfigIndicadorPid" name="pid">
<!-- <input type="hidden" class="form-control" name="redirect" value="{{ tag }}">-->
<div class="form-group">
<label for="modalConfigIndicadorNombre" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" id="modalConfigIndicadorNombre" name="nombre">
</div>
<div class="form-group">
<label for="modalConfigIndicadorInicial" class="col-form-label">Valor Inicial:</label>
<input type="text" class="form-control" id="modalConfigIndicadorInicial" name="inicial">
</div>
<div class="form-group">
<label for="modalConfigIndicadorValor" class="col-form-label">Valor Actual:</label>
<input type="text" class="form-control" id="modalConfigIndicadorValor" name="valor">
</div>
<div class="form-group">
<label for="modalConfigIndicadorMeta" class="col-form-label">Meta:</label>
<input type="text" class="form-control" id="modalConfigIndicadorMeta" name="meta">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="confirmaEnvioModal" tabindex="-1" role="dialog" aria-labelledby="confirmaEnvioModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="confirmaEnvioModalLabel">Confirmación de Envío de Actas al Correo</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
Esto enviará una copia del acta a <u>su correo</u> o el correo de <u>todos los responsables, observadores e invitados</u>. ¿Desea continuar?
</div>
<div class="modal-footer no-wrap">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<a id='confirmaEnvioModalUrl1' href="#" class="btn btn-primary">Solo a Mi</a>
<a id='confirmaEnvioModalUrl2' href="#" class="btn btn-danger">Enviar a Todos</a>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalConfirmaReporteParcial" tabindex="-1" role="dialog" aria-labelledby="modalConfirmaReporteParcialLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.reporte') }}">
<div class="modal-header">
<h5 class="modal-title" id="modalConfirmaReporteParcialLabel"><i class="mr-2 fas fa-file-pdf"></i>Confirme el perido a incluir en el reporte</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<input type="hidden" class="form-control" id="modalConfirmaReporteParcialOid" name="oid">
<div class="modal-body">
<div class="row">
<div class="form-group col-md-6 col-12">
<label for="modalConfirmaReporteParcialFechaI" class="col-form-label">Fecha Inicio:</label>
<input type="text" class="form-control" id="modalConfirmaReporteParcialFechaI" name="fini" required>
</div>
<div class="form-group col-md-6 col-12">
<label for="modalConfirmaReporteParcialFechaF" class="col-form-label">Fecha Termino:</label>
<input type="text" class="form-control" id="modalConfirmaReporteParcialFechaF" name="fend" required>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="mr-2 fas fa-chevron-circle-left"></i>Cancelar</button>
<button type="submit" class="btn btn-primary"><i class="mr-2 fas fa-file-download"></i>Descargar</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modalConfigActividad" tabindex="-1" aria-labelledby="modalConfigActividadLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.actividad') }}">
<div class="modal-header">
<h5 class="modal-title text-primary text-truncate" ><i class="mr-2 fas fa-icons"></i> <span id="modalConfigActividadLabel">Nueva Actividad</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalConfigActividadId" name="oid">
<input type="hidden" class="form-control" id="modalConfigActividadPid" name="pid">
<!-- <input type="hidden" class="form-control" name="redirect" value="{{ tag }}">-->
<div class="form-group">
<label for="modalConfigActividadNombre" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" id="modalConfigActividadNombre" name="nombre">
</div>
<div class="form-group">
<label for="modalConfigActividadDedicacion" class="col-form-label">Dedicación de Tiempo (Horas):</label>
<div class="d-flex flex-row align-items-center justify-content-between">
<input type="text" class="form-control w-50" id="modalConfigActividadDedicacion" name="dedicacion">
<div id="modalConfigActividadHDS" class="w-25 ml-4">- HDS</div>
</div>
</div>
<div class="form-group">
<label for="modalConfigActividadFecha" class="col-form-label">Fecha:</label>
<input type="text" class="form-control" id="modalConfigActividadFecha" name="fecha">
</div>
<div class="form-group">
<label for="modalConfigActividadDescripcion">Descripción:</label>
<textarea class="form-control" id="modalConfigActividadDescripcion" rows="3" name="descripcion"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modalSubeEvidencia" tabindex="-1" aria-labelledby="modalSubeEvidenciaLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('docs.upload') }}" enctype="multipart/form-data">
<div class="modal-header">
<h5 class="modal-title" id="modalSubeEvidenciaLabel">Nuevo ciclo</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalSubeEvidenciaHash" name="currenthash">
<input type="hidden" class="form-control" id="modalSubeEvidenciaActividad" name="actividadid">
<input type="hidden" class="form-control" id="modalSubeEvidenciaActa" name="actaid">
<input type="hidden" class="form-control" name="redirect" value="{{ redirect }}">
<div class="form-group">
<label for="modalSubeEvidenciaNombre" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" disabled="disabled" id="modalSubeEvidenciaNombre" name="nombre">
</div>
<div class="form-group">
<label for="modalSubeEvidenciaDescripcion">Descripción:</label>
<textarea class="form-control" id="modalSubeEvidenciaDescripcion" rows="3" name="descripcion"></textarea>
</div>
<div id="modalSubeEvidenciaUrlDiv" class="form-group">
<label for="modalSubeEvidenciaUrl" class="col-form-label">Archivo o Url:</label>
<input type="text" class="form-control" id="modalSubeEvidenciaUrl" name="url">
</div>
<div class="form-group">
<label for="modalSubeEvidenciaArchivo">Seleccione el archivo</label>
<input type="file" id="modalSubeEvidenciaArchivo" name="documento">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modalConfigActa" tabindex="-1" aria-labelledby="modalConfigActaLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.acta') }}">
<div class="modal-header">
<h5 class="modal-title text-primary text-truncate"><i class="mr-2 fas fa-file-signature"></i> <span id="modalConfigActaLabel">Nueva Acta</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body"><div class="card" id="modalConfigActaBody">
<div class="card-header" id="modalConfigActaResumenAccordeon">
<h2 class="mb-0">
<button class="font-weight-bold text-dark btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseActaResumen" aria-expanded="true" aria-controls="collapseActaResumen">
<i class="mr-2 fas fa-address-book"></i> Resumen del Acta
</button>
</h2>
</div>
<div id="collapseActaResumen" class="collapse show" aria-labelledby="modalConfigActaResumen" data-parent="#modalConfigActaBody">
<div class="card-body">
<input type="hidden" class="form-control" id="modalConfigActaId" name="aid">
<input type="hidden" class="form-control" id="modalConfigActaPid" name="pid">
<div class="form-group">
<label for="modalConfigActaUbicacion" class="col-form-label">Ubicación:</label>
<input type="text" class="form-control" id="modalConfigActaLugar" name="lugar" required>
</div>
<div class="row">
<div class="form-group col-md-4 col-12">
<label for="modalConfigActaFecha" class="col-form-label">Fecha:</label>
<input type="text" class="form-control" id="modalConfigActaFecha" name="fecha" required>
</div>
<div class="form-group col-md-4 col-12">
<label for="modalConfigActaHini" class="col-form-label">Hora Inicio:</label>
<input type="text" class="form-control" id="modalConfigActaHini" name="hini" required>
</div>
<div class="form-group col-md-4 col-12">
<label for="modalConfigActaHfin" class="col-form-label">Hora Fin:</label>
<input type="text" class="form-control" id="modalConfigActaHfin" name="hfin" required>
</div>
</div>
<div class="form-group">
<label for="modalConfigActaAsistentes" class="col-form-label">Convocados:</label>
<select class="js-multiple form-control" multiple="multiple" id="modalConfigActaAsistentes" name="asistentes" required style="width: 100%">
{% for persona in nodo.miembros_habilitados %}
<option value="{{ persona.id }}">{{ persona.nombrecompleto }}</option>
{%- endfor %}
</select>
</div>
<div class="form-group">
<label for="modalConfigActaInvitados">Invitados:</label>
<textarea class="form-control" id="modalConfigActaInvitados" rows="3" name="invitados" placeholder='Una persona por línea. Correo y luego Nombre. Ej:
correo@dominio.cl Nombre Apellido
correo2@gob.cl Cargo del Invitado'></textarea>
</div>
</div>
</div>
<div class="card-header" id="modalConfigActaTemarioAccordeon">
<h2 class ="mb-0">
<button class="font-weight-bold text-dark btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseActaTemario" aria-expanded="false" aria-controls="collapseActaTemario">
<i class="mr-2 fas fa-list-ol"></i> Temario
</button>
</h2>
</div>
<div id="collapseActaTemario" class="collapse" aria-labelledby="modalConfigActaTemario" data-parent="#modalConfigActaBody">
<div class="card-body">
<div class="form-group">
<!-- <label for="modalConfigActaTemario">Temario:</label>-->
<textarea class="form-control" id="modalConfigActaTemario" rows="11" name="temario" placeholder='- Tema1
- Tema 2' required></textarea>
</div>
</div>
</div>
<div class="card-header" id="modalConfigActaDesarrolloAccordeon">
<h2 class="mb-0">
<button class="font-weight-bold text-dark btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseActaDesarrollo" aria-expanded="false" aria-controls="collapseActaDesarrollo">
<i class="mr-2 fas fa-align-justify"></i> Desarrollo (Opcional)
</button>
</h2>
</div>
<div id="collapseActaDesarrollo" class="collapse" aria-labelledby="modalConfigActaDesarrollo" data-parent="#modalConfigActaBody">
<div class="card-body">
<div class="form-group">
<!-- <label for="modalConfigActaDesarrollo">Desarrollo:</label>-->
<textarea class="form-control" id="modalConfigActaDesarrollo" rows="11" name="desarrollo" placeholder=''></textarea>
</div>
</div>
</div>
<div class="card-header" id="modalConfigActaAcuerdosAccordeon">
<h2 class="mb-0">
<button class="font-weight-bold text-dark btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseActaAcuerdos" aria-expanded="false" aria-controls="collapseActaAcuerdos">
<i class="mr-2 fas fa-pen-nib"></i> Acuerdos, Compromisos y Tareas
</button>
</h2>
</div>
<div id="collapseActaAcuerdos" class="collapse" aria-labelledby="modalConfigActaAcuerdos" data-parent="#modalConfigActaBody">
<div class="card-body">
<div class="form-group">
<!-- <label for="modalConfigActaAcuerdos">Acuerdos:</label>-->
<textarea class="form-control" id="modalConfigActaAcuerdos" rows="11" name="acuerdos" placeholder=''></textarea>
</div>
</div>
</div>
</div></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<script src="/static/utf8_decode.js"></script>
<script src="/static/jquery.timepicker.min.js"></script>
<script src="/static/bootstrap-datepicker.min.js"></script>
<script src="/static/bootstrap-datepicker.es.min.js" charset="UTF-8"></script>
<script src="/static/select2.min.js"></script>
<script>
$('#modalConfigActaFecha').datepicker({
format: "dd/mm/yyyy",
language: "es",
todayBtn: "linked",
autoclose: true,
daysOfWeekHighlighted: "0",
todayHighlight: true
});
$('#modalConfirmaReporteParcialFechaI').datepicker({
format: "dd/mm/yyyy",
language: "es",
todayBtn: "linked",
autoclose: true,
daysOfWeekHighlighted: "0",
todayHighlight: true
});
$('#modalConfirmaReporteParcialFechaF').datepicker({
format: "dd/mm/yyyy",
language: "es",
todayBtn: "linked",
autoclose: true,
daysOfWeekHighlighted: "0",
todayHighlight: true
});
$(document).ready(function(){
$('#modalConfigActaHini').timepicker({
timeFormat: 'H:mm',
interval: 15,
minTime: '7:30',
maxTime: '18:30',
defaultTime: '14:30',
startTime: '7:00',
dynamic: false,
dropdown: true,
scrollbar: true,
zindex: 9999999
});
$('#modalConfigActaHfin').timepicker({
timeFormat: 'H:mm',
interval: 15,
minTime: '9:00',
maxTime: '21:30',
defaultTime: '15:30',
startTime: '9:00',
dynamic: false,
dropdown: true,
scrollbar: true,
zindex: 9999999
});
$('#modalConfigActaAsistentes').select2();
});
$('#modalConfirmaReporteParcial').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var oid = button.data('oid') || 0;
if (oid > 0){
$("#modalConfirmaReporteParcialOid").val(oid);
}
});
$('#confirmaEnvioModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var url1 = button.data('href1');
var url2 = button.data('href2');
$("#confirmaEnvioModalUrl1").prop("href", url1);
$("#confirmaEnvioModalUrl2").prop("href", url2);
});
$('#modalSubeEvidencia').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var actaidid = parseInt(button.data('actaid')) || 0;
var actividadid = parseInt(button.data('actividadid')) || 0;
var largo = parseInt(button.data('largo')) || 0;
var hash = button.data('hash');
var nombre = button.data('nombre');
var desc = button.data('desc');
var tipo = button.data('tipo');
var modal = $(this);
if(hash > 0){
modal.find('.modal-title').text(tipo + ' - ' + nombre);
}
else{
modal.find('.modal-title').text('Nuevo'+tipo);
}
if(largo>0){
$("#modalSubeEvidenciaUrlDiv").addClass("d-none");
}
else{
$("#modalSubeEvidenciaUrlDiv").removeClass("d-none");
}
$("#modalSubeEvidenciaHash").val(hash);
$("#modalSubeEvidenciaActividad").val(actividadid);
$("#modalSubeEvidenciaActa").val(actaidid);
$("#modalSubeEvidenciaNombre").val(nombre);
$("#modalSubeEvidenciaDescripcion").val(desc);
$('#modalSubeEvidenciaUrl').val('');
$('#modalSubeEvidenciaArchivo').val('');
});
$('#modalConfigActividadFecha').datepicker({
format: "dd/mm/yyyy",
language: "es",
todayBtn: "linked",
autoclose: true,
daysOfWeekHighlighted: "0",
todayHighlight: true
});
function horasdedicacionsemanal(){
var data = $("#modalConfigActividadDedicacion").val();
var dedicacion = parseInt(data) || 0;
var HDS = Math.round(dedicacion / 0.26)/100.0;
var HDSTXT = `${HDS} HDS`;
$('#modalConfigActividadHDS').text(HDSTXT);
}
$('#modalConfigActividadDedicacion').keyup(horasdedicacionsemanal);
$('#modalConfigActa').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var aid = parseInt(button.data('aid')) || 0;
var secuencia = parseInt(button.data('secuencia')) || 0;
var pid = parseInt(button.data('pid')) || 0;
if(aid > 0){
$('#modalConfigActaLabel').text('Configuración del Acta '+ secuencia);
$("#modalConfigActaId").val(aid);
$("#modalConfigActaPid").val(pid);
var lugar = button.data('lugar');
var fecha = button.data('fecha');
var hini = button.data('hini');
var hfin = button.data('hfin');
var miembros = button.data('miembros');
var invitados = utf8_decode(window.atob(button.data('invitados')));
var temario = utf8_decode(window.atob(button.data('temas')));
var desarrollo = utf8_decode(window.atob(button.data('desarrollo')));
var acuerdos = utf8_decode(window.atob(button.data('acuerdos')));
$("#modalConfigActaLugar").val(lugar);
$('#modalConfigActaFecha').val(fecha).datepicker("update");
$("#modalConfigActaHini").val(hini);
$("#modalConfigActaHfin").val(hfin);
$('#modalConfigActaAsistentes').val(null).trigger('change');
$('#modalConfigActaAsistentes').val(miembros).trigger('change');
$('#modalConfigActaInvitados').val(invitados);
$('#modalConfigActaTemario').val(temario);
$('#modalConfigActaDesarrollo').val(desarrollo);
$('#modalConfigActaAcuerdos').val(acuerdos);
}
else if (pid > 0){
var todos = new Array(
{%- for persona in nodo.miembros_habilitados -%}
{{ persona.id }},
{%- endfor -%}
);
$('#modalConfigActaLabel').text('Nueva Acta');
$("#modalConfigActaId").val(0);
$("#modalConfigActaPid").val(pid)
;
$("#modalConfigActaLugar").val('');
$('#modalConfigActaFecha').val('').datepicker("update");
$("#modalConfigActaHini").val('');
$("#modalConfigActaHfin").val('');
$('#modalConfigActaAsistentes').val(todos).trigger('change');
$('#modalConfigActaInvitados').val('');
$('#modalConfigActaTemario').val('');
$('#modalConfigActaDesarrollo').val('');
$('#modalConfigActaAcuerdos').val('');
$('#modalConfigActaResumenAccordeon').collapse('show');
$('#modalConfigActaTemarioAccordeon').collapse('hide');
$('#modalConfigActaDesarrolloAccordeon').collapse('hide');
$('#modalConfigActaAcuerdosAccordeon').collapse('hide');
}
});
$('#modalConfigActividad').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var oid = parseInt(button.data('oid')) || 0;
var pid = parseInt(button.data('pid')) || 0;
var dedicacion = parseInt(button.data('dedicacion')) || 0;
var fecha = button.data('fecha');
var nombre = button.data('nombre');
var descipcion = button.data('descripcion');
if(oid > 0){
$('#modalConfigActividadLabel').text('Configuración de ' + nombre);
$("#modalConfigActividadId").val(oid);
$("#modalConfigActividadPid").val(0);
$("#modalConfigActividadNombre").val(nombre);
$("#modalConfigActividadDedicacion").val(dedicacion);
$("#modalConfigActividadDescripcion").val(descipcion);
$('#modalConfigActividadFecha').val(fecha).datepicker("update");
}
else if (pid > 0){
$('#modalConfigActividadLabel').text('Nueva Actividad');
$("#modalConfigActividadId").val(0);
$("#modalConfigActividadPid").val(pid);
$("#modalConfigActividadNombre").val(nombre);
$("#modalConfigActividadDedicacion").val(dedicacion);
$("#modalConfigActividadDescripcion").val(descipcion);
$('#modalConfigActividadFecha').val(fecha).datepicker("update");
}
horasdedicacionsemanal();
});
$('#modalConfigIndicador').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var oid = parseInt(button.data('oid')) || 0;
var pid = parseInt(button.data('pid')) || 0;
var ini = parseInt(button.data('ini')) || 0;
var val = parseInt(button.data('val')) || 0;
var meta = parseInt(button.data('meta')) || 100;
var nombre = button.data('nombre');
if(oid > 0){
$('#modalConfigIndicadorLabel').text('Configuración de ' + nombre);
$("#modalConfigIndicadorId").val(oid);
$("#modalConfigIndicadorPid").val(0);
}
else{
$('#modalConfigIndicadorLabel').text('Nuevo Indicador');
$("#modalConfigIndicadorId").val(0);
$("#modalConfigIndicadorPid").val(pid);
}
$("#modalConfigIndicadorNombre").val(nombre);
$('#modalConfigIndicadorInicial').val(ini);
$('#modalConfigIndicadorValor').val(val);
$('#modalConfigIndicadorMeta').val(meta);
});
</script>
{% endmacro %}
{% macro show_js(nodo, redirect='', invitado=True) %}
<div class="modal fade" id="modalConfigObjetivo{{ nodo.id }}" tabindex="-1" aria-labelledby="modalConfigObjetivoLabel{{ nodo.id }}" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ url_for('gestion.modificar') }}">
<div class="modal-header">
<h5 class="modal-title" id="modalConfigObjetivoLabel{{ nodo.id }}">Nuevo ciclo</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" class="form-control" id="modalConfigObjetivoId{{ nodo.id }}" name="oid">
<input type="hidden" class="form-control" id="modalConfigObjetivoPid{{ nodo.id }}" name="pid">
<input type="hidden" class="form-control" name="redirect" value="{{ redirect }}">
<div class="form-group">
<label for="modalConfigObjetivoNombre{{ nodo.id }}" class="col-form-label">Nombre:</label>
<input type="text" class="form-control" id="modalConfigObjetivoNombre{{ nodo.id }}" name="nombre">
</div>
<div class="form-group">
<label for="modalConfigObjetivoDescripcion{{ nodo.id }}">Descripción:</label>
<textarea class="form-control" id="modalConfigObjetivoDescripcion{{ nodo.id }}" rows="3" name="descripcion"></textarea>
</div>
<div class="form-group">
<label for="modalConfigObjetivoResponsable{{ nodo.id }}" class="col-form-label">Responsable:</label>
<select class="form-control" id="modalConfigObjetivoResponsable{{ nodo.id }}" name="responsable">
{% for grupo in nodo.comisiones_validas %}
<option value="{{ grupo.id }}">{{ grupo.nombre }}</option>
{%- endfor %}
</select>
</div>
{% if invitado == True %}
<div class="form-group">
<label for="modalConfigObjetivoInvitado{{ nodo.id }}" class="col-form-label">Invitado:</label>
<select class="form-control" id="modalConfigObjetivoInvitado{{ nodo.id }}" name="invitado">
<option value="0">Sin Comisión</option>
{% for grupo in nodo.comisiones_validas %}
<option value="{{ grupo.id }}">{{ grupo.nombre }}</option>
{%- endfor %}
</select>
</div>
{% endif %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>
</div>
</div>
</div>
<script>
$('#modalConfigObjetivo{{ nodo.id }}').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var oid = parseInt(button.data('oid')) || 0;
var pid = parseInt(button.data('pid')) || 0;
var rid = parseInt(button.data('rid')) || 0;
var iid = parseInt(button.data('iid')) || 0;
var nombre = button.data('nombre');
var desc = button.data('desc');
var modal = $(this);
if(oid > 0){
modal.find('.modal-title').text('Configuración de ' + nombre);
$("#modalConfigObjetivoId{{ nodo.id }}").val(oid);
$("#modalConfigObjetivoPid{{ nodo.id }}").val(0);
}
else{
modal.find('.modal-title').text('Nuevo Sub-objetivo');
$("#modalConfigObjetivoId{{ nodo.id }}").val(0);
$("#modalConfigObjetivoPid{{ nodo.id }}").val(pid);
}
$("#modalConfigObjetivoNombre{{ nodo.id }}").val(nombre);
$("#modalConfigObjetivoDescripcion{{ nodo.id }}").val(desc);
$('#modalConfigObjetivoResponsable{{ nodo.id }}').val(rid);
$('#modalConfigObjetivoInvitado{{ nodo.id }}').val(iid);
});
</script>
{% endmacro %}