Add unblacklist functionality for group music and update URLs

This commit is contained in:
Edgar P. Burkhart 2025-06-14 12:39:12 +02:00
parent 5e394a8c03
commit 0a930e575c
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
3 changed files with 34 additions and 4 deletions

View file

@ -165,9 +165,16 @@
</tbody> </tbody>
</table> </table>
{% if musics %} {% if musics %}
<button type="submit" formaction="{% url "group_remove_music" pk=group.pk %}"> <fieldset role="group">
<i class="ri-delete-bin-fill"></i> Supprimer les musiques sélectionnées <button type="submit" formaction="{% url "group_remove_music" pk=group.pk %}">
</button> <i class="ri-delete-bin-fill"></i> Supprimer
</button>
<button type="submit"
class="secondary"
formaction="{% url "group_unblacklist_music" pk=group.pk %}">
<i class="ri-history-fill"></i> Retirer de la blacklist
</button>
</fieldset>
{% endif %} {% endif %}
</form> </form>
</details> </details>

View file

@ -22,10 +22,15 @@ urlpatterns = [
name="group_add_member", name="group_add_member",
), ),
path( path(
"group/remove_music/<int:pk>/", "group/<int:pk>/remove_music/",
views.GroupRemoveMusicView.as_view(), views.GroupRemoveMusicView.as_view(),
name="group_remove_music", name="group_remove_music",
), ),
path(
"group/<int:pk>/unblacklist_music/",
views.GroupUnblacklistMusicView.as_view(),
name="group_unblacklist_music",
),
path( path(
"group/<int:pk>/remove_game/", "group/<int:pk>/remove_game/",
views.GroupRemoveGameView.as_view(), views.GroupRemoveGameView.as_view(),

View file

@ -162,6 +162,24 @@ class GroupRemoveMusicView(MemberFilterMixin, SingleObjectMixin, View):
return redirect(group) return redirect(group)
class GroupUnblacklistMusicView(MemberFilterMixin, SingleObjectMixin, View):
model = models.Group
def post(self, request, pk):
group = self.get_object()
musics = group.musicvideo_set.filter(
owner=request.user, pk__in=request.POST.getlist("musics")
)
musics.update(blacklisted=False)
messages.add_message(
request,
messages.SUCCESS,
"Les musiques sélectionnées ont été enlevées de la blacklist.",
)
return redirect(group)
class GroupRemoveMemberView(OwnerFilterMixin, SingleObjectMixin, View): class GroupRemoveMemberView(OwnerFilterMixin, SingleObjectMixin, View):
model = models.Group model = models.Group