Fix #30: added instance preferences for name and descriptions
This commit is contained in:
parent
b4ace3c9dd
commit
cdabb26989
|
@ -1,9 +1,42 @@
|
||||||
|
from django.forms import widgets
|
||||||
|
|
||||||
from dynamic_preferences import types
|
from dynamic_preferences import types
|
||||||
from dynamic_preferences.registries import global_preferences_registry
|
from dynamic_preferences.registries import global_preferences_registry
|
||||||
|
|
||||||
raven = types.Section('raven')
|
raven = types.Section('raven')
|
||||||
|
instance = types.Section('instance')
|
||||||
|
|
||||||
|
|
||||||
|
@global_preferences_registry.register
|
||||||
|
class InstanceName(types.StringPreference):
|
||||||
|
show_in_api = True
|
||||||
|
section = instance
|
||||||
|
name = 'name'
|
||||||
|
default = ''
|
||||||
|
help_text = 'Instance public name'
|
||||||
|
verbose_name = 'The public name of your instance'
|
||||||
|
|
||||||
|
|
||||||
|
@global_preferences_registry.register
|
||||||
|
class InstanceShortDescription(types.StringPreference):
|
||||||
|
show_in_api = True
|
||||||
|
section = instance
|
||||||
|
name = 'short_description'
|
||||||
|
default = ''
|
||||||
|
verbose_name = 'Instance succinct description'
|
||||||
|
|
||||||
|
|
||||||
|
@global_preferences_registry.register
|
||||||
|
class InstanceLongDescription(types.StringPreference):
|
||||||
|
show_in_api = True
|
||||||
|
section = instance
|
||||||
|
name = 'long_description'
|
||||||
|
default = ''
|
||||||
|
help_text = 'Instance long description (markdown allowed)'
|
||||||
|
field_kwargs = {
|
||||||
|
'widget': widgets.Textarea
|
||||||
|
}
|
||||||
|
|
||||||
@global_preferences_registry.register
|
@global_preferences_registry.register
|
||||||
class RavenDSN(types.StringPreference):
|
class RavenDSN(types.StringPreference):
|
||||||
show_in_api = True
|
show_in_api = True
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import pytest
|
||||||
|
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from dynamic_preferences.api import serializers
|
from dynamic_preferences.api import serializers
|
||||||
|
@ -20,3 +22,14 @@ def test_can_list_settings_via_api(preferences, api_client):
|
||||||
for p in response.data:
|
for p in response.data:
|
||||||
i = '__'.join([p['section'], p['name']])
|
i = '__'.join([p['section'], p['name']])
|
||||||
assert i in expected_preferences
|
assert i in expected_preferences
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('pref,value', [
|
||||||
|
('instance__name', 'My instance'),
|
||||||
|
('instance__short_description', 'For music lovers'),
|
||||||
|
('instance__long_description', 'For real music lovers'),
|
||||||
|
])
|
||||||
|
def test_instance_settings(pref, value, preferences):
|
||||||
|
preferences[pref] = value
|
||||||
|
|
||||||
|
assert preferences[pref] == value
|
||||||
|
|
Loading…
Reference in New Issue