mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
remove settings. everything should be configured via the .env file.
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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"}))
|
||||||
@@ -114,20 +112,3 @@ class EditUserForm(forms.Form):
|
|||||||
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
|
|
||||||
|
|||||||
16
comic/migrations/0021_delete_setting.py
Normal file
16
comic/migrations/0021_delete_setting.py
Normal 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',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -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)
|
||||||
|
|||||||
@@ -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"),
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user