Esempio n. 1
0
def modificar_cue(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if request.method == 'POST':
        form = AnexoModificarCueForm(request.POST, instance=anexo)
        if form.is_valid():
            anexo = form.save()
           
            MailHelper.notify_by_email(MailHelper.ANEXO_UPDATE, anexo)
            request.set_flash('success', 'Datos actualizados correctamente.')
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = AnexoModificarCueForm(instance=anexo)

    parts = anexo.get_cue_parts()
    form.initial['codigo_jurisdiccion'] = parts['codigo_jurisdiccion']
    form.initial['cue'] = parts['cue']
    form.initial['codigo_tipo_unidad_educativa'] = parts['codigo_tipo_unidad_educativa']

    return my_render(request, 'registro/anexo/completar_datos.html', {
        'form': form,
        'form_template': 'registro/anexo/form_modificar_cue.html',
        'anexo': anexo,
        'page_title': 'Modificar CUE',
        'actual_page': 'datos_basicos',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 2
0
def completar_funciones(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    """
    CU 26
    """

    if request.method == 'POST' and request.has_credencial('reg_anexo_completar'):
        form = AnexoFuncionesForm(request.POST, instance=anexo)
        if form.is_valid():
            funciones = form.save()
            if __puede_verificar_datos(request):
                v = anexo.get_verificacion_datos()
                v.funciones = form.cleaned_data['verificado']
                v.save()
            #MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, establecimiento)
            request.set_flash('success', 'Datos actualizados correctamente.')
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = AnexoFuncionesForm(instance=anexo)
    form.initial['verificado'] = anexo.get_verificacion_datos().funciones
 
    return my_render(request, 'registro/anexo/completar_datos.html', {
        'form': form,
        'form_template': 'registro/anexo/form_funciones.html',
        'anexo': anexo,
        'page_title': 'Funciones',
        'actual_page': 'funciones',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 3
0
def index(request, anexo_id):
    
    anexo = __get_anexo(request, anexo_id)

    return HttpResponseRedirect(reverse('establecimientoCompletarContacto', args=[establecimiento.id]))
    
    """
    Búsqueda de anexos
    """
    if request.method == 'GET':
        form_filter = AnexoAutoridadFormFilters(request.GET, anexo_id=anexo.id)
    else:
        form_filter = AnexoFormFilters(anexo_id=anexo.id)

    q = build_query(form_filter, 1, request)
    paginator = Paginator(q, ITEMS_PER_PAGE)

    try:
        page_number = int(request.GET['page'])
    except (KeyError, ValueError):
        page_number = 1
    # chequear los límites
    if page_number < 1:
        page_number = 1
    elif page_number > paginator.num_pages:
        page_number = paginator.num_pages

    page = paginator.page(page_number)
    objects = page.object_list

    alta_habilitada = objects.count() == 0
		
    return my_render(request, 'registro/anexo/autoridades/index.html', {
        'form_filters': form_filter,
        'objects': objects,
        'paginator': paginator,
        'page': page,
        'page_number': page_number,
        'pages_range': range(1, paginator.num_pages + 1),
        'next_page': page_number + 1,
        'prev_page': page_number - 1,
        'anexo': anexo,
        'alta_habilitada': alta_habilitada,
        'verificado': anexo.get_verificacion_datos().autoridades,
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados(),
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'actual_page': 'contacto',
        'form_verificacion': VerificacionDatosAnexoForm(
			dato_verificacion='autoridades', 
			unidad_educativa_id=anexo.id, 
			return_url='anexoAutoridadesIndex', 
			verificado=anexo.get_verificacion_datos().autoridades),
    })
Esempio n. 4
0
def configurar_solapas_anexo(request):
  solapas_config = ConfiguracionSolapasAnexo.get_instance()
  if request.method == 'POST':
    form = ConfiguracionSolapasAnexoForm(request.POST, instance=solapas_config)
    if form.is_valid():
      form.save()
      request.set_flash('success', 'Datos guardados correctamente.')
    else:
      request.set_flash('warning', 'Ocurrió un error guardando los datos.')
  else:
      form = ConfiguracionSolapasAnexoForm(instance=solapas_config)
  
  return my_render(request, 'backend/solapas_anexo.html', {
      'form': form,
  })
Esempio n. 5
0
def ver_autoridades(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')
    verificado = anexo.get_verificacion_datos().autoridades
    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_autoridades.html',
        'verificado': verificado,
        'anexo': anexo,
        'autoridades': anexo.autoridades.all(),
        'page_title': 'Autoridades',
        'actual_page': 'autoridades',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 6
0
def ver_matricula(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')
    verificado = anexo.get_verificacion_datos().matricula

    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_matricula.html',
        'verificado': verificado,
        'anexo': anexo,
        'matricula': anexo.anexomatricula_set.all().order_by('anio'),
        'page_title': 'Matrícula',
        'actual_page': 'matricula',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 7
0
def ver_conexion_internet(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')
    verificado = anexo.get_verificacion_datos().conectividad

    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_conexion_internet.html',
        'verificado': verificado,
        'anexo': anexo,
        'conexion_internet': anexo.anexoconexioninternet_set.get(),
        'page_title': 'Conexión Internet',
        'actual_page': 'conexion_internet',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 8
0
def ver_informacion_edilicia(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')
    verificado = anexo.get_verificacion_datos().info_edilicia

    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_informacion_edilicia.html',
        'verificado': verificado,
        'anexo': anexo,
        'informacion_edilicia': anexo.anexoinformacionedilicia_set.get(),
        'page_title': 'Información Edilicia',
        'actual_page': 'informacion_edilicia',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 9
0
def ver_turnos(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')

    verificado = anexo.get_verificacion_datos().turnos
    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_turnos.html',
        'verificado': verificado,
        'anexo': anexo,
        'turnos': AnexoTurno.objects.filter(anexo=anexo).order_by('turno__nombre'),
        'page_title': 'Turnos',
        'actual_page': 'turnos',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 10
0
def ver_datos_basicos(request, anexo_id):
    """
    Visualización de los datos básicos de un anexo.
    """
    anexo = __get_anexo(request, anexo_id)      

    parts = anexo.get_cue_parts()
		
    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_datos_basicos.html',
        'anexo': anexo,
        'page_title': 'Datos básicos',
        'actual_page': 'datos_basicos',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 11
0
def ver_contacto(request, anexo_id):
    """
    Visualización de los datos de contacto de un anexo.
    """
    anexo = Anexo.objects.get(pk=anexo_id)

    if not __anexo_dentro_del_ambito(request, anexo):
        raise Exception('El anexo no se encuentra en su ámbito.')
		
    return my_render(request, 'registro/anexo/ver_datos.html', {
        'template': 'registro/anexo/ver_contacto.html',
        'anexo': anexo,
        'page_title': 'Contacto',
        'actual_page': 'contacto',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 12
0
def index(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    """
    Búsqueda de anexos
    """
    if request.method == 'GET':
        form_filter = AnexoDomicilioFormFilters(request.GET, anexo_id=anexo.id)
    else:
        form_filter = AnexoFormFilters(anexo_id=anexo.id)
    q = build_query(form_filter, 1, request)
    paginator = Paginator(q, ITEMS_PER_PAGE)

    try:
        page_number = int(request.GET['page'])
    except (KeyError, ValueError):
        page_number = 1
    # chequear los límites
    if page_number < 1:
        page_number = 1
    elif page_number > paginator.num_pages:
        page_number = paginator.num_pages

    page = paginator.page(page_number)
    objects = page.object_list
 		
    return my_render(request, 'registro/anexo/domicilios/index.html', {
        'anexo': anexo,
        'form_filters': form_filter,
        'objects': objects,
        'paginator': paginator,
        'page': page,
        'page_number': page_number,
        'pages_range': range(1, paginator.num_pages + 1),
        'next_page': page_number + 1,
        'prev_page': page_number - 1,
        'verificado': anexo.get_verificacion_datos().domicilios,
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados(),
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'actual_page': 'domicilios',
        'form_verificacion': VerificacionDatosAnexoForm(
			dato_verificacion='domicilios', 
			unidad_educativa_id=anexo.id, 
			return_url='anexoDomiciliosIndex', 
			verificado=anexo.get_verificacion_datos().domicilios),
    })
Esempio n. 13
0
def completar_informacion_edilicia(request, anexo_id):
    anexo = __get_anexo(request, anexo_id)
    """
    CU 26
    """

    try:
        informacion_edilicia = AnexoInformacionEdilicia.objects.get(anexo=anexo)
    except:
        informacion_edilicia = AnexoInformacionEdilicia()
        informacion_edilicia.anexo = anexo

    if request.method == 'POST' and request.has_credencial('reg_anexo_completar'):
        form = AnexoInformacionEdiliciaForm(request.POST, instance=informacion_edilicia)
        if form.is_valid():
            informacion_edilicia = form.save()
            if __puede_verificar_datos(request):
                v = anexo.get_verificacion_datos()
                v.info_edilicia = form.cleaned_data['verificado']
                v.save()
            MailHelper.notify_by_email(MailHelper.ESTABLECIMIENTO_UPDATE, anexo)
            request.set_flash('success', 'Datos actualizados correctamente.')
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = AnexoInformacionEdiliciaForm(instance=informacion_edilicia)

    es_dominio_compartido_id = TipoDominio.objects.get(descripcion='Compartido').id
    comparte_otro_nivel_id = TipoCompartido.objects.get(descripcion=TipoCompartido.TIPO_OTRA_INSTITUCION).id
    form.initial['verificado'] = anexo.get_verificacion_datos().info_edilicia
    
    return my_render(request, 'registro/anexo/completar_datos.html', {
        'form': form,
        'form_template': 'registro/anexo/form_informacion_edilicia.html',
        'anexo': anexo,
        'es_dominio_compartido_id': es_dominio_compartido_id,
        'comparte_otro_nivel_id': comparte_otro_nivel_id,
        'page_title': 'Información edilicia',
        'actual_page': 'informacion_edilicia',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados()
    })
Esempio n. 14
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()
    })
Esempio n. 15
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()
    })
Esempio n. 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
    
    """
    
    Se unifica con autoridades
    
    """    
    from apps.registro.forms.AnexoAutoridadFormFilters import AnexoAutoridadFormFilters
    from apps.registro.views.anexo_autoridad import build_query as build_query_autoridades

    form_filter = AnexoAutoridadFormFilters(anexo_id=anexo.id)

    q = build_query_autoridades(form_filter, 1, request)
    paginator = Paginator(q, ITEMS_PER_PAGE)

    try:
        page_number = int(request.GET['page'])
    except (KeyError, ValueError):
        page_number = 1
    # chequear los límites
    if page_number < 1:
        page_number = 1
    elif page_number > paginator.num_pages:
        page_number = paginator.num_pages

    page = paginator.page(page_number)
    objects = page.object_list
    alta_habilitada = objects.count() == 0
    
    return my_render(request, 'registro/anexo/completar_datos.html', {
        'form': form,
        'form_template': 'registro/anexo/form_contacto.html',
        'anexo': anexo,
        'page_title': 'Contacto',
        'actual_page': 'contacto',
        'configuracion_solapas': ConfiguracionSolapasAnexo.get_instance(),
        'datos_verificados': anexo.get_verificacion_datos().get_datos_verificados(),
        'objects': objects,
        'paginator': paginator,
        'page': page,
        'page_number': page_number,
        'pages_range': range(1, paginator.num_pages + 1),
        'next_page': page_number + 1,
        'prev_page': page_number - 1,
        'alta_habilitada': alta_habilitada,
    })