def create(request): try: jurisdiccion_id = jurisdiccion_id=request.get_perfil().jurisdiccion().id except AttributeError: jurisdiccion_id = None if request.method == 'POST': form = SolicitudDatosBasicosForm(request.POST, jurisdiccion_id=jurisdiccion_id) if form.is_valid(): solicitud = form.save(commit=False) solicitud.estado = EstadoSolicitud.objects.get(nombre=EstadoSolicitud.PENDIENTE) solicitud.jurisdiccion = request.get_perfil().jurisdiccion() solicitud.save() solicitud.registrar_estado() request.set_flash('success', 'Datos guardados correctamente.') return HttpResponseRedirect(reverse('postituloSolicitudEdit', args=[solicitud.id])) else: request.set_flash('warning', 'Ocurrió un error guardando los datos.') else: form = SolicitudDatosBasicosForm(jurisdiccion_id=jurisdiccion_id) # Agrego el filtro por jurisdicción return my_render(request, 'postitulos/solicitud/new.html', { 'form': form, 'form_template': 'postitulos/solicitud/form_datos_basicos.html', 'is_new': True, 'page_title': 'Postítulo', 'current_page': 'datos_basicos', })
def edit(request, solicitud_id): """ Edición de los datos de un título jurisdiccional. """ solicitud = Solicitud.objects.get(pk=solicitud_id) if not __puede_editarse_solicitud(request, solicitud): request.set_flash('warning', 'No puede editarse la solicitud.') return HttpResponseRedirect(reverse('postituloSolicitudIndex')) estado_id = solicitud.estado_id if request.method == 'POST': form = SolicitudDatosBasicosForm(request.POST, instance=solicitud, jurisdiccion_id=solicitud.jurisdiccion_id) if form.is_valid(): sol = form.save(commit=False) sol.id = solicitud.id sol.jurisdiccion_id = solicitud.jurisdiccion_id sol.estado_id = solicitud.estado_id form.save() request.set_flash('success', 'Datos actualizados correctamente.') else: request.set_flash('warning', 'Ocurrió un error actualizando los datos.') else: form = SolicitudDatosBasicosForm(instance=solicitud, jurisdiccion_id=solicitud.jurisdiccion_id) return my_render(request, 'postitulos/solicitud/edit.html', { 'form': form, 'solicitud': solicitud, 'form_template': 'postitulos/solicitud/form_datos_basicos.html', 'is_new': False, 'page_title': 'Postítulo', 'current_page': 'datos_basicos', })