From ed6c1a9a5b2ce10d21053989db05398dd8222901 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Thu, 24 May 2018 22:37:23 +0200
Subject: [PATCH] See #230: added an upload permission on user model

---
 api/funkwhale_api/users/admin.py              |  1 +
 .../migrations/0007_auto_20180524_2009.py     | 33 +++++++++++++++++++
 api/funkwhale_api/users/models.py             |  6 +++-
 3 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 api/funkwhale_api/users/migrations/0007_auto_20180524_2009.py

diff --git a/api/funkwhale_api/users/admin.py b/api/funkwhale_api/users/admin.py
index 7e9062a1..cb74abf0 100644
--- a/api/funkwhale_api/users/admin.py
+++ b/api/funkwhale_api/users/admin.py
@@ -62,6 +62,7 @@ class UserAdmin(AuthUserAdmin):
                 'is_active',
                 'is_staff',
                 'is_superuser',
+                'permission_upload',
                 'permission_library',
                 'permission_settings',
                 'permission_federation')}),
diff --git a/api/funkwhale_api/users/migrations/0007_auto_20180524_2009.py b/api/funkwhale_api/users/migrations/0007_auto_20180524_2009.py
new file mode 100644
index 00000000..e3d582c5
--- /dev/null
+++ b/api/funkwhale_api/users/migrations/0007_auto_20180524_2009.py
@@ -0,0 +1,33 @@
+# Generated by Django 2.0.4 on 2018-05-24 20:09
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('users', '0006_auto_20180517_2324'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='user',
+            name='permission_upload',
+            field=models.BooleanField(default=False, verbose_name='Upload new content to the library'),
+        ),
+        migrations.AlterField(
+            model_name='user',
+            name='permission_federation',
+            field=models.BooleanField(default=False, help_text='Follow other instances, accept/deny library follow requests...', verbose_name='Manage library federation'),
+        ),
+        migrations.AlterField(
+            model_name='user',
+            name='permission_library',
+            field=models.BooleanField(default=False, help_text='Manage library', verbose_name='Manage library'),
+        ),
+        migrations.AlterField(
+            model_name='user',
+            name='permission_settings',
+            field=models.BooleanField(default=False, verbose_name='Manage instance-level settings'),
+        ),
+    ]
diff --git a/api/funkwhale_api/users/models.py b/api/funkwhale_api/users/models.py
index c16cd62b..9e2a185c 100644
--- a/api/funkwhale_api/users/models.py
+++ b/api/funkwhale_api/users/models.py
@@ -23,6 +23,7 @@ PERMISSIONS = [
     'federation',
     'library',
     'settings',
+    'upload',
 ]
 
 
@@ -52,11 +53,14 @@ class User(AbstractUser):
         default=False)
     permission_library = models.BooleanField(
         'Manage library',
-        help_text='Import new content, manage existing content',
+        help_text='Manage library',
         default=False)
     permission_settings = models.BooleanField(
         'Manage instance-level settings',
         default=False)
+    permission_upload = models.BooleanField(
+        'Upload new content to the library',
+        default=False)
 
     def __str__(self):
         return self.username
-- 
GitLab