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, })