def edit(request, normativa_jurisdiccional_id):
    " Edición de los datos de una normativa jurisdiccional "
    normativa_jurisdiccional = NormativaPostituloJurisdiccional.objects.get(pk = normativa_jurisdiccional_id)

    estado_actual = normativa_jurisdiccional.estado
    if estado_actual is None:
        estado_actual_id = None
    else:
        estado_actual_id = estado_actual.id

    if request.method == 'POST':
        form = NormativaPostituloJurisdiccionalForm(request.POST, instance = normativa_jurisdiccional, initial = {'estado': estado_actual_id})
        if form.is_valid():
            normativa_jurisdiccional = form.save()

            "Cambiar el estado?"
            if int(request.POST['estado']) is not estado_actual_id:
                normativa_jurisdiccional.registrar_estado()

            request.set_flash('success', 'Datos actualizados correctamente.')
            return HttpResponseRedirect(reverse('normativaPostituloJurisdiccionalEdit', args = [normativa_jurisdiccional_id]))
        else:
            request.set_flash('warning', 'Ocurrió un error actualizando los datos.')
    else:
        form = NormativaPostituloJurisdiccionalForm(instance = normativa_jurisdiccional, initial = {'estado': estado_actual_id})

        form.fields['estado'].empty_label = None
    return my_render(request, 'postitulos/normativa_jurisdiccional/edit.html', {
        'form': form,
        'is_new': False,
    })
def create(request):
    " Crear nueva normativa "

    if request.method == 'POST':
        form = NormativaPostituloJurisdiccionalForm(request.POST)
        if form.is_valid():
            normativa_jurisdiccional = form.save(commit = False)
            normativa_jurisdiccional.jurisdiccion = request.get_perfil().jurisdiccion()
            normativa_jurisdiccional.save()

            normativa_jurisdiccional.registrar_estado()

            request.set_flash('success', 'Datos guardados correctamente.')

            # redirigir a edit
            return HttpResponseRedirect(reverse('normativaPostituloJurisdiccionalEdit', args = [normativa_jurisdiccional.id]))
        else:
            request.set_flash('warning', 'Ocurrió un error guardando los datos.')
    else:
        form = NormativaPostituloJurisdiccionalForm()

    return my_render(request, 'postitulos/normativa_jurisdiccional/new.html', {
        'form': form,
        'is_new': True,
    })