Add group leader functionality and update group member management

- Create GroupLeader model and migration
- Alter GroupLeader member field to include related_name
- Implement is_leader and is_owner methods in Group model
- Update GroupDetailView to pass leader and owner status to template
- Refactor group buttons and members display into separate templates
- Add view and URL for setting group leaders
- Update permissions for adding/removing members and clearing blacklist
- Bump version to 0.1.1 in uv.lock
This commit is contained in:
Edgar P. Burkhart 2025-06-14 21:58:33 +02:00
parent 6cd9c0c841
commit 7409b4cd8f
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
10 changed files with 244 additions and 101 deletions

View file

@ -0,0 +1,35 @@
# Generated by Django 5.2.3 on 2025-06-14 18:50
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("game", "0014_musikgame_playlist_loading"),
]
operations = [
migrations.CreateModel(
name="GroupLeader",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("is_leader", models.BooleanField(default=False)),
(
"member",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
to="game.group_members",
),
),
],
),
]

View file

@ -0,0 +1,22 @@
# Generated by Django 5.2.3 on 2025-06-14 18:50
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("game", "0015_groupleader"),
]
operations = [
migrations.AlterField(
model_name="groupleader",
name="member",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="lead",
to="game.group_members",
),
),
]