Fixes in libraries
This commit is contained in:
parent
5066f5320c
commit
885d3ca43a
6 changed files with 104 additions and 6 deletions
|
|
@ -10,10 +10,12 @@ from paramecio.libraries.generate_admin_class import GenerateAdminClass
|
|||
from paramecio.libraries.db.formsutils import show_form
|
||||
from paramecio.libraries.db.coreforms import SelectForm
|
||||
from paramecio.libraries.db.coreforms import PasswordForm
|
||||
from paramecio.libraries.db.coreforms import HiddenForm
|
||||
from paramecio.wsgiapp import app
|
||||
from paramecio.libraries.db.webmodel import WebModel
|
||||
from paramecio.modules.admin2.models.admin import UserAdmin2
|
||||
from paramecio.modules.admin2.models.admin import UserAdmin2, PrivilegesModule2
|
||||
from paramecio.libraries.urls import add_get_parameters
|
||||
from paramecio.modules.admin2.libraries.config import modules_admin
|
||||
|
||||
env=env_theme(__file__)
|
||||
|
||||
|
|
@ -38,7 +40,7 @@ modules_admin_icons.append('<symbol id="people-circle" viewBox="0 0 16 16"><path
|
|||
@admin_app.post('/ausers', name="admin_app.admin_users")
|
||||
def admin_users(session={}):
|
||||
|
||||
i18n=I18n('admin2')
|
||||
#i18n=I18n('admin2')
|
||||
|
||||
db=WebModel.connection()
|
||||
|
||||
|
|
@ -79,13 +81,55 @@ def admin_users(session={}):
|
|||
return t.load_template('users.phtml', title=i18n.tlang('Admin users'), tlang=i18n.tlang, module_selected='admin_app.admin_users', slist=slist, session=session)
|
||||
|
||||
@admin_app.get('/ausers/permissions/<user_id:int>', name="admin_app.admin_permissions")
|
||||
@admin_app.post('/ausers/permissions/<user_id:int>', name="admin_app.admin_permissions")
|
||||
def admin_users(user_id, session={}):
|
||||
|
||||
db=WebModel.connection()
|
||||
|
||||
user_admin=UserAdmin2(db)
|
||||
|
||||
arr_user=user_admin.select_a_row(user_id, ['username'])
|
||||
|
||||
if arr_user:
|
||||
|
||||
priv=PrivilegesModule2(db)
|
||||
|
||||
url=app.get_url('admin_app.admin_permissions', user_id=user_id)
|
||||
|
||||
admin=GenerateAdminClass(priv, url, t)
|
||||
|
||||
admin.list.fields_showed=['module']
|
||||
|
||||
admin.list.search_fields=['module']
|
||||
|
||||
priv.fields['module'].name_form=SelectForm
|
||||
|
||||
arr_modules={v[0]:i18n.clang('admin2', v[0], v[0]) for v in modules_admin}
|
||||
|
||||
priv.fields['user_id'].name_form=HiddenForm
|
||||
|
||||
priv.fields['user_id'].extra_parameters=[]
|
||||
|
||||
priv.fields['user_id'].default_value=user_id
|
||||
|
||||
priv.create_forms()
|
||||
|
||||
priv.set_conditions('WHERE user_id=%s', [user_id])
|
||||
|
||||
priv.forms['module'].arr_select=arr_modules
|
||||
|
||||
#print(user_id)
|
||||
#with db.query('select *')
|
||||
|
||||
privileges_admin=admin.show()
|
||||
|
||||
else:
|
||||
arr_user={'username': i18n.tlang('User not found')}
|
||||
privileges_admin=''
|
||||
|
||||
db.close()
|
||||
|
||||
return ""
|
||||
return t.load_template('access.phtml', title=i18n.tlang('Users permissions'), privileges_admin=privileges_admin, user=arr_user, module_selected='admin_app.admin_users')
|
||||
|
||||
def user_options(url, id, arr_row):
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from parameciofast.libraries.i18n import I18n
|
||||
from paramecio.libraries.i18n import I18n
|
||||
|
||||
"""
|
||||
I18n.l['en-US']=I18n.l.get('en-US', {})
|
||||
|
|
|
|||
|
|
@ -11,6 +11,13 @@ from paramecio.libraries.db.extrafields.ipfield import IpField
|
|||
from paramecio.libraries.db.extrafields.datetimefield import DateTimeField
|
||||
from paramecio.libraries.db.usermodel import UserModel
|
||||
|
||||
|
||||
class ModuleField(corefields.CharField):
|
||||
|
||||
def show_formatted(self, value):
|
||||
|
||||
return I18n.lang('admin2', value, value)
|
||||
|
||||
class PrivilegesField2(corefields.IntegerField):
|
||||
|
||||
def show_formatted(self, value):
|
||||
|
|
@ -76,3 +83,11 @@ class LoginTries2(WebModel):
|
|||
self.register(corefields.IntegerField('num_tries', 1))
|
||||
self.register(DateTimeField('last_login'))
|
||||
|
||||
class PrivilegesModule2(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
self.register(corefields.ForeignKeyField('user_id', UserAdmin2(connection), 11, False, 'id', 'username', select_fields=[]), True)
|
||||
self.register(ModuleField('module'), True)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
<%inherit file="layout.phtml"/>
|
||||
<%block name="content">
|
||||
|
||||
<h3>${tlang('User')}: ${user['username'].capitalize()}</h3>
|
||||
<p><a href="${url_for('admin_app.admin_users')}">${tlang('Users')}</a> >> ${tlang('Permissions')}</p>
|
||||
${privileges_admin|n}
|
||||
<p><a href="${url_for('admin_app.admin_users')}">${tlang('Users')}</a> >> ${tlang('Permissions')}</p>
|
||||
</%block>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
<%
|
||||
|
||||
from paramecio.modules.admin2.libraries.config import modules_admin, modules_admin_icons
|
||||
from parameciofast.libraries.i18n import I18n
|
||||
from paramecio.libraries.i18n import I18n
|
||||
from paramecio.libraries.sessionplugin import get_session
|
||||
|
||||
i18n=I18n('admin2')
|
||||
|
||||
dark_checked=""
|
||||
dark_css=""
|
||||
|
||||
session=get_session()
|
||||
|
||||
if session.get('theme', '0')==True:
|
||||
dark_checked='checked'
|
||||
dark_css='dark'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue