def modificar_cue(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if request.method == 'POST': form = ExtensionAulicaModificarCueForm(request.POST, instance=extension_aulica) if form.is_valid(): extension_aulica = form.save() MailHelper.notify_by_email(MailHelper.EXTENSION_AULICA_UPDATE, extension_aulica) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaModificarCueForm(instance=extension_aulica) parts = extension_aulica.get_cue_parts() form.initial['codigo_jurisdiccion'] = parts['codigo_jurisdiccion'] form.initial['cue'] = parts['cue'] form.initial['codigo_tipo_unidad_educativa'] = parts['codigo_tipo_unidad_educativa'] return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_modificar_cue.html', 'extension_aulica': extension_aulica, 'page_title': 'Modificar CUE', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def completar_datos_basicos(request, extension_aulica_id): """ Edición de los datos de una extensión áulica. """ ext = __get_extension_aulica(request, extension_aulica_id) if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaDatosBasicosForm(request.POST, instance=ext) if form.is_valid(): ext = form.save() if __puede_verificar_datos(request): v = ext.get_verificacion_datos() v.datos_basicos = form.cleaned_data['verificado'] v.save() request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaDatosBasicosForm(instance=ext) form.initial['verificado'] = ext.get_verificacion_datos().datos_basicos return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_datos_basicos.html', 'extension_aulica': ext, 'page_title': 'Datos básicos', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': ext.get_verificacion_datos().get_datos_verificados() })
def completar_funciones(request, extension_aulica_id): ext = __get_extension_aulica(request, extension_aulica_id) if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaFuncionesForm(request.POST, instance=ext) if form.is_valid(): funciones = form.save() if __puede_verificar_datos(request): v = ext.get_verificacion_datos() v.funciones = form.cleaned_data['verificado'] v.save() #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaFuncionesForm(instance=ext) form.initial['verificado'] = ext.get_verificacion_datos().funciones return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_funciones.html', 'extension_aulica': ext, 'page_title': 'Funciones', 'actual_page': 'funciones', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': ext.get_verificacion_datos().get_datos_verificados() })
def completar_contacto(request, extension_aulica_id): ext = ExtensionAulica.objects.get(pk=extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, ext): raise Exception('La extensión áulica no se encuentra en su ámbito.') if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaContactoForm(request.POST, instance=ext) if form.is_valid(): ext = form.save() if __puede_verificar_datos(request): v = ext.get_verificacion_datos() v.contacto = form.cleaned_data['verificado'] v.save() #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaContactoForm(instance=ext) form.initial['verificado'] = ext.get_verificacion_datos().contacto return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_contacto.html', 'extension_aulica': ext, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': ext.get_verificacion_datos().get_datos_verificados() })
def index(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) """ Búsqueda de extensiones """ if request.method == 'GET': form_filter = ExtensionAulicaAutoridadFormFilters(request.GET, extension_aulica_id=extension_aulica.id) else: form_filter = ExtensionAulicaFormFilters(extension_aulica_id=extension_aulica.id) q = build_query(form_filter, 1, request) paginator = Paginator(q, ITEMS_PER_PAGE) try: page_number = int(request.GET['page']) except (KeyError, ValueError): page_number = 1 # chequear los límites if page_number < 1: page_number = 1 elif page_number > paginator.num_pages: page_number = paginator.num_pages page = paginator.page(page_number) objects = page.object_list alta_habilitada = objects.count() == 0 return my_render(request, 'registro/extension_aulica/autoridades/index.html', { 'form_filters': form_filter, 'objects': objects, 'paginator': paginator, 'page': page, 'page_number': page_number, 'pages_range': range(1, paginator.num_pages + 1), 'next_page': page_number + 1, 'prev_page': page_number - 1, 'extension_aulica': extension_aulica, 'alta_habilitada': alta_habilitada, 'verificado': extension_aulica.get_verificacion_datos().autoridades, 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados(), 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'actual_page': 'autoridades', 'form_verificacion': VerificacionDatosExtensionAulicaForm( dato_verificacion='autoridades', unidad_educativa_id=extension_aulica.id, return_url='extensionAulicaAutoridadesIndex', verificado=extension_aulica.get_verificacion_datos().autoridades), })
def ver_autoridades(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') verificado = extension_aulica.get_verificacion_datos().autoridades return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_autoridades.html', 'verificado': verificado, 'extension_aulica': extension_aulica, 'autoridades': extension_aulica.autoridades.all(), 'page_title': 'Autoridades', 'actual_page': 'autoridades', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def configurar_solapas_extension_aulica(request): solapas_config = ConfiguracionSolapasExtensionAulica.get_instance() if request.method == 'POST': form = ConfiguracionSolapasExtensionAulicaForm(request.POST, instance=solapas_config) if form.is_valid(): form.save() request.set_flash('success', 'Datos guardados correctamente.') else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = ConfiguracionSolapasExtensionAulicaForm(instance=solapas_config) return my_render(request, 'backend/solapas_extension_aulica.html', { 'form': form, })
def ver_matricula(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') verificado = extension_aulica.get_verificacion_datos().matricula return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_matricula.html', 'verificado': verificado, 'extension_aulica': extension_aulica, 'matricula': extension_aulica.extensionaulicamatricula_set.all().order_by('anio'), 'page_title': 'Matrícula', 'actual_page': 'matricula', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def ver_conexion_internet(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') verificado = extension_aulica.get_verificacion_datos().conectividad return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_conexion_internet.html', 'verificado': verificado, 'extension_aulica': extension_aulica, 'conexion_internet': extension_aulica.extensionaulicaconexioninternet_set.get(), 'page_title': 'Conexión Internet', 'actual_page': 'conexion_internet', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def ver_informacion_edilicia(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') verificado = extension_aulica.get_verificacion_datos().info_edilicia return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_informacion_edilicia.html', 'verificado': verificado, 'extension_aulica': extension_aulica, 'informacion_edilicia': extension_aulica.extensionaulicainformacionedilicia_set.get(), 'page_title': 'Información Edilicia', 'actual_page': 'informacion_edilicia', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def ver_turnos(request, extension_aulica_id): extension_aulica = __get_extension_aulica(request, extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') verificado = extension_aulica.get_verificacion_datos().turnos return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_turnos.html', 'verificado': verificado, 'extension_aulica': extension_aulica, 'turnos': ExtensionAulicaTurno.objects.filter(extension_aulica=extension_aulica).order_by('turno__nombre'), 'page_title': 'Turnos', 'actual_page': 'turnos', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def ver_contacto(request, extension_aulica_id): """ Visualización de los datos de contacto de un extension_aulica. """ extension_aulica = ExtensionAulica.objects.get(pk=extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, extension_aulica): raise Exception('La extensión áulica no se encuentra en su ámbito.') return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_contacto.html', 'extension_aulica': extension_aulica, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def completar_informacion_edilicia(request, extension_aulica_id): """ CU 26 """ extension_aulica = __get_extension_aulica(request, extension_aulica_id) try: informacion_edilicia = ExtensionAulicaInformacionEdilicia.objects.get(extension_aulica=extension_aulica) except: informacion_edilicia = ExtensionAulicaInformacionEdilicia() informacion_edilicia.extension_aulica = extension_aulica if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaInformacionEdiliciaForm(request.POST, instance=informacion_edilicia) if form.is_valid(): informacion_edilicia = form.save() if __puede_verificar_datos(request): v = extension_aulica.get_verificacion_datos() v.info_edilicia = form.cleaned_data['verificado'] v.save() #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaInformacionEdiliciaForm(instance=informacion_edilicia) es_dominio_compartido_id = TipoDominio.objects.get(descripcion='Compartido').id comparte_otro_nivel_id = TipoCompartido.objects.get(descripcion=TipoCompartido.TIPO_OTRA_INSTITUCION).id form.initial['verificado'] = extension_aulica.get_verificacion_datos().info_edilicia if not extension_aulica.get_verificacion_datos().completo(): request.set_flash('warning', 'Las solapas cuyos datos todavía no han sido verificados se verán en color rojo. Por favor, verifique los datos.') return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_informacion_edilicia.html', 'extension_aulica': extension_aulica, 'es_dominio_compartido_id': es_dominio_compartido_id, 'comparte_otro_nivel_id': comparte_otro_nivel_id, 'page_title': 'Información edilicia', 'actual_page': 'informacion_edilicia', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def ver_datos_basicos(request, extension_aulica_id): """ Visualización de los datos básicos de un extension_aulica. """ extension_aulica = __get_extension_aulica(request, extension_aulica_id) try: codigo = Establecimiento.get_parts_from_cue(extension_aulica.cue)['codigo_tipo_unidad_educativa'] except TypeError: codigo = '' return my_render(request, 'registro/extension_aulica/ver_datos.html', { 'template': 'registro/extension_aulica/ver_datos_basicos.html', 'codigo': codigo, 'extension_aulica': extension_aulica, 'page_title': 'Datos básicos', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def completar_conexion_internet(request, extension_aulica_id): """ CU 26 """ extension_aulica = __get_extension_aulica(request, extension_aulica_id) try: conexion = ExtensionAulicaConexionInternet.objects.get(extension_aulica=extension_aulica) except: conexion = ExtensionAulicaConexionInternet() conexion.extension_aulica = extension_aulica if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaConexionInternetForm(request.POST, instance=conexion) if form.is_valid(): conexion = form.save() if __puede_verificar_datos(request): v = extension_aulica.get_verificacion_datos() v.conectividad = form.cleaned_data['verificado'] v.save() #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaConexionInternetForm(instance=conexion) form.initial['verificado'] = extension_aulica.get_verificacion_datos().conectividad return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_conexion_internet.html', 'extension_aulica': extension_aulica, 'page_title': 'Conectividad', 'actual_page': 'conexion_internet', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': extension_aulica.get_verificacion_datos().get_datos_verificados() })
def completar_contacto(request, extension_aulica_id): ext = ExtensionAulica.objects.get(pk=extension_aulica_id) if not __extension_aulica_dentro_del_ambito(request, ext): raise Exception('La extensión áulica no se encuentra en su ámbito.') if request.method == 'POST' and request.has_credencial('reg_extension_aulica_modificar'): form = ExtensionAulicaContactoForm(request.POST, instance=ext) if form.is_valid(): ext = form.save() if __puede_verificar_datos(request): v = ext.get_verificacion_datos() v.contacto = form.cleaned_data['verificado'] v.save() #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = ExtensionAulicaContactoForm(instance=ext) form.initial['verificado'] = ext.get_verificacion_datos().contacto """ Se unifica con autoridades """ from apps.registro.forms.ExtensionAulicaAutoridadFormFilters import ExtensionAulicaAutoridadFormFilters from apps.registro.views.extension_aulica_autoridad import build_query as build_query_autoridades form_filter = ExtensionAulicaAutoridadFormFilters(extension_aulica_id=ext.id) q = build_query_autoridades(form_filter, 1, request) paginator = Paginator(q, ITEMS_PER_PAGE) try: page_number = int(request.GET['page']) except (KeyError, ValueError): page_number = 1 # chequear los límites if page_number < 1: page_number = 1 elif page_number > paginator.num_pages: page_number = paginator.num_pages page = paginator.page(page_number) objects = page.object_list alta_habilitada = objects.count() == 0 return my_render(request, 'registro/extension_aulica/completar_datos.html', { 'form': form, 'form_template': 'registro/extension_aulica/form_contacto.html', 'extension_aulica': ext, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasExtensionAulica.get_instance(), 'datos_verificados': ext.get_verificacion_datos().get_datos_verificados(), 'objects': objects, 'paginator': paginator, 'page': page, 'page_number': page_number, 'pages_range': range(1, paginator.num_pages + 1), 'next_page': page_number + 1, 'prev_page': page_number - 1, 'alta_habilitada': alta_habilitada, })