CMS-Mode implemented
This commit is contained in:
parent
915f9ed243
commit
17f051bbf5
@ -6,6 +6,7 @@ from django.conf import settings
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from pages import access
|
||||
import pages.parameter
|
||||
from .help import actionbar as actionbar_add_help
|
||||
import mycreole
|
||||
import pages
|
||||
@ -22,6 +23,11 @@ INDEX_UID = 'index'
|
||||
NAVIGATION_ENTRY_UID = 'navigation-%s'
|
||||
|
||||
|
||||
def cms_mode_active(request):
|
||||
user_logged_in = request.user.is_authenticated
|
||||
return pages.parameter.get(pages.parameter.CMS_MODE) and not user_logged_in
|
||||
|
||||
|
||||
def context_adaption(context, request, **kwargs):
|
||||
caller_name = inspect.currentframe().f_back.f_code.co_name
|
||||
try:
|
||||
@ -56,24 +62,26 @@ def navigationbar(context, request, caller_name, **kwargs):
|
||||
|
||||
def menubar(context, request, caller_name, **kwargs):
|
||||
bar = context[context.MENUBAR]
|
||||
menubar_users(bar, request)
|
||||
add_help_menu(request, bar, "current_help_page" in kwargs)
|
||||
if not cms_mode_active(request):
|
||||
menubar_users(bar, request)
|
||||
add_help_menu(request, bar, "current_help_page" in kwargs)
|
||||
add_index_menu(request, bar, kwargs.get("rel_path", ''))
|
||||
finalise_bar(request, bar)
|
||||
|
||||
|
||||
def actionbar(context, request, caller_name, **kwargs):
|
||||
bar = context[context.ACTIONBAR]
|
||||
if caller_name == 'page':
|
||||
if access.write_page(request, kwargs["rel_path"]):
|
||||
add_edit_menu(request, bar, kwargs["rel_path"])
|
||||
if access.modify_attachment(request, kwargs["rel_path"]):
|
||||
add_manageupload_menu(request, bar, kwargs['upload_path'])
|
||||
if access.read_page(request, kwargs["rel_path"]):
|
||||
add_meta_menu(request, bar, kwargs["rel_path"])
|
||||
elif caller_name == 'helpview':
|
||||
actionbar_add_help(context, request, **kwargs)
|
||||
finalise_bar(request, bar)
|
||||
if not cms_mode_active(request):
|
||||
if caller_name == 'page':
|
||||
if access.write_page(request, kwargs["rel_path"]):
|
||||
add_edit_menu(request, bar, kwargs["rel_path"])
|
||||
if access.modify_attachment(request, kwargs["rel_path"]):
|
||||
add_manageupload_menu(request, bar, kwargs['upload_path'])
|
||||
if access.read_page(request, kwargs["rel_path"]):
|
||||
add_meta_menu(request, bar, kwargs["rel_path"])
|
||||
elif caller_name == 'helpview':
|
||||
actionbar_add_help(context, request, **kwargs)
|
||||
finalise_bar(request, bar)
|
||||
|
||||
|
||||
def add_back_menu(request, bar):
|
||||
|
36
pages/parameter.py
Normal file
36
pages/parameter.py
Normal file
@ -0,0 +1,36 @@
|
||||
import config
|
||||
from django.conf import settings
|
||||
import importlib
|
||||
import os
|
||||
|
||||
CMS_MODE = "CMS_MODE"
|
||||
|
||||
|
||||
def no_access(*args, **kwargs):
|
||||
return False
|
||||
|
||||
|
||||
DEFAULTS = {
|
||||
CMS_MODE: True,
|
||||
}
|
||||
|
||||
|
||||
def __get_object_by_name__(object_name):
|
||||
class_data = object_name.split(".")
|
||||
module_path = ".".join(class_data[:-1])
|
||||
class_str = class_data[-1]
|
||||
#
|
||||
module = importlib.import_module(module_path)
|
||||
return getattr(module, class_str)
|
||||
|
||||
|
||||
def get(key):
|
||||
# take data from config, settings or defaults
|
||||
try:
|
||||
data = getattr(config, key)
|
||||
except AttributeError:
|
||||
try:
|
||||
data = getattr(settings, key)
|
||||
except AttributeError:
|
||||
data = DEFAULTS.get(key)
|
||||
return data
|
@ -20,6 +20,7 @@ from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
|
||||
import pages.views
|
||||
import users
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
@ -37,6 +38,7 @@ urlpatterns = [
|
||||
path('mycreole/', include('mycreole.urls')),
|
||||
# users
|
||||
path('users/', include('users.urls')),
|
||||
path('login/', users.views.login, name='users-login-root'),
|
||||
]
|
||||
|
||||
if settings.DEBUG:
|
||||
|
Loading…
x
Reference in New Issue
Block a user