def modificar_cue(request, anexo_id): anexo = __get_anexo(request, anexo_id) if request.method == 'POST': form = AnexoModificarCueForm(request.POST, instance=anexo) if form.is_valid(): anexo = form.save() MailHelper.notify_by_email(MailHelper.ANEXO_UPDATE, anexo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = AnexoModificarCueForm(instance=anexo) parts = anexo.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/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_modificar_cue.html', 'anexo': anexo, 'page_title': 'Modificar CUE', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def completar_funciones(request, anexo_id): anexo = __get_anexo(request, anexo_id) """ CU 26 """ if request.method == 'POST' and request.has_credencial('reg_anexo_completar'): form = AnexoFuncionesForm(request.POST, instance=anexo) if form.is_valid(): funciones = form.save() if __puede_verificar_datos(request): v = anexo.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 = AnexoFuncionesForm(instance=anexo) form.initial['verificado'] = anexo.get_verificacion_datos().funciones return my_render(request, 'registro/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_funciones.html', 'anexo': anexo, 'page_title': 'Funciones', 'actual_page': 'funciones', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def index(request, anexo_id): anexo = __get_anexo(request, anexo_id) return HttpResponseRedirect(reverse('establecimientoCompletarContacto', args=[establecimiento.id])) """ Búsqueda de anexos """ if request.method == 'GET': form_filter = AnexoAutoridadFormFilters(request.GET, anexo_id=anexo.id) else: form_filter = AnexoFormFilters(anexo_id=anexo.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/anexo/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, 'anexo': anexo, 'alta_habilitada': alta_habilitada, 'verificado': anexo.get_verificacion_datos().autoridades, 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados(), 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'actual_page': 'contacto', 'form_verificacion': VerificacionDatosAnexoForm( dato_verificacion='autoridades', unidad_educativa_id=anexo.id, return_url='anexoAutoridadesIndex', verificado=anexo.get_verificacion_datos().autoridades), })
def configurar_solapas_anexo(request): solapas_config = ConfiguracionSolapasAnexo.get_instance() if request.method == 'POST': form = ConfiguracionSolapasAnexoForm(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 = ConfiguracionSolapasAnexoForm(instance=solapas_config) return my_render(request, 'backend/solapas_anexo.html', { 'form': form, })
def ver_autoridades(request, anexo_id): anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') verificado = anexo.get_verificacion_datos().autoridades return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_autoridades.html', 'verificado': verificado, 'anexo': anexo, 'autoridades': anexo.autoridades.all(), 'page_title': 'Autoridades', 'actual_page': 'autoridades', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_matricula(request, anexo_id): anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') verificado = anexo.get_verificacion_datos().matricula return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_matricula.html', 'verificado': verificado, 'anexo': anexo, 'matricula': anexo.anexomatricula_set.all().order_by('anio'), 'page_title': 'Matrícula', 'actual_page': 'matricula', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_conexion_internet(request, anexo_id): anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') verificado = anexo.get_verificacion_datos().conectividad return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_conexion_internet.html', 'verificado': verificado, 'anexo': anexo, 'conexion_internet': anexo.anexoconexioninternet_set.get(), 'page_title': 'Conexión Internet', 'actual_page': 'conexion_internet', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_informacion_edilicia(request, anexo_id): anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') verificado = anexo.get_verificacion_datos().info_edilicia return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_informacion_edilicia.html', 'verificado': verificado, 'anexo': anexo, 'informacion_edilicia': anexo.anexoinformacionedilicia_set.get(), 'page_title': 'Información Edilicia', 'actual_page': 'informacion_edilicia', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_turnos(request, anexo_id): anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') verificado = anexo.get_verificacion_datos().turnos return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_turnos.html', 'verificado': verificado, 'anexo': anexo, 'turnos': AnexoTurno.objects.filter(anexo=anexo).order_by('turno__nombre'), 'page_title': 'Turnos', 'actual_page': 'turnos', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_datos_basicos(request, anexo_id): """ Visualización de los datos básicos de un anexo. """ anexo = __get_anexo(request, anexo_id) parts = anexo.get_cue_parts() return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_datos_basicos.html', 'anexo': anexo, 'page_title': 'Datos básicos', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def ver_contacto(request, anexo_id): """ Visualización de los datos de contacto de un anexo. """ anexo = Anexo.objects.get(pk=anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') return my_render(request, 'registro/anexo/ver_datos.html', { 'template': 'registro/anexo/ver_contacto.html', 'anexo': anexo, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def index(request, anexo_id): anexo = __get_anexo(request, anexo_id) """ Búsqueda de anexos """ if request.method == 'GET': form_filter = AnexoDomicilioFormFilters(request.GET, anexo_id=anexo.id) else: form_filter = AnexoFormFilters(anexo_id=anexo.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 return my_render(request, 'registro/anexo/domicilios/index.html', { 'anexo': anexo, '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, 'verificado': anexo.get_verificacion_datos().domicilios, 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados(), 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'actual_page': 'domicilios', 'form_verificacion': VerificacionDatosAnexoForm( dato_verificacion='domicilios', unidad_educativa_id=anexo.id, return_url='anexoDomiciliosIndex', verificado=anexo.get_verificacion_datos().domicilios), })
def completar_informacion_edilicia(request, anexo_id): anexo = __get_anexo(request, anexo_id) """ CU 26 """ try: informacion_edilicia = AnexoInformacionEdilicia.objects.get(anexo=anexo) except: informacion_edilicia = AnexoInformacionEdilicia() informacion_edilicia.anexo = anexo if request.method == 'POST' and request.has_credencial('reg_anexo_completar'): form = AnexoInformacionEdiliciaForm(request.POST, instance=informacion_edilicia) if form.is_valid(): informacion_edilicia = form.save() if __puede_verificar_datos(request): v = anexo.get_verificacion_datos() v.info_edilicia = form.cleaned_data['verificado'] v.save() MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, anexo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = AnexoInformacionEdiliciaForm(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'] = anexo.get_verificacion_datos().info_edilicia return my_render(request, 'registro/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_informacion_edilicia.html', 'anexo': anexo, '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': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def completar_contacto(request, anexo_id): """ Edición de los datos de contacto de un anexo. """ anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') if anexo.estado.nombre == EstadoAnexo.PENDIENTE: if 'reg_editar_anexo_pendiente' not in request.get_credenciales(): raise Exception('Usted no tiene permisos para editar los datos del anexo pendiente') if request.method == 'POST' and request.has_credencial('reg_anexo_completar'): form = AnexoContactoForm(request.POST, instance=anexo) if form.is_valid(): anexo = form.save() if __puede_verificar_datos(request): v = anexo.get_verificacion_datos() v.contacto = form.cleaned_data['verificado'] v.save() MailHelper.notify_by_email(MailHelper.ANEXO_UPDATE, anexo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = AnexoContactoForm(instance=anexo) form.initial['verificado'] = anexo.get_verificacion_datos().contacto return my_render(request, 'registro/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_contacto.html', 'anexo': anexo, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def completar_conexion_internet(request, anexo_id): anexo = __get_anexo(request, anexo_id) """ CU 26 """ try: conexion = AnexoConexionInternet.objects.get(anexo=anexo) except: conexion = AnexoConexionInternet() conexion.anexo = anexo if request.method == 'POST' and request.has_credencial('reg_anexo_completar'): form = AnexoConexionInternetForm(request.POST, instance=conexion) if form.is_valid(): conexion = form.save() if __puede_verificar_datos(request): v = anexo.get_verificacion_datos() v.conectividad = form.cleaned_data['verificado'] v.save() MailHelper.notify_by_email(MailHelper.ANEXO_UPDATE, anexo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = AnexoConexionInternetForm(instance=conexion) form.initial['verificado'] = anexo.get_verificacion_datos().conectividad return my_render(request, 'registro/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_conexion_internet.html', 'anexo': anexo, 'page_title': 'Conectividad', 'actual_page': 'conexion_internet', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados() })
def completar_contacto(request, anexo_id): """ Edición de los datos de contacto de un anexo. """ anexo = __get_anexo(request, anexo_id) if not __anexo_dentro_del_ambito(request, anexo): raise Exception('El anexo no se encuentra en su ámbito.') if anexo.estado.nombre == EstadoAnexo.PENDIENTE: if 'reg_editar_anexo_pendiente' not in request.get_credenciales(): raise Exception('Usted no tiene permisos para editar los datos del anexo pendiente') if request.method == 'POST' and request.has_credencial('reg_anexo_completar'): form = AnexoContactoForm(request.POST, instance=anexo) if form.is_valid(): anexo = form.save() if __puede_verificar_datos(request): v = anexo.get_verificacion_datos() v.contacto = form.cleaned_data['verificado'] v.save() MailHelper.notify_by_email(MailHelper.ANEXO_UPDATE, anexo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = AnexoContactoForm(instance=anexo) form.initial['verificado'] = anexo.get_verificacion_datos().contacto """ Se unifica con autoridades """ from apps.registro.forms.AnexoAutoridadFormFilters import AnexoAutoridadFormFilters from apps.registro.views.anexo_autoridad import build_query as build_query_autoridades form_filter = AnexoAutoridadFormFilters(anexo_id=anexo.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/anexo/completar_datos.html', { 'form': form, 'form_template': 'registro/anexo/form_contacto.html', 'anexo': anexo, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(), 'datos_verificados': anexo.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, })