def edit_employee_view(request, user_id): user = get_object_or_404(User, id=user_id) if user != request.user: if request.user.user_profile.is_partner: return HttpResponseRedirect(request.META.get("HTTP_REFERER")) form_user = EditEmployeeMainForm( request.POST or None, request.FILES or None, initial=model_to_dict(user), instance=user, prefix="user", ) form_user_profile = EditEmployeeAdditionForm( request.POST or None, request.FILES or None, initial=model_to_dict(user.user_profile), instance=user.user_profile, prefix="user_profile", ) form_wagtail = AvatarPreferencesForm( request.POST or None, request.FILES or None, initial=model_to_dict(user.wagtail_userprofile), instance=user.wagtail_userprofile, prefix="user_profile", ) if (form_user.is_valid() and form_user_profile.is_valid() and form_wagtail.is_valid()): form_user.save() form_user_profile.save() form_wagtail.save() return HttpResponseRedirect(reverse("employee_info", args=[user_id])) context = { "form_user": form_user, "form_user_profile": form_user_profile, "form_wagtail": form_wagtail, "breadcrumb": [ { "title": "Личный кабинет", "url": reverse_lazy("manager_lk") }, { "title": "Редактировать сотрудника" }, ], } return render(request, "employee_edit.html", context)
def change_avatar(request): if request.method == 'POST': user_profile = UserProfile.get_for_user(request.user) form = AvatarPreferencesForm(request.POST, request.FILES, instance=user_profile) if form.is_valid(): form.save() messages.success(request, _("Your preferences have been updated successfully!")) return redirect('wagtailadmin_account_change_avatar') else: form = AvatarPreferencesForm(instance=UserProfile.get_for_user(request.user)) return render(request, 'wagtailadmin/account/change_avatar.html', {'form': form})