def crearUsuario_view(request): """crea un usuario en el sistema y envia un correo de confirmacion al usuario""" if request.method == 'POST': f = UsuarioForm(request.POST) if f.is_valid(): new_author = f.save(commit=False) subject = 'Bienvenido al Sistema de Reserva de Recursos' message = 'Su usuario ha sido confirmado.\nAhora puede logearse y empezar a utilizar el sistema.\n\nSaludos.\n\nEl equipo de desarrollo' from_email = settings.EMAIL_HOST to_list = [new_author.email] send_mail(subject, message, from_email, to_list, fail_silently=False) new_author.password = make_password(new_author.password) new_author.save() f._save_m2m() nuevaprioridad = 0 #guardar permisos de los roles en el usuario for unRol in new_author.rol.all(): nombrederol = unRol.nombre nombredeusuario = new_author.username #deberia estar afuera del for, verificar objetorol = rol.objects.get(nombre=nombrederol) objetousuario = usuario.objects.get_by_natural_key( nombredeusuario) #deberia estar afuera del for, verificar for objetopermiso in objetorol.permisos.all(): objetousuario.user_permissions.add(objetopermiso) #guardar la prioridad del rol con prioridad mayor en el usuario if (objetorol.prioridad): if (objetorol.prioridad.numero > objetousuario.prioridad): objetousuario.prioridad = objetorol.prioridad.get_numero( ) nuevaprioridad = objetousuario.prioridad new_author = f.save(commit=False) new_author.prioridad = nuevaprioridad new_author.save() f._save_m2m() return redirect('login_page') return redirect('usuario: index') else: form = UsuarioForm() return render(request, 'usuario/usuario_form.html', {'form': form})