##// END OF EJS Templates
Using opening post ID from cache, not passing it to the post view
Using opening post ID from cache, not passing it to the post view

File last commit:

r565:98476b33 1.7-dev
r621:59a1deab default
Show More
settings.py
52 lines | 1.7 KiB | text/x-python | PythonLexer
neko259
Made settings view class-based
r547 from django.db import transaction
from django.shortcuts import render, redirect
from boards.views.base import BaseBoardView, PARAMETER_FORM
from boards.forms import SettingsForm, ModeratorSettingsForm, PlainErrorList
neko259
Moved static page view to the class-based. Removed old methods from the view...
r565 from boards.models.post import SETTING_MODERATE
neko259
Made settings view class-based
r547
neko259
Minor style fixes to view classes. Fixed ban view
r561
neko259
Made settings view class-based
r547 class SettingsView(BaseBoardView):
def get(self, request):
context = self.get_context_data(request=request)
user = context['user']
is_moderator = user.is_moderator()
selected_theme = context['theme']
if is_moderator:
neko259
Minor style fixes to view classes. Fixed ban view
r561 form = ModeratorSettingsForm(initial={
'theme': selected_theme,
'moderate': context['moderator']
}, error_class=PlainErrorList)
neko259
Made settings view class-based
r547 else:
form = SettingsForm(initial={'theme': selected_theme},
error_class=PlainErrorList)
context[PARAMETER_FORM] = form
return render(request, 'boards/settings.html', context)
def post(self, request):
context = self.get_context_data(request=request)
user = context['user']
is_moderator = user.is_moderator()
with transaction.atomic():
if is_moderator:
form = ModeratorSettingsForm(request.POST,
error_class=PlainErrorList)
else:
form = SettingsForm(request.POST, error_class=PlainErrorList)
if form.is_valid():
selected_theme = form.cleaned_data['theme']
user.save_setting('theme', selected_theme)
if is_moderator:
moderate = form.cleaned_data['moderate']
user.save_setting(SETTING_MODERATE, moderate)
return redirect('settings')