##// END OF EJS Templates
404 page now returns the 404 status for real. Fixed some tests related to...
404 page now returns the 404 status for real. Fixed some tests related to this. Excluded ban view from the view tests because it returns 404 if the user is not banned

File last commit:

r872:752c0b44 default
r890:dec155c1 default
Show More
settings.py
39 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
CONTEXT_HIDDEN_TAGS = 'hidden_tags'
class SettingsView(BaseBoardView):
def get(self, request):
context = self.get_context_data(request=request)
settings_manager = get_settings_manager(request)
selected_theme = settings_manager.get_theme()
form = SettingsForm(initial={'theme': selected_theme},
error_class=PlainErrorList)
context[CONTEXT_FORM] = form
context[CONTEXT_HIDDEN_TAGS] = settings_manager.get_hidden_tags()
# TODO Use dict here
return render(request, 'boards/settings.html', context_instance=context)
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['theme']
settings_manager.set_theme(selected_theme)
return redirect('settings')