Exemplo n.º 1
0
def create(request):
    """
    Alta de usuario.
    """
    if request.method == "POST":
        form = UsuarioCreateForm(request.POST)
        if form.is_valid():
            usuario = form.save(commit=False)
            usuario.set_password(form.cleaned_data["password"])
            usuario.is_active = True
            usuario.save()
            perfil = Perfil()
            perfil.usuario = usuario
            perfil.rol = form.cleaned_data["rol"]
            perfil.ambito = form.cleaned_data["ambito"]
            perfil.fecha_asignacion = datetime.now()
            perfil.save()
            request.set_flash("success", "Datos guardados correctamente.")
            # redirigir a edit
            return HttpResponseRedirect(reverse("usuarioEdit", args=[usuario.id]))
        else:
            request.set_flash("warning", "Ocurrió un error guardando los datos.")
    else:
        init = {"tipo_documento": TipoDocumento.objects.get(abreviatura="DNI").id}
        form = UsuarioCreateForm(initial=init)
    form.fields["rol"].queryset = request.get_perfil().rol.roles_asignables.all()

    return my_render(request, "seguridad/usuario/new.html", {"form": form})
Exemplo n.º 2
0
 def asignarPerfil(self, rol, ambito, fechaAsignacion):
     """ Asigna al usuario un perfil """
     from apps.seguridad.models import Rol, Ambito, Perfil
     perfil = Perfil(usuario=self, rol=rol, ambito=ambito, fecha_asignacion=fechaAsignacion)
     perfil.save()