Add GroupAddMembersForm and view for editing group members
This commit is contained in:
parent
ba746c9cae
commit
8ed39c78b8
9 changed files with 41 additions and 5 deletions
|
@ -15,3 +15,8 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
|
- repo: https://github.com/djlint/djLint
|
||||||
|
rev: v1.23.3
|
||||||
|
hooks:
|
||||||
|
- id: djlint-django
|
||||||
|
args: ["--reformat", "--lint", "--quiet"]
|
||||||
|
|
|
@ -4,8 +4,12 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="Le jeu de Musik">
|
||||||
|
<meta name="keywords" content="musik, jeu, musique">
|
||||||
<title>
|
<title>
|
||||||
{% block title %}Musik{% endblock %}
|
{% block title %}
|
||||||
|
Musik
|
||||||
|
{% endblock title %}
|
||||||
</title>
|
</title>
|
||||||
<link rel="stylesheet" href="{% static "css/main.css" %}">
|
<link rel="stylesheet" href="{% static "css/main.css" %}">
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
|
|
|
@ -3,4 +3,4 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Connexion</h1>
|
<h1>Connexion</h1>
|
||||||
{% form form submit="Se connecter" %}
|
{% form form submit="Se connecter" %}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
15
game/forms.py
Normal file
15
game/forms.py
Normal 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"]
|
|
@ -1,7 +1,6 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% load form %}
|
{% load form %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1></h1>
|
|
||||||
<dialog open>
|
<dialog open>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
<a href="{% url "group_update" pk=group.pk %}"><i class="ri-edit-line"></i> Modifier le groupe</a>
|
<a href="{% url "group_update" pk=group.pk %}"><i class="ri-edit-line"></i> Modifier le groupe</a>
|
||||||
</p>
|
</p>
|
||||||
<h2>Membres</h2>
|
<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>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
{{ group.owner }} <i class="ri-vip-crown-fill"></i>
|
{{ group.owner }} <i class="ri-vip-crown-fill"></i>
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
<h1>Créer un groupe</h1>
|
<h1>Créer un groupe</h1>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% form form %}
|
{% form form %}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
|
@ -10,5 +10,10 @@ urlpatterns = [
|
||||||
path(
|
path(
|
||||||
"group/<int:pk>/delete/", views.GroupDeleteView.as_view(), name="group_delete"
|
"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"),
|
path("group/<int:pk>/", views.GroupDetailView.as_view(), name="group_detail"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,7 +2,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.views.generic.detail import DetailView
|
from django.views.generic.detail import DetailView
|
||||||
from django.views.generic.edit import CreateView, DeleteView, UpdateView
|
from django.views.generic.edit import CreateView, DeleteView, UpdateView
|
||||||
|
|
||||||
from . import models
|
from . import forms, models
|
||||||
|
|
||||||
|
|
||||||
class OwnerFilterMixin(LoginRequiredMixin):
|
class OwnerFilterMixin(LoginRequiredMixin):
|
||||||
|
@ -31,3 +31,8 @@ class GroupDeleteView(OwnerFilterMixin, GroupMixin, DeleteView):
|
||||||
|
|
||||||
class GroupDetailView(OwnerFilterMixin, GroupMixin, DetailView):
|
class GroupDetailView(OwnerFilterMixin, GroupMixin, DetailView):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class GroupAddMembersView(OwnerFilterMixin, GroupMixin, UpdateView):
|
||||||
|
fields = None
|
||||||
|
form_class = forms.GroupAddMembersForm
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue