def create(request): """ Alta de título. """ if request.method == 'POST': form = TituloForm(request.POST) if form.is_valid(): titulo = form.save(commit=False) titulo.estado = EstadoTitulo.objects.get(nombre=EstadoTitulo.VIGENTE) titulo.save() form.save_m2m() # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method titulo.registrar_estado() MailHelper.notify_by_email(MailHelper.TITULO_CREATE, titulo) request.set_flash('success', 'Datos guardados correctamente.') # redirigir a edit return HttpResponseRedirect(reverse('tituloEdit', args=[titulo.id])) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = TituloForm() return my_render(request, 'titulos/titulo/new.html', { 'form': form, 'is_new': True, })
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 create(request): """ Alta de establecimiento. """ if request.method == 'POST': form = EstablecimientoCreateForm(request.POST) if form.is_valid(): establecimiento = form.save() estado = EstadoEstablecimiento.objects.get(nombre=EstadoEstablecimiento.PENDIENTE) establecimiento.registrar_estado(estado) MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_CREATE, establecimiento) request.set_flash('success', 'Datos guardados correctamente.') return HttpResponseRedirect(reverse('establecimientoCompletarDatosBasicos', args=[establecimiento.id])) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = EstablecimientoCreateForm() if request.get_perfil().jurisdiccion() is not None: form.initial = {'codigo_jurisdiccion': request.get_perfil().jurisdiccion().prefijo, 'codigo_tipo_unidad_educativa': Establecimiento.CODIGO_TIPO_UNIDAD_EDUCATIVA, } form.fields['dependencia_funcional'].queryset = DependenciaFuncional.objects.filter(jurisdiccion=request.get_perfil().jurisdiccion()) return my_render(request, 'registro/establecimiento/new.html', { 'form': form, 'is_new': True, })
def edit(request, titulo_id): """ Edición de los datos de un título. """ titulo = Titulo.objects.get(pk=titulo_id) estado_actual_id = titulo.estado.id if request.method == 'POST': form = TituloForm(request.POST, instance=titulo, initial={'estado': estado_actual_id}) if form.is_valid(): titulo = form.save(commit=False) "Cambiar el estado?" if int(request.POST['estado']) is not estado_actual_id: titulo.estado = EstadoTitulo.objects.get(pk=request.POST['estado']) titulo.save() titulo.registrar_estado() else: # Guardar directamente titulo.save() form.save_m2m() # Guardo las relaciones - https://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#the-save-method MailHelper.notify_by_email(MailHelper.TITULO_UPDATE, titulo) request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = TituloForm(instance=titulo, initial={'estado': estado_actual_id}) return my_render(request, 'titulos/titulo/edit.html', { 'form': form, 'is_new': False, })
def create(request): """ Alta de anexo. """ if request.method == 'POST': form = AnexoCreateForm(request.POST) if form.is_valid(): anexo = form.save(commit=False) estado = EstadoAnexo.objects.get(nombre=EstadoAnexo.PENDIENTE) anexo.estado = estado anexo.fecha_alta = datetime.date.today() anexo.save() anexo.registrar_estado() MailHelper.notify_by_email(MailHelper.ANEXO_CREATE, anexo) request.set_flash('success', 'Datos guardados correctamente.') # redirigir al edit return HttpResponseRedirect(reverse('anexo')) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = AnexoCreateForm() form.fields["establecimiento"].queryset = Establecimiento.objects.filter(ambito__path__istartswith=request.get_perfil().ambito.path, estado__nombre=EstadoEstablecimiento.REGISTRADO) form.initial = {'codigo_jurisdiccion': '--', 'cue': '-----', } return my_render(request, 'registro/anexo/new.html', { 'form': form, 'is_new': True, })
def completar_funciones(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == "POST" and request.has_credencial("reg_establecimiento_completar"): form = EstablecimientoFuncionesForm(request.POST, instance=establecimiento) if form.is_valid(): funciones = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoFuncionesForm(instance=establecimiento) form.initial["verificado"] = establecimiento.get_verificacion_datos().funciones return my_render( request, "registro/establecimiento/completar_datos.html", { "form": form, "form_template": "registro/establecimiento/form_funciones.html", "establecimiento": establecimiento, "page_title": "Funciones", "actual_page": "funciones", "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(), "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(), }, )
def create(request): """ Alta de extensión áulica. """ if request.method == 'POST': form = ExtensionAulicaCreateForm(request.POST) if form.is_valid(): ext = form.save(commit=False) estado = EstadoExtensionAulica.objects.get(nombre=EstadoExtensionAulica.PENDIENTE) ext.estado = estado ext.fecha_alta = datetime.date.today() ext.save() ext.registrar_estado() MailHelper.notify_by_email(MailHelper.EXTENSION_AULICA_CREATE, ext) request.set_flash('success', 'Datos guardados correctamente.') # redirigir a edit return HttpResponseRedirect(reverse('extensionAulica')) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = ExtensionAulicaCreateForm() jurisdiccion = request.get_perfil().jurisdiccion() form.fields["establecimiento"].queryset = Establecimiento.objects.filter(ambito__path__istartswith=request.get_perfil().ambito.path) return my_render(request, 'registro/extension_aulica/new.html', { 'form': form, 'is_new': True, })
def modificar_cue(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == 'POST': form = EstablecimientoModificarCueForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.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 = EstablecimientoModificarCueForm(instance=establecimiento) parts = establecimiento.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/establecimiento/completar_datos.html', { 'form': form, 'form_template': 'registro/establecimiento/form_modificar_cue.html', 'establecimiento': establecimiento, 'page_title': 'Modificar CUE', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(), 'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados() })
def create(request): """ Alta de establecimiento. """ if request.method == "POST": form = EstablecimientoCreateForm(request.POST) if form.is_valid(): establecimiento = form.save() estado = EstadoEstablecimiento.objects.get(nombre=EstadoEstablecimiento.PENDIENTE) establecimiento.registrar_estado(estado) MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_CREATE, establecimiento) request.set_flash("success", "Datos guardados correctamente.") return HttpResponseRedirect(reverse("establecimientoCompletarDatosBasicos", args=[establecimiento.id])) else: request.set_flash("warning", "Ocurrió un error guardando los datos.") else: form = EstablecimientoCreateForm() if request.get_perfil().jurisdiccion() is not None: form.initial = { "codigo_jurisdiccion": request.get_perfil().jurisdiccion().prefijo, "codigo_tipo_unidad_educativa": Establecimiento.CODIGO_TIPO_UNIDAD_EDUCATIVA, } form.fields["dependencia_funcional"].queryset = DependenciaFuncional.objects.filter( jurisdiccion=request.get_perfil().jurisdiccion() ) return my_render(request, "registro/establecimiento/new.html", {"form": form, "is_new": True})
def completar_funciones(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == 'POST' and request.has_credencial('reg_establecimiento_completar'): form = EstablecimientoFuncionesForm(request.POST, instance=establecimiento) if form.is_valid(): funciones = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoFuncionesForm(instance=establecimiento) form.initial['verificado'] = establecimiento.get_verificacion_datos().funciones return my_render(request, 'registro/establecimiento/completar_datos.html', { 'form': form, 'form_template': 'registro/establecimiento/form_funciones.html', 'establecimiento': establecimiento, 'page_title': 'Funciones', 'actual_page': 'funciones', 'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(), 'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados() })
def completar_informacion_edilicia(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) try: informacion_edilicia = EstablecimientoInformacionEdilicia.objects.get(establecimiento=establecimiento) except: informacion_edilicia = EstablecimientoInformacionEdilicia() informacion_edilicia.establecimiento = establecimiento if request.method == "POST" and request.has_credencial("reg_establecimiento_completar"): form = EstablecimientoInformacionEdiliciaForm(request.POST, instance=informacion_edilicia) if form.is_valid(): informacion_edilicia = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoInformacionEdiliciaForm(instance=informacion_edilicia) es_dominio_compartido_id = TipoDominio.objects.get(descripcion=TipoDominio.TIPO_COMPARTIDO).id comparte_otro_nivel_id = TipoCompartido.objects.get(descripcion=TipoCompartido.TIPO_OTRA_INSTITUCION).id form.initial["verificado"] = establecimiento.get_verificacion_datos().info_edilicia return my_render( request, "registro/establecimiento/completar_datos.html", { "form": form, "form_template": "registro/establecimiento/form_informacion_edilicia.html", "establecimiento": establecimiento, "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": ConfiguracionSolapasEstablecimiento.get_instance(), "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(), }, )
def completar_datos_basicos(request, establecimiento_id): """ Edición de los datos básicos de un establecimiento. """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == "POST" and request.has_credencial("reg_establecimiento_completar"): form = EstablecimientoDatosBasicosForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.save() if __puede_verificar_datos(request): v = establecimiento.get_verificacion_datos() v.datos_basicos = 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 = EstablecimientoDatosBasicosForm(instance=establecimiento) parts = establecimiento.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"] form.initial["verificado"] = establecimiento.get_verificacion_datos().datos_basicos if request.get_perfil().jurisdiccion() is not None: form.fields["dependencia_funcional"].queryset = DependenciaFuncional.objects.filter( jurisdiccion=request.get_perfil().jurisdiccion() ) return my_render( request, "registro/establecimiento/completar_datos.html", { "form": form, "form_template": "registro/establecimiento/form_datos_basicos.html", "establecimiento": establecimiento, "page_title": "Datos básicos", "actual_page": "datos_basicos", "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(), "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(), }, )
def completar_contacto(request, establecimiento_id): """ Edición de los datos de contacto de un establecimiento. """ establecimiento = Establecimiento.objects.get(pk=establecimiento_id) if not __establecimiento_dentro_del_ambito(request, establecimiento): raise Exception("La sede no se encuentra en su ámbito.") if establecimiento.estado.nombre == EstadoEstablecimiento.PENDIENTE: if "reg_editar_establecimiento_pendiente" not in request.get_credenciales(): raise Exception("Usted no tiene permisos para editar los datos del establecimiento pendiente") if request.method == "POST": form = EstablecimientoContactoForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoContactoForm(instance=establecimiento) form.initial["verificado"] = establecimiento.get_verificacion_datos().contacto return my_render( request, "registro/establecimiento/completar_datos.html", { "form": form, "form_template": "registro/establecimiento/form_contacto.html", "establecimiento": establecimiento, "page_title": "Contacto", "actual_page": "contacto", "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(), "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(), }, )
def completar_informacion_edilicia(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) try: informacion_edilicia = EstablecimientoInformacionEdilicia.objects.get(establecimiento=establecimiento) except: informacion_edilicia = EstablecimientoInformacionEdilicia() informacion_edilicia.establecimiento = establecimiento if request.method == 'POST' and request.has_credencial('reg_establecimiento_completar'): form = EstablecimientoInformacionEdiliciaForm(request.POST, instance=informacion_edilicia) if form.is_valid(): informacion_edilicia = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoInformacionEdiliciaForm(instance=informacion_edilicia) es_dominio_compartido_id = TipoDominio.objects.get(descripcion=TipoDominio.TIPO_COMPARTIDO).id comparte_otro_nivel_id = TipoCompartido.objects.get(descripcion=TipoCompartido.TIPO_OTRA_INSTITUCION).id form.initial['verificado'] = establecimiento.get_verificacion_datos().info_edilicia return my_render(request, 'registro/establecimiento/completar_datos.html', { 'form': form, 'form_template': 'registro/establecimiento/form_informacion_edilicia.html', 'establecimiento': establecimiento, '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': ConfiguracionSolapasEstablecimiento.get_instance(), 'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados() })
def certificar_anexo(request, anio, anexo_id): if not anio in ANIOS_HABILITADOS: request.set_flash('warning', 'No es posible certificar la carga del año ' + str(anio) + '.') return HttpResponseRedirect(reverse('certificacionCargaIndex', args=[anio])) anexo = Anexo.objects.get(id=anexo_id, ambito__path__istartswith=request.get_perfil().ambito.path) if anexo.carga_certificada(anio): request.set_flash('warning', 'La carga del año ' + str(anio) + ' ya se encuentra certificada.') return HttpResponseRedirect(reverse('certificacionCargaIndex', args=[anio])) if request.method == 'POST': certificacion = anexo.certificar_carga(anio, request.get_perfil().usuario) request.set_flash('success', 'Carga del año ' + str(anio) + ' certificada correctamente.') MailHelper.notify_by_email(MailHelper.CERTIFICACION_CARGA_ANEXO, certificacion) return HttpResponseRedirect(reverse('certificacionCargaIndex', args=[anio])) return my_render(request, 'registro/certificacion_carga/certificar_anexo.html', { 'anio': anio, 'anexo': anexo, 'puede_certificar_carga': anexo.puede_certificar_carga(anio) })
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_datos_basicos(request, establecimiento_id): """ Edición de los datos básicos de un establecimiento. """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == 'POST' and request.has_credencial('reg_establecimiento_completar'): form = EstablecimientoDatosBasicosForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.save() if __puede_verificar_datos(request): v = establecimiento.get_verificacion_datos() v.datos_basicos = 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 = EstablecimientoDatosBasicosForm(instance=establecimiento) parts = establecimiento.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'] form.initial['verificado'] = establecimiento.get_verificacion_datos().datos_basicos if request.get_perfil().jurisdiccion() is not None: form.fields['dependencia_funcional'].queryset = DependenciaFuncional.objects.filter(jurisdiccion=request.get_perfil().jurisdiccion()) return my_render(request, 'registro/establecimiento/completar_datos.html', { 'form': form, 'form_template': 'registro/establecimiento/form_datos_basicos.html', 'establecimiento': establecimiento, 'page_title': 'Datos básicos', 'actual_page': 'datos_basicos', 'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(), 'datos_verificados': establecimiento.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 modificar_cue(request, establecimiento_id): """ CU 26 """ establecimiento = __get_establecimiento(request, establecimiento_id) if request.method == "POST": form = EstablecimientoModificarCueForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.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 = EstablecimientoModificarCueForm(instance=establecimiento) parts = establecimiento.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/establecimiento/completar_datos.html", { "form": form, "form_template": "registro/establecimiento/form_modificar_cue.html", "establecimiento": establecimiento, "page_title": "Modificar CUE", "actual_page": "datos_basicos", "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(), "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(), }, )
def numerar(request, solicitud_id): solicitud = Solicitud.objects.get(pk=solicitud_id) if len(solicitud.normativas_jurisdiccionales.all()) > 0: normativas_jurisdiccionales = ', '.join([n.numero_anio for n in solicitud.normativas_jurisdiccionales.all().order_by('numero_anio')]) else: normativas_jurisdiccionales = solicitud.normativa_jurisdiccional_migrada if not solicitud.is_numerable(): request.set_flash('warning', 'La solicitud no se puede numerar.') return HttpResponseRedirect(reverse('validezNacionalSolicitudIndex')) solicitud_establecimientos = solicitud.establecimientos.all() solicitud_anexos = solicitud.anexos.all() if request.method == 'POST': import time referencia = str(int(time.time())) solicitud.estado = EstadoSolicitud.objects.get(nombre=EstadoSolicitud.NUMERADO) solicitud.save() solicitud.registrar_estado() # solicitud-establecimientos for se in solicitud_establecimientos: v = ValidezNacional() v.tipo_unidad_educativa = 'Sede' v.unidad_educativa_id = se.establecimiento.id v.cue = se.establecimiento.cue v.solicitud_id = solicitud.id v.carrera = solicitud.carrera.nombre v.titulo_nacional = solicitud.titulo_nacional.nombre v.primera_cohorte = solicitud.primera_cohorte v.ultima_cohorte = solicitud.ultima_cohorte v.dictamen_cofev = solicitud.dictamen_cofev v.normativas_nacionales = solicitud.normativas_nacionales v.normativa_jurisdiccional = normativas_jurisdiccionales v.referencia = referencia v.save() # Necesito recuperar el ID en la siguiente línea v.nro_infd = v.calcular_nro_infd_establecimiento() v.save() MailHelper.notify_by_email(MailHelper.NUMERACION_SOLICITUD, v) # solicitud-anexos for sa in solicitud_anexos: v = ValidezNacional() v.tipo_unidad_educativa = 'Anexo' v.unidad_educativa_id = sa.anexo.id v.cue = sa.anexo.cue v.solicitud_id = solicitud.id v.carrera = solicitud.carrera.nombre v.titulo_nacional = solicitud.titulo_nacional.nombre v.primera_cohorte = solicitud.primera_cohorte v.ultima_cohorte = solicitud.ultima_cohorte v.dictamen_cofev = solicitud.dictamen_cofev v.normativas_nacionales = solicitud.normativas_nacionales v.normativa_jurisdiccional = normativas_jurisdiccionales v.referencia = referencia v.save() # Necesito recuperar el ID en la siguiente línea v.nro_infd = v.calcular_nro_infd_anexo() v.save() MailHelper.notify_by_email(MailHelper.NUMERACION_SOLICITUD, v) request.set_flash('success', 'Se ha generado la validez de títulos.') return HttpResponseRedirect(reverse('validezNacionalDetalleNumeracion', args=[solicitud.id, referencia])) return my_render(request, 'validez_nacional/solicitud/numerar.html', { 'solicitud': solicitud, 'solicitud_establecimientos': solicitud_establecimientos, 'solicitud_anexos': solicitud_anexos, 'normativas_jurisdiccionales': normativas_jurisdiccionales, })
def completar_contacto(request, establecimiento_id): """ Edición de los datos de contacto de un establecimiento. """ establecimiento = Establecimiento.objects.get(pk=establecimiento_id) if not __establecimiento_dentro_del_ambito(request, establecimiento): raise Exception('La sede no se encuentra en su ámbito.') if establecimiento.estado.nombre == EstadoEstablecimiento.PENDIENTE: if 'reg_editar_establecimiento_pendiente' not in request.get_credenciales(): raise Exception('Usted no tiene permisos para editar los datos del establecimiento pendiente') if request.method == 'POST': form = EstablecimientoContactoForm(request.POST, instance=establecimiento) if form.is_valid(): establecimiento = form.save() if __puede_verificar_datos(request): v = establecimiento.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 = EstablecimientoContactoForm(instance=establecimiento) form.initial['verificado'] = establecimiento.get_verificacion_datos().contacto """ Se unifica con autoridades """ from apps.registro.forms.EstablecimientoAutoridadFormFilters import EstablecimientoAutoridadFormFilters from apps.registro.views.establecimiento_autoridad import build_query as build_query_autoridades form_filter = EstablecimientoAutoridadFormFilters(establecimiento_id=establecimiento.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/establecimiento/completar_datos.html', { 'form': form, 'form_template': 'registro/establecimiento/form_contacto.html', 'establecimiento': establecimiento, 'page_title': 'Contacto', 'actual_page': 'contacto', 'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(), 'datos_verificados': establecimiento.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, })