def edit_student(request, class_id, id=None): try: school_class = SchoolClass.objects.get(id=class_id) student = LPUser.objects.get(id=id) if id else None except (SchoolClass.DoesNotExist, LPUser.DoesNotExist): return HttpResponse(status=400) instance = student.user if student else None avatar_form = AvatarForm(request.POST, request.FILES) form = StudentForm(request.POST or None, instance=instance) if form.is_valid(): user = form.save() user.set_password("password") user.save() if not id: user.groups.add(Group.objects.get(name='students')) lp_user = LPUser() lp_user.user = user lp_user.save() lp_user.school_class.add(school_class) else: lp_user = student if avatar_form.is_valid() and avatar_form.cleaned_data['avatar'] != 'avatars/default.png': lp_user.avatar = avatar_form.cleaned_data['avatar'] lp_user.save() return redirect(reverse('backoffice:my_students', kwargs={'class_id': class_id})) return render(request, 'backoffice/edit_student.html', {'avatar_form': avatar_form, 'student_form': form, 'school_class': school_class, 'student': student})
def edit_profile(request): user = request.user lp_user = user.LPUser avatar_form = AvatarForm(request.POST, request.FILES) email_form = UserEmailForm(request.POST or None, instance=user) password_form = UserPasswordNotRequiredForm(request.POST or None) if avatar_form.is_valid() and avatar_form.cleaned_data['avatar'] != 'avatars/default.png': lp_user.avatar = avatar_form.cleaned_data['avatar'] lp_user.save() if email_form.is_valid(): form_data = email_form.save() user.email = form_data.email user.save() if password_form.is_valid() and password_form.cleaned_data['password'] != '': user.set_password(password_form.cleaned_data['password']) user.save() return render(request, 'backoffice/edit_profile.html', {'avatar_form': avatar_form, 'email_form': email_form, 'password_form': password_form, 'lp_user': lp_user})