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 comic.models import ComicBook, ComicPage, ComicStatus, Directory, Setting
@admin.register(Setting)
class SettingAdmin(admin.ModelAdmin):
list_display = ("name", "value")
from comic.models import ComicBook, ComicPage, ComicStatus, Directory
@admin.register(ComicBook)

View File

@@ -3,8 +3,6 @@ from os import path
from django import forms
from django.contrib.auth.models import User
from comic.models import Setting
class InitialSetupForm(forms.Form):
username = forms.CharField(widget=forms.TextInput(attrs={"class": "form-control"}))
@@ -114,20 +112,3 @@ class EditUserForm(forms.Form):
if len(data) < 8 & len(data) != 0:
raise forms.ValidationError("Password is too short")
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
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):
name = models.CharField(max_length=100)
parent = models.ForeignKey("Directory", null=True, blank=True, on_delete=models.CASCADE)

View File

@@ -5,7 +5,6 @@ from . import feeds, views
urlpatterns = [
path("", views.comic_list, name="index"),
path("settings/", views.settings_page, name="settings"),
path("settings/users/", views.users_page, name="users"),
path("settings/users/<int:user_id>/", views.user_config_page, name="user_details"),
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["Account"] = "/comic/account/"
if user.is_superuser:
self.menu_items["Settings"] = "/comic/settings/"
self.menu_items["Users"] = "/comic/settings/users/"
self.menu_items["Logout"] = "/logout/"
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.http import require_POST
from .forms import AccountForm, AddUserForm, EditUserForm, InitialSetupForm, SettingsForm
from .models import ComicBook, ComicPage, ComicStatus, Directory, Setting, UserMisc
from .forms import AccountForm, AddUserForm, EditUserForm, InitialSetupForm
from .models import ComicBook, ComicPage, ComicStatus, Directory, UserMisc
from .util import (
Menu,
generate_breadcrumbs_from_menu,
@@ -268,30 +268,6 @@ def user_add_page(request):
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
def read_comic(request, comic_selector):