2022-11-16 16:23:46 -08:00
|
|
|
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!
|
|
|
|
"""
|
|
|
|
|
2022-11-16 20:12:28 -08:00
|
|
|
extra_context = {"top_section": "settings"}
|
|
|
|
|
2022-11-16 16:23:46 -08:00
|
|
|
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!'",
|
|
|
|
}
|
|
|
|
}
|