def nuevo_grupo(request):
    """
    Funcion que recibe un request y devuelve un response para crear un nuevo flujo
    @param request: django.http.HttpRequest.
    @return: render_to_response.
    """
    usuario = request.user
    if request.method == "POST":
        formulario = RolForm(request.POST)
        if formulario.is_valid:
            try:
                proyecto = Proyecto.objects.get(scrum_master=usuario)

                formulario.proyecto = proyecto
                rol = formulario.save()
                rol = get_object_or_404(Rol, pk=rol.id)
                rol.proyecto = proyecto
                rol.save()
                return HttpResponseRedirect("/../grupos")
            except:
                error = "Error al procesar la entidad"
                return render_to_response(
                    "crear_grupo.html",
                    {"formulario": formulario, "errors": error, "usuario": usuario},
                    context_instance=RequestContext(request),
                )
    else:
        formulario = RolForm()
    return render_to_response(
        "crear_grupo.html", {"formulario": formulario, "usuario": usuario}, context_instance=RequestContext(request)
    )
Exemple #2
0
def rolNuevo(request):
    """ Recibe un request, obtiene el formulario con los datos del rol a crear
    o la solicitud de envio de dicho formulario. Luego verifica los datos recibidos
    y registra el nuevo rol.  
    
    @type request: django.http.HttpRequest
    @param request: Contiene informacion sobre la solic. web actual que llamo a esta vista
    
    @rtype: django.http.HttpResponse
    @return: rolcreado.html, mensaje de exito
    
    @author: Francisco Velloso
    
    """
    if request.method == 'POST':
        form = RolForm(request.POST)
        if form.is_valid():
            form.clean()
            nombreRol = form.cleaned_data['Nombre_de_Rol']
            permisos = form.cleaned_data['Permisos']
            proyecto = form.cleaned_data['Proyecto']
            descripcion = form.cleaned_data['Descripcion']
            
            rol = Roles.objects.create(name = nombreRol)
            for permiso in permisos:
                rol.permissions.add(Permission.objects.get(codename=permiso))
            
            p = proyecto
            if proyecto:
                try:
                    p = Proyectos.objects.get(id=proyecto)
                except Roles.DoesNotExist:
                   p = ''
                 
            rol.proyecto = p
            rol.descripcion = descripcion
            rol.save()
                    
            template_name='./Roles/rolcreado.html'
            return render(request, template_name)
    else:
        form = RolForm()
        
    template_name='./Roles/rolnuevo.html'
    return render(request, template_name, {'form': form})