2025.10.06-03:08:05

This commit is contained in:
2025-10-06 03:08:05 +02:00
parent 38a85cb9d5
commit e08b03bb42
57 changed files with 3222 additions and 157 deletions

View File

@@ -6,6 +6,57 @@ from typing import Any
class Base:
base_template_name = settings.TINYWIKI_BASE_TEMPLATE
@property
def user_can_edit_pages(self)->bool:
if (self.request.user.is_staff
or self.request.user.has_perm('page.tiynwiki-edit')
or self.request.user.has_perm('page.tinywiki-edit-all')):
return True
return False
@property
def user_can_edit_all_pages(self)->bool:
if (self.request.user.is_staff
or self.request.user.has_perm('page.tinywiki-edit-all')):
return True
return False
@property
def user_can_edit_system_pages(self)->bool:
if (self.request.user.is_staff
or self.request.user.has_perm('page.tiynwiki-edit-system')):
return True
return False
@property
def user_can_create_pages(self)->bool:
if (self.request.user.is_staff
or self.request.user.has_perm('page.tiynwiki-create')):
return True
return False
@property
def user_can_create_system_pages(self)->bool:
if (self.request.user.is_staff
or self.request.user.has_perm('page.tiynwiki-create-system')):
return True
return False
def page_is_creatable(self,slug:str)->bool:
if not slug:
return False
if slug.startswith('tw-'):
return self.user_can_create_system_pages
return self.user_can_create_pages
def page_is_editable(self,page)->bool:
if page.slug.startswith('tw-'):
return self.user_can_edit_system_pages
elif (self.user_can_edit_all_pages
or (self.request.user.pk == page.author.pk and self.user_can_edit_pages)):
return True
return False
@classmethod
def get_base_template_name(cls)->str:
return cls.base_template_name