Пример #1
0
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)
Пример #2
0
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})