def agregar_camino(request, flujo_id): flujo = get_object_or_404(Flujo, pk=flujo_id) if not flujo.unidad.permite(usuario=request.user, permiso=SolicitudPrivilegio.PRIVILEGIO_RESPONSABLE): messages.error(request, "Solo el responsable de la unidad puede modificar el flujo.") return HttpResponseRedirect(reverse("flujo_index")) if request.POST: form = AgregarCaminoForm(request.POST) if form.is_valid(): paso_origen = form.cleaned_data['paso_origen'] paso_destino= form.cleaned_data['paso_destino'] try: camino_igual= Criterio.objects.get(paso_origen=paso_origen, paso_destino=paso_destino) form = AgregarCaminoForm() messages.error(request, "Error:Este camino ya esta agregado") return HttpResponseRedirect("/flujos/modificar_camino/{0}/{1}/".format( flujo.id, camino_igual.id) ) except ObjectDoesNotExist: form.save() form = AgregarCaminoForm() messages.success(request, "Camino almacenado exitosamente") return HttpResponseRedirect("/flujos/consultar_flujo/{0}/".format(flujo.id) ) else: messages.error(request, "Error: Alguno de los datos del formulario es invalido") return render_to_response('flujos/agregar_camino.html', {'form':form, 'flujo_id':flujo_id}, context_instance=RequestContext(request)) else: form = AgregarCaminoForm() form.fields["paso_origen"].queryset = Paso.objects.filter(flujo=flujo_id) form.fields["paso_destino"].queryset = Paso.objects.filter(flujo=flujo_id) return render_to_response('flujos/agregar_camino.html', {'form':form, 'flujo_id':flujo_id}, context_instance=RequestContext(request))
def modificar_camino(request, flujo_id, criterio_id): flujo = get_object_or_404(Flujo, pk=flujo_id) if not flujo.unidad.permite(usuario=request.user, permiso=SolicitudPrivilegio.PRIVILEGIO_RESPONSABLE): messages.error(request, "Solo el responsable de la unidad puede modificar el flujo.") return HttpResponseRedirect(reverse("flujo_index")) if request.POST: criterio = Criterio.objects.get(id=criterio_id) form = AgregarCaminoForm(request.POST, instance=criterio) if form.is_valid(): camino = form.save() messages.success(request, "Camino actualizado exitosamente") return HttpResponseRedirect("/flujos/consultar_flujo/%s/" % camino.paso_origen.flujo.id) else: messages.error(request, "Error: Alguno de los datos del formulario es invalido") return render_to_response('flujos/modificar_camino.html', {'form':form, 'flujo_id':flujo_id, 'criterio_id':criterio_id}, context_instance=RequestContext(request)) else: criterio = Criterio.objects.get(id=criterio_id) form = AgregarCaminoForm(instance=criterio) form.fields["paso_origen"].queryset = Paso.objects.filter(flujo=flujo_id) form.fields["paso_destino"].queryset = Paso.objects.filter(flujo=flujo_id) return render_to_response('flujos/modificar_camino.html', {'form':form, 'flujo_id':flujo_id, 'criterio_id':criterio_id}, context_instance=RequestContext(request))