From 859f8a05702897de79c911adba50e0784a6dd615 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Fri, 16 Mar 2018 23:30:37 +0100 Subject: [PATCH] Replaced is_public flag by brand new privacy_level field on playlists --- api/funkwhale_api/playlists/admin.py | 2 +- .../migrations/0002_auto_20180316_2217.py | 22 +++++++++++++++++++ api/funkwhale_api/playlists/models.py | 4 +++- api/funkwhale_api/playlists/serializers.py | 2 +- 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 api/funkwhale_api/playlists/migrations/0002_auto_20180316_2217.py diff --git a/api/funkwhale_api/playlists/admin.py b/api/funkwhale_api/playlists/admin.py index b337154c..1d58abf9 100644 --- a/api/funkwhale_api/playlists/admin.py +++ b/api/funkwhale_api/playlists/admin.py @@ -5,7 +5,7 @@ from . import models @admin.register(models.Playlist) class PlaylistAdmin(admin.ModelAdmin): - list_display = ['name', 'user', 'is_public', 'creation_date'] + list_display = ['name', 'user', 'privacy_level', 'creation_date'] search_fields = ['name', ] list_select_related = True diff --git a/api/funkwhale_api/playlists/migrations/0002_auto_20180316_2217.py b/api/funkwhale_api/playlists/migrations/0002_auto_20180316_2217.py new file mode 100644 index 00000000..23d0a8ea --- /dev/null +++ b/api/funkwhale_api/playlists/migrations/0002_auto_20180316_2217.py @@ -0,0 +1,22 @@ +# Generated by Django 2.0.3 on 2018-03-16 22:17 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('playlists', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='playlist', + name='is_public', + ), + migrations.AddField( + model_name='playlist', + name='privacy_level', + field=models.CharField(choices=[('me', 'Only me'), ('followers', 'Me and my followers'), ('instance', 'Everyone on my instance, and my followers'), ('everyone', 'Everyone, including people on other instances')], default='instance', max_length=30), + ), + ] diff --git a/api/funkwhale_api/playlists/models.py b/api/funkwhale_api/playlists/models.py index e89dce81..47aa4633 100644 --- a/api/funkwhale_api/playlists/models.py +++ b/api/funkwhale_api/playlists/models.py @@ -3,13 +3,15 @@ from django.utils import timezone from mptt.models import MPTTModel, TreeOneToOneField +from funkwhale_api.common import fields + class Playlist(models.Model): name = models.CharField(max_length=50) - is_public = models.BooleanField(default=False) user = models.ForeignKey( 'users.User', related_name="playlists", on_delete=models.CASCADE) creation_date = models.DateTimeField(default=timezone.now) + privacy_level = fields.get_privacy_field() def __str__(self): return self.name diff --git a/api/funkwhale_api/playlists/serializers.py b/api/funkwhale_api/playlists/serializers.py index 7f889d53..0732165e 100644 --- a/api/funkwhale_api/playlists/serializers.py +++ b/api/funkwhale_api/playlists/serializers.py @@ -26,5 +26,5 @@ class PlaylistSerializer(serializers.ModelSerializer): class Meta: model = models.Playlist - fields = ('id', 'name', 'is_public', 'creation_date', 'playlist_tracks') + fields = ('id', 'name', 'privacy_level', 'creation_date', 'playlist_tracks') read_only_fields = ['id', 'playlist_tracks', 'creation_date'] -- GitLab