Compare commits

..

2 Commits

3 changed files with 20 additions and 5 deletions

View File

@@ -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):

View File

@@ -41,7 +41,7 @@
<body class="flex flex-col h-screen" hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'> <body class="flex flex-col h-screen" hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
<!-- NAVBAR --> <!-- NAVBAR -->
<header id="mainNavbar" class="navbar-normal navbar bg-base-100 sticky top-0 z-50 shadow"> <header id="mainNavbar" class="navbar-shrink navbar bg-base-100 sticky top-0 z-50 shadow">
<div class="flex-none lg:hidden"> <div class="flex-none lg:hidden">
<!-- Mobile sidebar toggle --> <!-- Mobile sidebar toggle -->
<label for="sidebar-toggle" class="btn btn-square btn-ghost"> <label for="sidebar-toggle" class="btn btn-square btn-ghost">
@@ -49,12 +49,12 @@
</label> </label>
</div> </div>
<div class="flex-1 flex items-center gap-3"> <div class="flex-1 flex items-center gap-3 pl-2">
<img src="{% static config.TF_CLUB_LOGO %}" class="hidden lg:inline h-10 {% if config.TF_CLUB_LOGO != "teamforge/logo.png" %}mask mask-circle{% endif %}" alt="{{ config.TF_CLUB_NAME }} logo"> <img src="{% static config.TF_CLUB_LOGO %}" class="hidden lg:inline h-10 {% if config.TF_CLUB_LOGO != "teamforge/logo.png" %}mask mask-circle{% endif %}" alt="{{ config.TF_CLUB_NAME }} logo">
<span class="text-xl font-bold font-jersey">{{ config.TF_CLUB_NAME }}</span> <span class="text-xl font-bold font-jersey">{{ config.TF_CLUB_NAME }}</span>
</div> </div>
<div class="flex flex-row items-center gap-1 lg:gap-4"> <div class="flex flex-row items-center gap-1 lg:gap-4 pr-2">
<!-- Notifications --> <!-- Notifications -->
<button class="btn btn-ghost btn-circle"> <button class="btn btn-ghost btn-circle">
<i class="fa-solid fa-bell text-xl"></i> <i class="fa-solid fa-bell text-xl"></i>

View File

@@ -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 }}