remove settings. everything should be configured via the .env file.

This commit is contained in:
2021-04-21 09:01:18 +01:00
parent 64acde19db
commit c14049ec54
7 changed files with 20 additions and 65 deletions

View File

@@ -1,11 +1,6 @@
from django.contrib import admin from django.contrib import admin
from comic.models import ComicBook, ComicPage, ComicStatus, Directory, Setting from comic.models import ComicBook, ComicPage, ComicStatus, Directory
@admin.register(Setting)
class SettingAdmin(admin.ModelAdmin):
list_display = ("name", "value")
@admin.register(ComicBook) @admin.register(ComicBook)

View File

@@ -3,8 +3,6 @@ from os import path
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth.models import User
from comic.models import Setting
class InitialSetupForm(forms.Form): class InitialSetupForm(forms.Form):
username = forms.CharField(widget=forms.TextInput(attrs={"class": "form-control"})) username = forms.CharField(widget=forms.TextInput(attrs={"class": "form-control"}))
@@ -113,21 +111,4 @@ class EditUserForm(forms.Form):
data = self.cleaned_data["password"] data = self.cleaned_data["password"]
if len(data) < 8 & len(data) != 0: if len(data) < 8 & len(data) != 0:
raise forms.ValidationError("Password is too short") raise forms.ValidationError("Password is too short")
return data return data
class SettingsForm(forms.Form):
base_dir = forms.CharField(widget=forms.TextInput(attrs={"class": "form-control"}))
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
def get_initial_values():
base_dir, _ = Setting.objects.get_or_create(name="BASE_DIR")
initial = {"base_dir": base_dir.value}
return initial

View File

@@ -0,0 +1,16 @@
# Generated by Django 3.2 on 2021-04-21 07:56
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('comic', '0020_alter_directory_options'),
]
operations = [
migrations.DeleteModel(
name='Setting',
),
]

View File

@@ -24,17 +24,6 @@ if settings.UNRAR_TOOL:
rarfile.UNRAR_TOOL = settings.UNRAR_TOOL rarfile.UNRAR_TOOL = settings.UNRAR_TOOL
class Setting(models.Model):
name = models.CharField(max_length=100, unique=True)
value = models.TextField()
def __str__(self):
return '"%s":"%s"' % (self.name, self.value)
def __unicode__(self):
return self.__str__()
class Directory(models.Model): class Directory(models.Model):
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
parent = models.ForeignKey("Directory", null=True, blank=True, on_delete=models.CASCADE) parent = models.ForeignKey("Directory", null=True, blank=True, on_delete=models.CASCADE)

View File

@@ -5,7 +5,6 @@ from . import feeds, views
urlpatterns = [ urlpatterns = [
path("", views.comic_list, name="index"), path("", views.comic_list, name="index"),
path("settings/", views.settings_page, name="settings"),
path("settings/users/", views.users_page, name="users"), path("settings/users/", views.users_page, name="users"),
path("settings/users/<int:user_id>/", views.user_config_page, name="user_details"), path("settings/users/<int:user_id>/", views.user_config_page, name="user_details"),
path("settings/users/add/", views.user_add_page, name="add_users"), path("settings/users/add/", views.user_add_page, name="add_users"),

View File

@@ -26,7 +26,6 @@ class Menu:
self.menu_items["Recent"] = "/comic/recent/" self.menu_items["Recent"] = "/comic/recent/"
self.menu_items["Account"] = "/comic/account/" self.menu_items["Account"] = "/comic/account/"
if user.is_superuser: if user.is_superuser:
self.menu_items["Settings"] = "/comic/settings/"
self.menu_items["Users"] = "/comic/settings/users/" self.menu_items["Users"] = "/comic/settings/users/"
self.menu_items["Logout"] = "/logout/" self.menu_items["Logout"] = "/logout/"
self.current_page = page self.current_page = page

View File

@@ -13,8 +13,8 @@ from django.views.decorators.clickjacking import xframe_options_sameorigin
from django.views.decorators.csrf import ensure_csrf_cookie from django.views.decorators.csrf import ensure_csrf_cookie
from django.views.decorators.http import require_POST from django.views.decorators.http import require_POST
from .forms import AccountForm, AddUserForm, EditUserForm, InitialSetupForm, SettingsForm from .forms import AccountForm, AddUserForm, EditUserForm, InitialSetupForm
from .models import ComicBook, ComicPage, ComicStatus, Directory, Setting, UserMisc from .models import ComicBook, ComicPage, ComicStatus, Directory, UserMisc
from .util import ( from .util import (
Menu, Menu,
generate_breadcrumbs_from_menu, generate_breadcrumbs_from_menu,
@@ -268,30 +268,6 @@ def user_add_page(request):
return render(request, "comic/settings_page.html", context) return render(request, "comic/settings_page.html", context)
@user_passes_test(lambda u: u.is_superuser)
def settings_page(request):
success_message = []
crumbs = [("Settings", "/comic/settings/")]
if request.POST:
form = SettingsForm(request.POST)
if form.is_valid():
base_dir = Setting.objects.get(name="BASE_DIR")
base_dir.value = form.cleaned_data["base_dir"]
base_dir.save()
success_message.append("Settings updated.")
form = SettingsForm(initial=SettingsForm.get_initial_values())
context = {
"error_message": form.errors,
"success_message": "</br>".join(success_message),
"form": form,
"menu": Menu(request.user, "Settings"),
"title": "CBWebReader - Settings",
"breadcrumbs": generate_breadcrumbs_from_menu(crumbs),
}
return render(request, "comic/settings_page.html", context)
@login_required @login_required
def read_comic(request, comic_selector): def read_comic(request, comic_selector):