예제 #1
0
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(),
        },
    )
예제 #2
0
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()
    })
예제 #3
0
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()
    })
예제 #4
0
def completar_datos(request):
    """
    CU 26

    XXX: Por ahora no usamos esta vista, pero puede que más adelante la necesitemos
    para mostrar info del establecimiento
    """
    establecimiento = __get_establecimiento(request, establecimiento_id)
    return my_render(request, 'registro/establecimiento/completar_datos.html', {
        'establecimiento': establecimiento,
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance()
    })
def index(request, establecimiento_id):
    
    establecimiento = __get_establecimiento(request, establecimiento_id)

    return HttpResponseRedirect(reverse('establecimientoCompletarContacto', args=[establecimiento.id]))
    """
    Búsqueda de establecimientos
    """
    if request.method == 'GET':
        form_filter = EstablecimientoAutoridadFormFilters(request.GET, establecimiento_id=establecimiento.id)
    else:
        form_filter = EstablecimientoAutoridadFormFilters(establecimiento_id=establecimiento.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/establecimiento/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,
        'establecimiento': establecimiento,
        'alta_habilitada': alta_habilitada,
        'verificado': establecimiento.get_verificacion_datos().autoridades,
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados(),
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'actual_page': 'contacto',
        'form_verificacion': VerificacionDatosEstablecimientoForm(
			dato_verificacion='autoridades', 
			unidad_educativa_id=establecimiento.id, 
			return_url='establecimientoAutoridadesIndex', 
			verificado=establecimiento.get_verificacion_datos().autoridades),
    })
def matricula(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    """
    Búsqueda de establecimientos
    """
    if request.method == "GET":
        form_filter = EstablecimientoMatriculaFormFilters(request.GET, establecimiento_id=establecimiento.id)
    else:
        form_filter = EstablecimientoMatriculaFormFilters(establecimiento_id=establecimiento.id)
    q = build_query_matricula(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/establecimiento/matricula/matricula.html",
        {
            "establecimiento": establecimiento,
            "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": establecimiento.get_verificacion_datos().matricula,
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "actual_page": "matricula",
            "form_verificacion": VerificacionDatosEstablecimientoForm(
                dato_verificacion="matricula",
                unidad_educativa_id=establecimiento.id,
                return_url="establecimientoMatriculaIndexEstablecimiento",
                verificado=establecimiento.get_verificacion_datos().matricula,
            ),
        },
    )
예제 #7
0
def configurar_solapas_establecimiento(request):
  solapas_config = ConfiguracionSolapasEstablecimiento.get_instance()
  if request.method == 'POST':
    form = ConfiguracionSolapasEstablecimientoForm(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 = ConfiguracionSolapasEstablecimientoForm(instance=solapas_config)
  
  return my_render(request, 'backend/solapas_establecimiento.html', {
      'form': form,
  })
예제 #8
0
def ver_autoridades(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception('La sede no se encuentra en su ámbito.')
    verificado = establecimiento.get_verificacion_datos().autoridades
    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_autoridades.html',
        'verificado': verificado,
        'establecimiento': establecimiento,
        'autoridades': establecimiento.autoridades.all(),
        'page_title': 'Autoridades',
        'actual_page': 'autoridades',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados()
    })
예제 #9
0
def ver_matricula(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception('La sede no se encuentra en su ámbito.')
    verificado = establecimiento.get_verificacion_datos().matricula

    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_matricula.html',
        'verificado': verificado,
        'establecimiento': establecimiento,
        'matricula': establecimiento.establecimientomatricula_set.all().order_by('anio'),
        'page_title': 'Matrícula',
        'actual_page': 'matricula',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados()
    })
예제 #10
0
def ver_conexion_internet(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception('La sede no se encuentra en su ámbito.')
    verificado = establecimiento.get_verificacion_datos().conectividad

    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_conexion_internet.html',
        'verificado': verificado,
        'establecimiento': establecimiento,
        'conexion_internet': establecimiento.establecimientoconexioninternet_set.get(),
        'page_title': 'Conexión Internet',
        'actual_page': 'conexion_internet',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados()
    })
예제 #11
0
def ver_informacion_edilicia(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception('La sede no se encuentra en su ámbito.')
    verificado = establecimiento.get_verificacion_datos().info_edilicia

    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_informacion_edilicia.html',
        'verificado': verificado,
        'establecimiento': establecimiento,
        'informacion_edilicia': establecimiento.establecimientoinformacionedilicia_set.get(),
        'page_title': 'Información Edilicia',
        'actual_page': 'informacion_edilicia',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados()
    })
예제 #12
0
def ver_turnos(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception('La sede no se encuentra en su ámbito.')

    verificado = establecimiento.get_verificacion_datos().turnos
    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_turnos.html',
        'verificado': verificado,
        'establecimiento': establecimiento,
        'turnos': EstablecimientoTurno.objects.filter(establecimiento=establecimiento).order_by('turno__nombre'),
        'page_title': 'Turnos',
        'actual_page': 'turnos',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados()
    })
