From a57d975183e1fc3e73d3ed8b6de145c1697e8890 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 18 May 2018 19:18:40 +0200 Subject: [PATCH] See #152: updated admin interface --- api/funkwhale_api/users/admin.py | 17 ++++++++++++++++- api/funkwhale_api/users/models.py | 14 +++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/api/funkwhale_api/users/admin.py b/api/funkwhale_api/users/admin.py index 89b67d3df..c772603e9 100644 --- a/api/funkwhale_api/users/admin.py +++ b/api/funkwhale_api/users/admin.py @@ -5,6 +5,7 @@ from django import forms from django.contrib import admin from django.contrib.auth.admin import UserAdmin as AuthUserAdmin from django.contrib.auth.forms import UserChangeForm, UserCreationForm +from django.utils.translation import ugettext_lazy as _ from .models import User @@ -41,8 +42,22 @@ class UserAdmin(AuthUserAdmin): 'email', 'date_joined', 'last_login', - 'privacy_level', + 'is_staff', + 'is_superuser', ] list_filter = [ + 'is_superuser', + 'is_staff', 'privacy_level', + 'permission_settings', + 'permission_library', + 'permission_federation', ] + + fieldsets = ( + (None, {'fields': ('username', 'password', 'privacy_level')}), + (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}), + (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', + 'permission_library', 'permission_settings', 'permission_federation')}), + (_('Important dates'), {'fields': ('last_login', 'date_joined')}), + ) diff --git a/api/funkwhale_api/users/models.py b/api/funkwhale_api/users/models.py index 1de23092a..c16cd62b3 100644 --- a/api/funkwhale_api/users/models.py +++ b/api/funkwhale_api/users/models.py @@ -46,9 +46,17 @@ class User(AbstractUser): blank=True, null=True, max_length=255) # permissions - permission_federation = models.BooleanField(default=False) - permission_library = models.BooleanField(default=False) - permission_settings = models.BooleanField(default=False) + permission_federation = models.BooleanField( + 'Manage library federation', + help_text='Follow other instances, accept/deny library follow requests...', + default=False) + permission_library = models.BooleanField( + 'Manage library', + help_text='Import new content, manage existing content', + default=False) + permission_settings = models.BooleanField( + 'Manage instance-level settings', + default=False) def __str__(self): return self.username