diff --git a/backend/members/views.py b/backend/members/views.py index c518e08..97cd8e2 100644 --- a/backend/members/views.py +++ b/backend/members/views.py @@ -56,7 +56,22 @@ class MemberAddView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMixin, return self.success_message % dict(cleaned_data, name=self.object.user.get_full_name()) -class MemberEditView: ... +class MemberEditView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMixin, UpdateView): + model = Member + form_class = MemberForm + permission_required = "members.change_member" + permission_denied_message = _("You do not have permission to view this page.") + success_message = _("Member %(name)s has been updated successfully.") + success_url = reverse_lazy("backend:members:list") + partial_name = "members/member_form.html#content" + menu_highlight = "members" + + def handle_no_permission(self) -> HttpResponseRedirect: + messages.error(self.request, self.get_permission_denied_message()) + return HttpResponseRedirect(reverse_lazy("backend:index")) + + def get_success_message(self, cleaned_data): + return self.success_message % dict(cleaned_data, name=self.object.user.get_full_name()) class MemberDeleteView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView): diff --git a/templates/members/member_filter.html b/templates/members/member_filter.html index 503715b..ac06bd9 100644 --- a/templates/members/member_filter.html +++ b/templates/members/member_filter.html @@ -113,7 +113,7 @@