2025.09.17-19:07:57

This commit is contained in:
2025-09-17 19:07:58 +02:00
parent ff37c9cd8b
commit 38a85cb9d5
47 changed files with 1530 additions and 38 deletions

43
tinywiki/views/base.py Normal file
View File

@@ -0,0 +1,43 @@
from .. import settings
from django.views import View as DjangoView
from django.views.generic import FormView as DjangoFormView
from typing import Any
class Base:
base_template_name = settings.TINYWIKI_BASE_TEMPLATE
@classmethod
def get_base_template_name(cls)->str:
return cls.base_template_name
@classmethod
def get_template_name(cls)->str:
return cls.template_name
def get_tinywiki_context_data(self):
create_pages = False
if self.request.user.is_authenticated:
if self.request.user.is_staff or self.request.user.has_perm('tinywiki.tinywiki-create'):
create_pages = True
return {
'brand_logo': settings.TINYWIKI_BRAND_LOGO,
'brand_name': settings.TINYWIKI_BRAND_NAME,
'base_template': self.get_base_template_name(),
'use_bootstrap': settings.USE_BOOTSTRAP,
'user_can_create_wiki_pages':create_pages
}
class View(Base,DjangoView):
template_name = "tinywiki"
def get_context_data(self,**kwargs):
context = self.get_tinywiki_context_data()
context.update(kwargs)
return context
class FormView(Base,DjangoFormView):
def get_context_data(self, **kwargs) -> dict[str, Any]:
context = self.get_tinywiki_context_data()
context.update(kwargs)
return super().get_context_data(**context)