Allow users to update settings

This commit is contained in:
Jannis Portmann 2023-04-26 15:26:17 +02:00
parent 841aaa989c
commit fc1ed9d71e
2 changed files with 15 additions and 0 deletions

View file

@ -18,6 +18,7 @@ urlpatterns = [
path("accounts/<int:user_id>/wishlist/", views.wishlist, name="wishlist"),
path('accounts/login/', auth_views.LoginView.as_view(template_name='registration/login.html')),
path('accounts/profile/', auth_views.LoginView.as_view(template_name='user/detail.html'), name='user_profile'),
path('accounts/profile/edit', views.user_edit, name='user_edit'),
path('accounts/register/', views.register_user, name='register_user'),
path('accounts/password_reset/', auth_views.PasswordResetView.as_view(template_name='registration/verify_email.html',
extra_context={'form_helper': settings.CRISPY_TEMPLATE_PACK}), name='password_reset'),

View file

@ -112,6 +112,20 @@ def wishlist(request, user_id):
return render(request, "user/wish.html", {"title": title, "form": form, "wishes": wishes, "own": user_id == request.user.id})
@login_required
def user_edit(request):
if request.method == "POST":
form = RegistrationForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
messages.success(request, "Account details updated successfully!")
return redirect("user_profile")
else:
form = RegistrationForm(instance=request.user)
return render(request, "basic_form.html", {"form": form, "button_label": "Save", "title": "Edit Account Details"})
@csrf_protect
@require_POST
@login_required