diff options
author | Andrew Godwin | 2022-11-16 17:23:46 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-11-16 17:23:46 -0700 |
commit | 44af0d4c59eed1c3715e9044e75c159cfddf54cc (patch) | |
tree | d2c87f953de12a526a158f2c03def5eb08b2d203 /users/views/settings_identity.py | |
parent | 495e955378d62dc439c4c210785e5d401bc77f64 (diff) | |
download | takahe-44af0d4c59eed1c3715e9044e75c159cfddf54cc.tar.gz takahe-44af0d4c59eed1c3715e9044e75c159cfddf54cc.tar.bz2 takahe-44af0d4c59eed1c3715e9044e75c159cfddf54cc.zip |
Add start of a settings (config) system
Diffstat (limited to 'users/views/settings_identity.py')
-rw-r--r-- | users/views/settings_identity.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/users/views/settings_identity.py b/users/views/settings_identity.py new file mode 100644 index 0000000..8c52f9e --- /dev/null +++ b/users/views/settings_identity.py @@ -0,0 +1,39 @@ +from django.utils.decorators import method_decorator +from django.views.generic import RedirectView + +from core.models import Config +from users.decorators import identity_required +from users.views.settings_system import SystemSettingsPage + + +@method_decorator(identity_required, name="dispatch") +class IdentitySettingsRoot(RedirectView): + url = "/settings/interface/" + + +class IdentitySettingsPage(SystemSettingsPage): + """ + Shows a settings page dynamically created from our settings layout + at the bottom of the page. Don't add this to a URL directly - subclass! + """ + + options_class = Config.IdentityOptions + template_name = "settings/settings_identity.html" + + def load_config(self): + return Config.load_identity(self.request.identity) + + def save_config(self, key, value): + Config.set_identity(self.request.identity, key, value) + + +class InterfacePage(IdentitySettingsPage): + + section = "interface" + + options = { + "toot_mode": { + "title": "I Will Toot As I Please", + "help_text": "If enabled, changes all 'Post' buttons to 'Toot!'", + } + } |