mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 14:17:19 +00:00
moved some validation from settings page to form.
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
from os import path
|
||||||
|
|
||||||
from comic.models import Setting
|
from comic.models import Setting
|
||||||
|
|
||||||
|
|
||||||
@@ -174,6 +177,12 @@ class SettingsForm(forms.Form):
|
|||||||
}
|
}
|
||||||
))
|
))
|
||||||
|
|
||||||
|
def clean_base_dir(self):
|
||||||
|
data = self.cleaned_data['base_dir']
|
||||||
|
if not path.isdir(data):
|
||||||
|
raise forms.ValidationError('This is not a valid Directory')
|
||||||
|
return data
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_initial_values():
|
def get_initial_values():
|
||||||
base_dir, created = Setting.objects.get_or_create(name='BASE_DIR')
|
base_dir, created = Setting.objects.get_or_create(name='BASE_DIR')
|
||||||
|
|||||||
@@ -140,33 +140,32 @@ def user_add_page(request):
|
|||||||
|
|
||||||
@user_passes_test(lambda u: u.is_superuser)
|
@user_passes_test(lambda u: u.is_superuser)
|
||||||
def settings_page(request):
|
def settings_page(request):
|
||||||
error_message = ''
|
success_message = []
|
||||||
if request.POST:
|
if request.POST:
|
||||||
form = SettingsForm(request.POST)
|
form = SettingsForm(request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
if path.isdir(form.cleaned_data['base_dir']):
|
base_dir = Setting.objects.get(name='BASE_DIR')
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR')
|
base_dir.value = form.cleaned_data['base_dir']
|
||||||
base_dir.value = form.cleaned_data['base_dir']
|
base_dir.save()
|
||||||
base_dir.save()
|
|
||||||
else:
|
|
||||||
error_message = 'This is not a valid Directory'
|
|
||||||
recap = Setting.objects.get(name='RECAPTCHA')
|
recap = Setting.objects.get(name='RECAPTCHA')
|
||||||
if form.cleaned_data['recaptcha']:
|
if form.cleaned_data['recaptcha']:
|
||||||
recap.value = '1'
|
recap.value = '1'
|
||||||
else:
|
else:
|
||||||
recap.value = '0'
|
recap.value = '0'
|
||||||
recap.save()
|
recap.save()
|
||||||
rprik = Setting.objects.get(name='RECAPTCHA_PRIVATE_KEY')
|
recaptcha_private_key = Setting.objects.get(name='RECAPTCHA_PRIVATE_KEY')
|
||||||
rprik.value = form.cleaned_data['recaptcha_private_key']
|
recaptcha_private_key.value = form.cleaned_data['recaptcha_private_key']
|
||||||
rprik.save()
|
recaptcha_private_key.save()
|
||||||
rpubk = Setting.objects.get(name='RECAPTCHA_PUBLIC_KEY')
|
recaptcha_public_key = Setting.objects.get(name='RECAPTCHA_PUBLIC_KEY')
|
||||||
rpubk.value = form.cleaned_data['recaptcha_public_key']
|
recaptcha_public_key.value = form.cleaned_data['recaptcha_public_key']
|
||||||
rpubk.save()
|
recaptcha_public_key.save()
|
||||||
|
success_message.append('Settings updated.')
|
||||||
form = SettingsForm(initial=SettingsForm.get_initial_values())
|
form = SettingsForm(initial=SettingsForm.get_initial_values())
|
||||||
context = RequestContext(request, {
|
context = RequestContext(request, {
|
||||||
'error_message': error_message,
|
'error_message': form.errors,
|
||||||
|
'success_message': '</br>'.join(success_message),
|
||||||
'form': form,
|
'form': form,
|
||||||
'menu': Menu(request.user, 'Settings')
|
'menu': Menu(request.user, 'Settings'),
|
||||||
})
|
})
|
||||||
return render(request, 'comic/settings_page.html', context)
|
return render(request, 'comic/settings_page.html', context)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user