diff --git a/base/static/css/main.css b/base/static/css/main.css
index 372715c..1fb8b6e 100644
--- a/base/static/css/main.css
+++ b/base/static/css/main.css
@@ -25,9 +25,15 @@ a.group {
}
.group-owner, .group i {
- margin-left: .5rem;
+ margin-left: .5em;
}
.group-owner {
color: var(--pico-color-zinc-500);
}
+
+.music-count {
+ font-weight: 900;
+ color: var(--pico-color-zinc-500);
+ margin-left: .5em;
+}
diff --git a/game/templates/game/group_detail.html b/game/templates/game/group_detail.html
index d305efa..19b4121 100644
--- a/game/templates/game/group_detail.html
+++ b/game/templates/game/group_detail.html
@@ -2,7 +2,12 @@
{% load form %}
{% block content %}
- {{ group.name }}
+ {% if group.owner == user %}
+
+ {% else %}
+
+ {% endif %}
+ {{ group.name }}
{% if group.owner == user %}
@@ -21,9 +26,11 @@
Date |
Joueurs |
-
-
- |
+ {% if group.owner == user %}
+
+
+ |
+ {% endif %}
{% for game in group.musikgame_set.all %}
@@ -32,9 +39,11 @@
{{ game.date }}
{{ game.players.all|join:", " }} |
-
-
- |
+ {% if group.owner == user %}
+
+
+ |
+ {% endif %}
{% endfor %}
@@ -43,11 +52,6 @@
Membres
- {% if group.owner == user %}
-
- Modifier les membres
-
- {% endif %}
@@ -58,9 +62,11 @@
|
-
-
- |
+ {% if group.owner == user %}
+
+
+ |
+ {% endif %}
@@ -70,35 +76,39 @@
{{ owner_count }} |
- |
+ {% if group.owner == user %} | {% endif %}
{% for member in members.all %}
{{ member }} |
|
{{ member.count }} |
-
-
-
-
- |
+ {% if group.owner == user %}
+
+
+
+
+ |
+ {% endif %}
{% endfor %}
-
+ {% if group.owner == user %}
+
+ {% endif %}
- Mes musiques ({{ musics.count }})
+ Mes musiques {{ musics.count }}
diff --git a/game/templates/game/musikgame_detail.html b/game/templates/game/musikgame_detail.html
index 4d08293..91674ef 100644
--- a/game/templates/game/musikgame_detail.html
+++ b/game/templates/game/musikgame_detail.html
@@ -13,9 +13,7 @@
Joueurs
-
- {% for member in musikgame.players.all %}- {{ member }}
{% endfor %}
-
+ {{ musikgame.players.all|join:", " }}
Musiques
diff --git a/game/urls.py b/game/urls.py
index d55639b..04c64e6 100644
--- a/game/urls.py
+++ b/game/urls.py
@@ -10,11 +10,6 @@ urlpatterns = [
path(
"group//delete/", views.GroupDeleteView.as_view(), name="group_delete"
),
- path(
- "group//edit_members/",
- views.GroupAddMembersView.as_view(),
- name="group_edit_members",
- ),
path("group//", views.GroupDetailView.as_view(), name="group_detail"),
path(
"group//add_music/",
diff --git a/game/views.py b/game/views.py
index 7713d26..84b99cd 100644
--- a/game/views.py
+++ b/game/views.py
@@ -70,11 +70,6 @@ class GroupDetailView(MemberFilterMixin, GroupMixin, DetailView):
return data
-class GroupAddMembersView(OwnerFilterMixin, GroupMixin, UpdateView):
- fields = None
- form_class = forms.GroupAddMembersForm
-
-
class GroupAddMusicView(MemberFilterMixin, SingleObjectMixin, View):
model = models.Group
@@ -118,8 +113,12 @@ class GroupRemoveMusicView(OwnerFilterMixin, SingleObjectMixin, View):
class GroupRemoveMemberView(View):
def get(self, request, pk, user_pk):
relation = get_object_or_404(
- models.Group.members.through, group_id=pk, user_id=user_pk
+ models.Group.members.through,
+ group_id=pk,
+ user_id=user_pk,
+ group__owner=request.user,
)
+
group = relation.group
relation.delete()
return redirect(group)
@@ -220,7 +219,14 @@ class GameDetailView(LoginRequiredMixin, DetailView):
model = models.MusikGame
def get_queryset(self):
- return super().get_queryset().filter(group__owner=self.request.user)
+ return (
+ super()
+ .get_queryset()
+ .filter(
+ Q(group__members=self.request.user) | Q(group__owner=self.request.user)
+ )
+ .distinct()
+ )
class YoutubeLoginView(LoginRequiredMixin, View):