diff --git a/gestioncof/templates/gestioncof/home.html b/gestioncof/templates/gestioncof/home.html index 85dfb0f5..45b3e225 100644 --- a/gestioncof/templates/gestioncof/home.html +++ b/gestioncof/templates/gestioncof/home.html @@ -115,6 +115,7 @@ diff --git a/gestioncof/templates/gestioncof/reset_comptes.html b/gestioncof/templates/gestioncof/reset_comptes.html new file mode 100644 index 00000000..55d54376 --- /dev/null +++ b/gestioncof/templates/gestioncof/reset_comptes.html @@ -0,0 +1,14 @@ +{% extends "base_title.html" %} + +{% block realcontent %} +

Remise à zéro des membres COF

+ {% if is_done%} +

{{nb_adherents}} compte{{ nb_adherents|pluralize }} désinscrit{{ nb_adherents|pluralize }} du COF.

+ {% else%} +
ATTENTION : Cette action est irréversible.
+

Voulez-vous vraiment remettre à zéro le statut COF de tous les membres actuels ?

+
+ {% csrf_token %} +
+ {% endif %} +{% endblock %} \ No newline at end of file diff --git a/gestioncof/urls.py b/gestioncof/urls.py index 14fb101f..d0ba75c7 100644 --- a/gestioncof/urls.py +++ b/gestioncof/urls.py @@ -82,6 +82,7 @@ urlpatterns = [ # Misc # ----- path("", views.HomeView.as_view(), name="home"), + path("reset_comptes/", views.ResetComptes.as_view(), name="reset_comptes"), path( "user/autocomplete", views.UserAutocompleteView.as_view(), diff --git a/gestioncof/views.py b/gestioncof/views.py index d4b6a5be..fbe74ec7 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -79,6 +79,24 @@ class HomeView(LoginRequiredMixin, TemplateView): return context +class ResetComptes(BuroRequiredMixin, TemplateView): + template_name = "gestioncof/reset_comptes.html" + + def post(self, request): + nb_adherents = CofProfile.objects.filter(is_cof=True).count() + CofProfile.objects.update( + is_cof=False, + mailing_cof=False, + mailing_bda=False, + mailing_bda_revente=False, + mailing_unernestaparis=False, + ) + context = super().get_context_data() + context["is_done"] = True + context["nb_adherents"] = nb_adherents + return render(request, self.template_name, context) + + def login(request): if request.user.is_authenticated: return redirect("home")