musik/game/urls.py
Edgar P. Burkhart 7409b4cd8f
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
2025-06-14 21:58:33 +02:00

64 lines
1.9 KiB
Python

from django.urls import path
from . import views
urlpatterns = [
path("group/create/", views.GroupCreateView.as_view(), name="group_create"),
path(
"group/<int:pk>/update/", views.GroupUpdateView.as_view(), name="group_update"
),
path(
"group/<int:pk>/delete/", views.GroupDeleteView.as_view(), name="group_delete"
),
path("group/<int:pk>/", views.GroupDetailView.as_view(), name="group_detail"),
path(
"group/<int:pk>/add_music/",
views.GroupAddMusicView.as_view(),
name="group_add_music",
),
path(
"group/<int:pk>/add_member/",
views.GroupAddMemberView.as_view(),
name="group_add_member",
),
path(
"group/<int:pk>/remove_music/",
views.GroupRemoveMusicView.as_view(),
name="group_remove_music",
),
path(
"group/<int:pk>/unblacklist_music/",
views.GroupUnblacklistMusicView.as_view(),
name="group_unblacklist_music",
),
path(
"group/<int:pk>/remove_game/",
views.GroupRemoveGameView.as_view(),
name="group_remove_game",
),
path(
"group/<int:pk>/remove_membrer/",
views.GroupRemoveMemberView.as_view(),
name="group_remove_member",
),
path(
"group/<int:pk>/set_leader/",
views.GroupSetLead.as_view(),
name="group_set_leader",
),
path(
"group/<int:pk>/start_game/", views.GameCreateView.as_view(), name="start_game"
),
path("group/game/<int:pk>/", views.GameDetailView.as_view(), name="game_detail"),
path("youtube_login/", views.YoutubeLoginView.as_view(), name="youtube_login"),
path(
"youtube_callback/",
views.YoutubeCallbackView.as_view(),
name="youtube_callback",
),
path(
"group/<int:pk>/clear_blacklist/",
views.GroupClearBlacklistView.as_view(),
name="group_clear_blacklist",
),
]