Add 'unlimited_queue_length' permission

The 'unlimited_queue_length' permission allows a user to queue
songs without being restricted by the 45-minute queue length.
This commit is contained in:
Daan Sprenkels
2020-06-09 17:36:12 +02:00
parent 95bd47c46a
commit 3724b94e4a
2 changed files with 19 additions and 1 deletions

View File

@ -64,6 +64,7 @@ class Queue(models.Model):
('can_move', 'Can move all songs in the queue'),
('can_cancel', 'Can cancel all songs in the queue'),
('can_control_volume', 'Can control the volume of Marietje'),
('unlimited_queue_length', 'Is unlimited by maximum queue length'),
)
name = models.TextField()
@ -111,7 +112,7 @@ class Queue(models.Model):
return songs[1:]
def request(self, song, user):
if not user.is_superuser:
if not user.has_perm('unlimited_queue_length'):
playlist_songs = PlaylistSong.objects.filter(playlist=self.playlist, state=0).order_by('id')
seconds_in_a_row = sum(ps.song.duration for ps in playlist_songs if ps.user == user)