def reset_user_password(request, user_pk): ''' Resets the password of the selected user to random password ''' user = get_object_or_404(User, pk=user_pk) if not request.user.is_authenticated(): return HttpResponseForbidden() if not request.user.has_perm('gym.manage_gyms') \ and not request.user.has_perm('gym.manage_gym'): return HttpResponseForbidden() if request.user.has_perm('gym.manage_gym') \ and request.user.userprofile.gym != user.userprofile.gym: return HttpResponseForbidden() password = password_generator() user.set_password(password) user.save() context = {'mod_user': user, 'password': password} return render(request, 'gym/reset_user_password.html', context)
def reset_user_password(request, user_pk): """ Resets the password of the selected user to random password """ user = get_object_or_404(User, pk=user_pk) if not request.user.is_authenticated(): return HttpResponseForbidden() if not request.user.has_perm('gym.manage_gyms') \ and not request.user.has_perm('gym.manage_gym'): return HttpResponseForbidden() if request.user.has_perm('gym.manage_gym') \ and request.user.userprofile.gym != user.userprofile.gym: return HttpResponseForbidden() password = password_generator() user.set_password(password) user.save() context = {'mod_user': user, 'password': password} return render(request, 'gym/reset_user_password.html', context)
def form_valid(self, form): ''' Create the user, set the user permissions and gym ''' gym = Gym.objects.get(pk=self.kwargs['gym_pk']) password = password_generator() user = User.objects.create_user(form.cleaned_data['username'], form.cleaned_data['email'], password) user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] form.instance = user # Update profile user.userprofile.gym = gym user.userprofile.save() # Set appropriate permission groups if 'user' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_member')) if 'trainer' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_trainer')) if 'admin' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_manager')) if 'manager' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='general_gym_manager')) request = self.request request.session['gym.user'] = { 'user_pk': user.pk, 'password': password } # Create config if is_any_gym_admin(user): config = GymAdminConfig() else: config = GymUserConfig() config.user = user config.gym = gym config.save() form.send_email(request, user, gym) return super(GymAddUserView, self).form_valid(form)
def form_valid(self, form): ''' Create the user, set the user permissions and gym ''' gym = Gym.objects.get(pk=self.kwargs['gym_pk']) password = password_generator() user = User.objects.create_user(form.cleaned_data['username'], form.cleaned_data['email'], password) user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] form.instance = user # Update profile user.userprofile.gym = gym user.userprofile.birthdate = form.cleaned_data['birthdate'] user.userprofile.save() # Set appropriate permission groups if 'user' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_member')) if 'trainer' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_trainer')) if 'admin' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='gym_manager')) if 'manager' in form.cleaned_data['role']: user.groups.add(Group.objects.get(name='general_gym_manager')) self.request.session['gym.user'] = {'user_pk': user.pk, 'password': password} # Create config if is_any_gym_admin(user): config = GymAdminConfig() else: config = GymUserConfig() config.user = user config.gym = gym config.save() return super(GymAddUserView, self).form_valid(form)