Beispiel #1
0
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,
    })
Beispiel #4
0
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,
    })
Beispiel #5
0
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)
    })
Beispiel #16
0
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()
    })
Beispiel #18
0
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(),
        },
    )
Beispiel #20
0
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,
    })