##// END OF EJS Templates
Make status an error if the user is banned in api_add_post
Make status an error if the user is banned in api_add_post

File last commit:

r565:98476b33 1.7-dev
r638:e9babb2a 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')