##// END OF EJS Templates
Delete replies properly when deleting a thread. Delete thread directly, not by...
Delete replies properly when deleting a thread. Delete thread directly, not by deleting its OP

File last commit:

r919:84a3726d default
r950:e663371b 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')