Add GroupAddMembersForm and view for editing group members

This commit is contained in:
Edgar P. Burkhart 2025-06-13 17:32:17 +02:00
parent ba746c9cae
commit 8ed39c78b8
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
9 changed files with 41 additions and 5 deletions

15
game/forms.py Normal file
View file

@ -0,0 +1,15 @@
from django import forms
from . import models
class GroupAddMembersForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["members"].queryset = self.fields["members"].queryset.exclude(
id=self.instance.owner.id
)
class Meta:
model = models.Group
fields = ["members"]

View file

@ -1,7 +1,6 @@
{% extends "base.html" %}
{% load form %}
{% block content %}
<h1></h1>
<dialog open>
<article>
<header>

View file

@ -7,6 +7,9 @@
<a href="{% url "group_update" pk=group.pk %}"><i class="ri-edit-line"></i> Modifier le groupe</a>
</p>
<h2>Membres</h2>
<p>
<a href="{% url "group_edit_members" pk=group.pk %}" role="button"><i class="ri-user-add-fill"></i> Modifier les membres</a>
</p>
<ul>
<li>
{{ group.owner }} <i class="ri-vip-crown-fill"></i>

View file

@ -12,4 +12,4 @@
<h1>Créer un groupe</h1>
{% endif %}
{% form form %}
{% endblock content %}
{% endblock content %}

View file

@ -10,5 +10,10 @@ urlpatterns = [
path(
"group/<int:pk>/delete/", views.GroupDeleteView.as_view(), name="group_delete"
),
path(
"group/<int:pk>/edit_members/",
views.GroupAddMembersView.as_view(),
name="group_edit_members",
),
path("group/<int:pk>/", views.GroupDetailView.as_view(), name="group_detail"),
]

View file

@ -2,7 +2,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, DeleteView, UpdateView
from . import models
from . import forms, models
class OwnerFilterMixin(LoginRequiredMixin):
@ -31,3 +31,8 @@ class GroupDeleteView(OwnerFilterMixin, GroupMixin, DeleteView):
class GroupDetailView(OwnerFilterMixin, GroupMixin, DetailView):
pass
class GroupAddMembersView(OwnerFilterMixin, GroupMixin, UpdateView):
fields = None
form_class = forms.GroupAddMembersForm