Skip to content
Snippets Groups Projects
dynamic_preferences_registry.py 1.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • from dynamic_preferences import types
    from dynamic_preferences.registries import global_preferences_registry
    
    
    from funkwhale_api.common import preferences as common_preferences
    
    from . import models
    
    
    users = types.Section('users')
    
    
    @global_preferences_registry.register
    class RegistrationEnabled(types.BooleanPreference):
        show_in_api = True
        section = users
        name = 'registration_enabled'
        default = False
    
        verbose_name = 'Open registrations to new users'
        help_text = (
            'When enabled, new users will be able to register on this instance.'
    
    
    
    @global_preferences_registry.register
    class DefaultPermissions(common_preferences.StringListPreference):
        show_in_api = True
        section = users
        name = 'default_permissions'
        default = []
        verbose_name = 'Default permissions'
        help_text = (
            'A list of default preferences to give to all registered users.'
        )
        choices = [
            (k, c['label'])
            for k, c in models.PERMISSIONS_CONFIGURATION.items()
        ]
        field_kwargs = {
            'choices': choices,
            'required': False,
        }