def editar_proyecto(request,id_proyecto): ''' Vista para editar un proyecto,o su lider o los miembros de su comite ''' proyecto= Proyecto.objects.get(id=id_proyecto) nombre= proyecto.nombre if proyecto.estado!='PEN': return HttpResponseRedirect ('/denegado') if request.method == 'POST': # formulario enviado proyecto_form = ProyectoForm(request.POST, instance=proyecto) if proyecto_form.is_valid(): if proyecto_form.cleaned_data['fecha_ini']>proyecto_form.cleaned_data['fecha_fin']: messages.add_message(request, settings.DELETE_MESSAGE, "Fecha de inicio debe ser menor a la fecha de finalizacion") else: lider=proyecto_form.cleaned_data['lider'] roles = Group.objects.get(name='Lider') lider.groups.add(roles) # formulario validado correctamente proyecto_form.save() return HttpResponseRedirect('/proyectos/register/success/') else: # formulario inicial proyecto_form = ProyectoForm(instance=proyecto) return render_to_response('proyectos/editar_proyecto.html', { 'proyecto': proyecto_form, 'nombre':nombre}, context_instance=RequestContext(request))
def registrar_proyecto(request): ''' Vista para registrar un nuevo proyecto con su lider y miembros de su comite de cambios ''' if request.method=='POST': formulario = ProyectoForm(request.POST) if formulario.is_valid(): if formulario.cleaned_data['fecha_ini']>formulario.cleaned_data['fecha_fin']: messages.add_message(request, settings.DELETE_MESSAGE, "Fecha de inicio debe ser menor a la fecha de finalizacion") else: lider=formulario.cleaned_data['lider'] #asigna el rol lider al usuario seleccionado roles = Group.objects.get(name='Lider') lider.groups.add(roles) formulario.save() return HttpResponseRedirect('/proyectos/register/success') else: formulario = ProyectoForm() return render_to_response('proyectos/registrar_proyecto.html',{'formulario':formulario}, context_instance=RequestContext(request))
def importar_proyecto(request, id_proyecto): ''' Vista para importar un proyecto, dado en <id_proyecto> con su lider y miembros del comite ''' proyecto=get_object_or_404(Proyecto, id=id_proyecto) if request.method=='POST': formulario = ProyectoForm(request.POST, initial={'nombre':proyecto.nombre,'observaciones':proyecto.observaciones, 'descripcion':proyecto.descripcion, 'fecha_ini':proyecto.fecha_ini, 'fecha_fin':proyecto.fecha_fin} ) #verifica que la fecha de inicio sea menor a la de fin if formulario.is_valid(): if formulario.cleaned_data['fecha_ini']>formulario.cleaned_data['fecha_fin']: messages.add_message(request, settings.DELETE_MESSAGE, "Fecha de inicio debe ser menor a la fecha de finalizacion") else: lider=formulario.cleaned_data['lider'] roles = Group.objects.get(name='Lider') lider.groups.add(roles) formulario.save() return HttpResponseRedirect('/proyectos/register/success') else: formulario = ProyectoForm(initial={'nombre':proyecto.nombre,'observaciones':proyecto.observaciones, 'descripcion':proyecto.descripcion, 'fecha_ini':proyecto.fecha_ini, 'fecha_fin':proyecto.fecha_fin} ) return render_to_response('proyectos/registrar_proyecto.html',{'formulario':formulario}, context_instance=RequestContext(request))