parameciofm/paramecio/libraries/base_admin.py

61 lines
1.4 KiB
Python

#!/usr/bin/env python3
from paramecio.libraries.mtemplates import PTemplate
from paramecio.libraries.adminutils import check_login, get_language, get_menu
from paramecio.libraries.db.webmodel import WebModel
from paramecio.libraries.sessions import get_session
from paramecio.libraries.i18n import I18n
try:
from settings import config
except:
class config:
admin_folder='admin'
try:
from settings import config_admin
except:
class config_admin:
modules_admin=[]
#Load menu in runtime
menu=get_menu(config_admin.modules_admin)
def base_admin(func_view, env, title, **args):
env.directories.insert(1, config.paramecio_root+'/modules/admin/templates')
content_index=''
connection=WebModel.connection()
#Fix, make local variable
t=PTemplate(env)
s=get_session()
if check_login():
lang_selected=get_language(s)
content_index=func_view(connection, t, s, **args)
return t.render_template('admin/content.html', title=title, content_index=content_index, menu=menu, lang_selected=lang_selected, arr_i18n=I18n.dict_i18n)
else:
redirect(make_url(config.admin_folder))
def base_simple_admin(func_view, env, title, **args):
if check_login():
return func_view(connection, t, s, **args)