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)
|
PHONENUMBER_DEFAULT_REGION = config("CM_CLUB_COUNTRY_CODE", default="BE", cast=str)
|
||||||
|
|
||||||
TAILWIND_APP_NAME = "theme"
|
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.views.generic import CreateView, DeleteView, FormView, UpdateView
|
||||||
from django_filters.views import FilterView
|
from django_filters.views import FilterView
|
||||||
from rules.contrib.views import PermissionRequiredMixin
|
from rules.contrib.views import PermissionRequiredMixin
|
||||||
|
from waffle.mixins import WaffleFlagMixin
|
||||||
|
|
||||||
from members.filters import MemberFilter
|
from members.filters import MemberFilter
|
||||||
from members.forms import MassUploadForm, MemberForm
|
from members.forms import MassUploadForm, MemberForm
|
||||||
@@ -114,7 +115,7 @@ class MemberDeleteView(HTMXViewMixin, PermissionRequiredMixin, SuccessMessageMix
|
|||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
|
||||||
class MemberLoadView(PermissionRequiredMixin, HTMXViewMixin, SuccessMessageMixin, FormView):
|
class MemberLoadView(PermissionRequiredMixin, HTMXViewMixin, SuccessMessageMixin, WaffleFlagMixin, FormView):
|
||||||
form_class = MassUploadForm
|
form_class = MassUploadForm
|
||||||
permission_required = "members.add_member"
|
permission_required = "members.add_member"
|
||||||
permission_denied_message = _("You do not have permission to view this page.")
|
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"
|
partial_name = "members/member_load.html#content"
|
||||||
menu_highlight = "members"
|
menu_highlight = "members"
|
||||||
template_name = "members/member_load.html"
|
template_name = "members/member_load.html"
|
||||||
|
waffle_flag = "mass_upload"
|
||||||
|
|
||||||
def handle_no_permission(self) -> HttpResponseRedirect:
|
def handle_no_permission(self) -> HttpResponseRedirect:
|
||||||
messages.error(self.request, self.get_permission_denied_message())
|
messages.error(self.request, self.get_permission_denied_message())
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
{% load form_field %}
|
{% load form_field %}
|
||||||
{% load avatar %}
|
{% load avatar %}
|
||||||
{% load pagination %}
|
{% load pagination %}
|
||||||
|
{% load waffle_tags %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% partialdef content inline %}
|
{% partialdef content inline %}
|
||||||
@@ -59,9 +60,11 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="add">
|
<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">
|
{% flag "mass_upload" %}
|
||||||
<i class="fa-solid fa-file-upload"></i>{% translate "Load members from file" %}
|
<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">
|
||||||
</a>
|
<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">
|
<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" %}
|
<i class="fa-solid fa-plus"></i>{% translate "Add member" %}
|
||||||
|
|||||||
Reference in New Issue
Block a user