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})
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()