Added generate admin to pramecio2

This commit is contained in:
Antonio de la Rosa 2020-01-29 00:19:32 +01:00
parent b845f78e3f
commit 97e89736b5
9 changed files with 735 additions and 8 deletions

View file

@ -1,5 +1,37 @@
from settings import config
from flask import g, url_for
from paramecio2.modules.admin.models.admin import UserAdmin
from paramecio2.libraries.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.i18n import I18n
from paramecio2.libraries.db.coreforms import SelectForm
def admin():
def admin(**args):
return "admin users"
t=args['t']
connection=g.connection
user_admin=UserAdmin(connection)
user_admin.fields['privileges'].name_form=SelectForm
user_admin.create_forms(['username', 'password', 'email', 'privileges', 'lang'])
user_admin.forms['privileges'].arr_select={0: I18n.lang('admin', 'without_privileges', 'Without privileges'), 1: I18n.lang('admin', 'selected_privileges', 'Selected privileges'), 2: I18n.lang('admin', 'administrator', 'Administrator')}
user_admin.fields['password'].protected=False
url=url_for('.admin', module='ausers')
admin=GenerateAdminClass(user_admin, url, t)
admin.list.fields_showed=['username', 'privileges']
admin.list.search_fields=['username']
admin.arr_fields_edit=['username', 'password', 'repeat_password', 'email', 'privileges', 'lang']
form_admin=admin.show()
return form_admin

View file

@ -90,8 +90,8 @@ for app_load in config_admin.values():
#print(app_load[1])
@admin_app.route('/admin')
@admin_app.route('/admin/<module>')
@admin_app.route('/admin/<module>/<submodule>')
@admin_app.route('/admin/<module>', methods=['GET', 'POST'])
@admin_app.route('/admin/<module>/<submodule>', methods=['GET', 'POST'])
def admin(module='', submodule=''):
"""
@ -109,9 +109,15 @@ def admin(module='', submodule=''):
if path_module in arr_modules_admin:
content=arr_modules_admin[path_module].admin()
content=arr_modules_admin[path_module].admin(t=t)
return t.load_template('content.phtml', title=I18n.lang('admin', 'paramecio_admin', 'Paramecio admin'), contents=content)
if type(content).__name__=='str':
return t.load_template('content.phtml', title=I18n.lang('admin', 'paramecio_admin', 'Paramecio admin'), contents=content)
else:
return content
else:
abort(404)

View file

@ -60,6 +60,16 @@
<div class="contents">
<h1>${title}</h1>
<div class="content">
<%
from flask import get_flashed_messages
%>
% for flash in get_flashed_messages():
<div class="flash">${flash}</div>
% endfor
<script>setTimeout(function () { $(".flash").fadeOut(); }, 3000);</script>
<%block name="content">
</%block>
</div>