Ajout connexion/déconnexion à l'espace membres

This commit is contained in:
Claude Paroz 2025-08-16 15:55:07 +02:00
parent 3d1b8a9bee
commit 6c3a1e6ddc
9 changed files with 108 additions and 2 deletions

31
beesgospel/forms.py Normal file
View file

@ -0,0 +1,31 @@
from dajngo import forms
from django.contrib.auth import forms as auth_forms
class BootstrapMixin:
required_css_class = "required"
widget_classes = {
"checkbox": "form-check-input",
"select": "form-select",
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
if getattr(field.widget, "_bs_enabled", False):
continue
widgets = getattr(field.widget, "widgets", [field.widget])
for widget in widgets:
input_type = getattr(widget, "input_type", "")
class_name = self.widget_classes.get(input_type, "form-control")
if "class" in widget.attrs:
widget.attrs["class"] += " " + class_name
else:
widget.attrs.update({"class": class_name})
class LoginForm(BootstrapMixin, auth_forms.AuthenticationForm):
username = forms.EmailField(
widget=forms.EmailInput(attrs={"autofocus": True}),
)

13
beesgospel/views.py Normal file
View file

@ -0,0 +1,13 @@
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView, TemplateView
from .models import Membre
class EspaceMembresView(LoginRequiredMixin, TemplateView):
template_name = "membres/index.html"
class ListeMembresView(LoginRequiredMixin, ListView):
model = Membre
template_name = "membres/liste.html"