Refactor MemberEditView to include permissions, success messages, and HTMX support. Adjust member filter template layout to use flex-row.
This commit is contained in:
@@ -56,7 +56,22 @@ class MemberAddView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMixin,
|
|||||||
return self.success_message % dict(cleaned_data, name=self.object.user.get_full_name())
|
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 <strong>%(name)s</strong> 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):
|
class MemberDeleteView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView):
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
<td>{{ member.birthday|date:"d M Y"|default:"-" }}</td>
|
<td>{{ member.birthday|date:"d M Y"|default:"-" }}</td>
|
||||||
<td>{{ member.license|default:"-" }}</td>
|
<td>{{ member.license|default:"-" }}</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="flex flex-col gap-1">
|
<div class="flex flex-row gap-1">
|
||||||
{% if member.phone_number %}
|
{% if member.phone_number %}
|
||||||
<a href="{{ member.phone_number.as_rfc3966 }}" class="btn btn-info btn-xs">
|
<a href="{{ member.phone_number.as_rfc3966 }}" class="btn btn-info btn-xs">
|
||||||
<i class="fa-solid fa-phone"></i>{{ member.phone_number }}
|
<i class="fa-solid fa-phone"></i>{{ member.phone_number }}
|
||||||
|
|||||||
Reference in New Issue
Block a user