Add feature flag for bulk member upload: update MemberLoadView, templates, and settings to use mass_upload flag with django-waffle.
This commit is contained in:
@@ -156,3 +156,5 @@ PHONENUMBER_DEFAULT_FORMAT = "INTERNATIONAL"
|
||||
PHONENUMBER_DEFAULT_REGION = config("CM_CLUB_COUNTRY_CODE", default="BE", cast=str)
|
||||
|
||||
TAILWIND_APP_NAME = "theme"
|
||||
|
||||
WAFFLE_CREATE_MISSING_FLAGS = True
|
||||
|
||||
@@ -10,6 +10,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic import CreateView, DeleteView, FormView, UpdateView
|
||||
from django_filters.views import FilterView
|
||||
from rules.contrib.views import PermissionRequiredMixin
|
||||
from waffle.mixins import WaffleFlagMixin
|
||||
|
||||
from members.filters import MemberFilter
|
||||
from members.forms import MassUploadForm, MemberForm
|
||||
@@ -114,7 +115,7 @@ class MemberDeleteView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMix
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
|
||||
|
||||
class MemberLoadView(PermissionRequiredMixin, HTMXViewMixin, SuccessMessageMixin, FormView):
|
||||
class MemberLoadView(PermissionRequiredMixin, HTMXViewMixin, SuccessMessageMixin, WaffleFlagMixin, FormView):
|
||||
form_class = MassUploadForm
|
||||
permission_required = "members.add_member"
|
||||
permission_denied_message = _("You do not have permission to view this page.")
|
||||
@@ -123,6 +124,7 @@ class MemberLoadView(PermissionRequiredMixin, HTMXViewMixin, SuccessMessageMixin
|
||||
partial_name = "members/member_load.html#content"
|
||||
menu_highlight = "members"
|
||||
template_name = "members/member_load.html"
|
||||
waffle_flag = "mass_upload"
|
||||
|
||||
def handle_no_permission(self) -> HttpResponseRedirect:
|
||||
messages.error(self.request, self.get_permission_denied_message())
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
{% load form_field %}
|
||||
{% load avatar %}
|
||||
{% load pagination %}
|
||||
{% load waffle_tags %}
|
||||
|
||||
{% block content %}
|
||||
{% partialdef content inline %}
|
||||
@@ -59,9 +60,11 @@
|
||||
</div>
|
||||
|
||||
<div class="add">
|
||||
<a class="btn btn-accent btn-sm grow hidden lg:flex" href="{% url "backend:members:load" %}" hx-get="{% url "backend:members:load" %}" hx-target="#content">
|
||||
<i class="fa-solid fa-file-upload"></i>{% translate "Load members from file" %}
|
||||
</a>
|
||||
{% flag "mass_upload" %}
|
||||
<a class="btn btn-accent btn-sm grow hidden lg:flex" href="{% url "backend:members:load" %}" hx-get="{% url "backend:members:load" %}" hx-target="#content">
|
||||
<i class="fa-solid fa-file-upload"></i>{% translate "Load members from file" %}
|
||||
</a>
|
||||
{% endflag %}
|
||||
|
||||
<a class="btn btn-neutral btn-outline btn-sm grow" href="{% url "backend:members:add" %}" hx-get="{% url "backend:members:add" %}" hx-target="#content">
|
||||
<i class="fa-solid fa-plus"></i>{% translate "Add member" %}
|
||||
|
||||
Reference in New Issue
Block a user