Ejemplo n.º 1
0
def create(request, anexo_id):
    
    anexo = __get_anexo(request, anexo_id)
    """
    Alta de autoridad.
    """

    if request.method == 'POST':
        form = AnexoAutoridadForm(request.POST)
        if form.is_valid():
            autoridad = form.save(commit=False)
            autoridad.anexo_id = anexo.id
            autoridad.save()

            request.set_flash('success', 'Datos guardados correctamente.')
            return HttpResponseRedirect(reverse('anexoAutoridadEdit', args=[autoridad.id]))
        else:
            request.set_flash('warning', 'Ocurrió un error guardando los datos.')
    else:
        form = AnexoAutoridadForm()

    # Chequear si se puede dar de alta
    # XXX: sólo se puede dar de alta un registro por ahora
    alta_habilitada = AnexoAutoridad.objects.filter(anexo__id = anexo.id).count() == 0    
    if not alta_habilitada:  # no debería estar en esta pantalla
        request.set_flash('warning', 'No puede dar de alta más de una autoridad.')
        return HttpResponseRedirect(reverse('anexoCompletarContacto', args=[anexo.id]))
        #return HttpResponseRedirect(reverse('anexoAutoridadesIndex', args=[anexo.id]))
    
    return my_render(request, 'registro/anexo/autoridades/new.html', {
        'form': form,
        'anexo': anexo,
    })
Ejemplo n.º 2
0
def edit(request, autoridad_id):
    """
    Edición de los datos de una autoridad.
    """    
    autoridad = AnexoAutoridad.objects.get(pk=autoridad_id)
    anexo = __get_anexo(request, autoridad.anexo_id)

    if request.method == 'POST':
        form = AnexoAutoridadForm(request.POST, instance=autoridad)
        if form.is_valid():
            autoridad = form.save()

            request.set_flash('success', 'Datos actualizados correctamente.')
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = AnexoAutoridadForm(instance=autoridad)

    return my_render(request, 'registro/anexo/autoridades/edit.html', {
        'form': form,
        'autoridad': autoridad,
        'anexo': anexo,
    })