##// END OF EJS Templates
"up" button will be visible always, not only at the page bottom
"up" button will be visible always, not only at the page bottom

File last commit:

r919:84a3726d default
r974:a0151a6e default
Show More
settings.py
41 lines | 1.2 KiB | text/x-python | PythonLexer
from django.db import transaction
from django.shortcuts import render, redirect
from boards.abstracts.settingsmanager import get_settings_manager
from boards.views.base import BaseBoardView, CONTEXT_FORM
from boards.forms import SettingsForm, PlainErrorList
FORM_THEME = 'theme'
CONTEXT_HIDDEN_TAGS = 'hidden_tags'
class SettingsView(BaseBoardView):
def get(self, request):
params = self.get_context_data()
settings_manager = get_settings_manager(request)
selected_theme = settings_manager.get_theme()
form = SettingsForm(initial={FORM_THEME: selected_theme},
error_class=PlainErrorList)
params[CONTEXT_FORM] = form
params[CONTEXT_HIDDEN_TAGS] = settings_manager.get_hidden_tags()
# TODO Use dict here
return render(request, 'boards/settings.html', params)
def post(self, request):
settings_manager = get_settings_manager(request)
with transaction.atomic():
form = SettingsForm(request.POST, error_class=PlainErrorList)
if form.is_valid():
selected_theme = form.cleaned_data[FORM_THEME]
settings_manager.set_theme(selected_theme)
return redirect('settings')