예제 #13
0
def ver_datos_basicos(request, establecimiento_id):
    """
    Visualización de los datos básicos de un establecimiento.
    """
    establecimiento = __get_establecimiento(request, establecimiento_id)      

    parts = establecimiento.get_cue_parts()
		
    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_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()
    })
예제 #14
0
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 index(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    """
    Búsqueda de establecimientos
    """
    if request.method == 'GET':
        form_filter = EstablecimientoDomicilioFormFilters(request.GET, establecimiento_id=establecimiento.id)
    else:
        form_filter = EstablecimientoDomicilioFormFilters(establecimiento_id=establecimiento.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/establecimiento/domicilios/index.html', {
        'establecimiento': establecimiento,
        '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': establecimiento.get_verificacion_datos().domicilios,
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados(),
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'actual_page': 'domicilios',
        'form_verificacion': VerificacionDatosEstablecimientoForm(
			dato_verificacion='domicilios', 
			unidad_educativa_id=establecimiento.id, 
			return_url='establecimientoDomiciliosIndex', 
			verificado=establecimiento.get_verificacion_datos().domicilios),
    })
예제 #16
0
def ver_contacto(request, establecimiento_id):
    """
    Visualizació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.')
		
    return my_render(request, 'registro/establecimiento/ver_datos.html', {
        'template': 'registro/establecimiento/ver_contacto.html',
        'establecimiento': establecimiento,
        'page_title': 'Contacto',
        'actual_page': 'contacto',
        'configuracion_solapas': ConfiguracionSolapasEstablecimiento.get_instance(),
        'datos_verificados': establecimiento.get_verificacion_datos().get_datos_verificados(),
        'autoridades': establecimiento.autoridades.all(),
    })
예제 #17
0
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(),
        },
    )
예제 #18
0
def ver_autoridades(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception("La sede no se encuentra en su ámbito.")
    verificado = establecimiento.get_verificacion_datos().autoridades
    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_autoridades.html",
            "verificado": verificado,
            "establecimiento": establecimiento,
            "autoridades": establecimiento.autoridades.all(),
            "page_title": "Autoridades",
            "actual_page": "autoridades",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #19
0
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()
    })
예제 #20
0
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(),
        },
    )
예제 #21
0
def ver_matricula(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception("La sede no se encuentra en su ámbito.")
    verificado = establecimiento.get_verificacion_datos().matricula

    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_matricula.html",
            "verificado": verificado,
            "establecimiento": establecimiento,
            "matricula": establecimiento.establecimientomatricula_set.all().order_by("anio"),
            "page_title": "Matrícula",
            "actual_page": "matricula",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #22
0
def ver_conexion_internet(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception("La sede no se encuentra en su ámbito.")
    verificado = establecimiento.get_verificacion_datos().conectividad

    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_conexion_internet.html",
            "verificado": verificado,
            "establecimiento": establecimiento,
            "conexion_internet": establecimiento.establecimientoconexioninternet_set.get(),
            "page_title": "Conexión Internet",
            "actual_page": "conexion_internet",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #23
0
def ver_informacion_edilicia(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception("La sede no se encuentra en su ámbito.")
    verificado = establecimiento.get_verificacion_datos().info_edilicia

    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_informacion_edilicia.html",
            "verificado": verificado,
            "establecimiento": establecimiento,
            "informacion_edilicia": establecimiento.establecimientoinformacionedilicia_set.get(),
            "page_title": "Información Edilicia",
            "actual_page": "informacion_edilicia",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #24
0
def ver_turnos(request, establecimiento_id):
    establecimiento = __get_establecimiento(request, establecimiento_id)
    if not __establecimiento_dentro_del_ambito(request, establecimiento):
        raise Exception("La sede no se encuentra en su ámbito.")

    verificado = establecimiento.get_verificacion_datos().turnos
    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_turnos.html",
            "verificado": verificado,
            "establecimiento": establecimiento,
            "turnos": EstablecimientoTurno.objects.filter(establecimiento=establecimiento).order_by("turno__nombre"),
            "page_title": "Turnos",
            "actual_page": "turnos",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #25
0
def ver_datos_basicos(request, establecimiento_id):
    """
    Visualización de los datos básicos de un establecimiento.
    """
    establecimiento = __get_establecimiento(request, establecimiento_id)

    parts = establecimiento.get_cue_parts()

    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_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(),
        },
    )
예제 #26
0
def ver_contacto(request, establecimiento_id):
    """
    Visualizació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.")

    return my_render(
        request,
        "registro/establecimiento/ver_datos.html",
        {
            "template": "registro/establecimiento/ver_contacto.html",
            "establecimiento": establecimiento,
            "page_title": "Contacto",
            "actual_page": "contacto",
            "configuracion_solapas": ConfiguracionSolapasEstablecimiento.get_instance(),
            "datos_verificados": establecimiento.get_verificacion_datos().get_datos_verificados(),
        },
    )
예제 #27
0
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()
    })
예제 #28
0
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(),
        },
    )
예제 #29
0
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,
    })