bugfix
This commit is contained in:
parent
9f852a739e
commit
9fd6eba6da
@ -1,22 +0,0 @@
|
||||
{
|
||||
"models_dir": "${HOME}$/py/rbac/models",
|
||||
"output_dir": "${HOME}$/py/sage/wwwroot/_a/userroles",
|
||||
"dbname": "sage",
|
||||
"tblname": "userroles",
|
||||
"title":"用户",
|
||||
"params": {
|
||||
"relation":{
|
||||
"outter_field":"roleid",
|
||||
"param_field":"userid"
|
||||
},
|
||||
"browserfields": {
|
||||
"exclouded": ["id", "userid"],
|
||||
"cwidth": {}
|
||||
},
|
||||
"editexclouded": [
|
||||
"id",
|
||||
"userid"
|
||||
],
|
||||
"record_toolbar": null
|
||||
}
|
||||
}
|
@ -6,6 +6,7 @@
|
||||
"title":"用户",
|
||||
"params": {
|
||||
"sortby":"username",
|
||||
"logined_userorgid":"orgid",
|
||||
"browserfields": {
|
||||
"exclouded": ["id"],
|
||||
"cwidth": {}
|
||||
@ -13,6 +14,12 @@
|
||||
"editexclouded": [
|
||||
"id"
|
||||
],
|
||||
"record_toolbar": null
|
||||
"subtables": [
|
||||
{
|
||||
"field":"userid",
|
||||
"title":"用户角色",
|
||||
"subtable":"userrole"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
23
wwwroot/add_adminuser.dspy
Normal file
23
wwwroot/add_adminuser.dspy
Normal file
@ -0,0 +1,23 @@
|
||||
if params_kw.get('password') != params_kw.get('chkpassword'):
|
||||
return Error(title='add user error', message='password not match')
|
||||
|
||||
ns = params_kw.copy()
|
||||
ns['id'] = uuid()
|
||||
await rfexe('passowrd', ns)
|
||||
user_orgid = await get_userorgid()
|
||||
ns['orgid'] = user_orgid
|
||||
dbname = await rfexe('get_module_dbname','rbac')
|
||||
db = DBPools()
|
||||
debug(f'{dbname=}')
|
||||
async with db.sqlorContext(dbname) as sor:
|
||||
await sor.C('users',ns.copy())
|
||||
uid = ns['id']
|
||||
ns = {
|
||||
'id':uuid(),
|
||||
'userid':uid,
|
||||
'roleid':'admin'
|
||||
}
|
||||
await sor.C('userrole', ns.copy())
|
||||
return UiMesage(title='Success', message='admin user added')
|
||||
return UiError(title='Error', message='Error happened when add admin user')
|
||||
|
@ -28,7 +28,7 @@
|
||||
"widgettype":"Text",
|
||||
"options":{
|
||||
"wrap":false,
|
||||
"text":"{{get_username()}}"
|
||||
"text":"{{get_username()}}({{str(get_user_roles(get_user()))}})"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -2,7 +2,7 @@
|
||||
"id":"user_panel",
|
||||
"widgettype":"VBox",
|
||||
"options":{
|
||||
"width":"100px"
|
||||
"width":"auto"
|
||||
},
|
||||
"subwidgets":[
|
||||
{
|
||||
|
11
wwwroot/userpassword_login.dspy
Normal file
11
wwwroot/userpassword_login.dspy
Normal file
@ -0,0 +1,11 @@
|
||||
username = params_kw.get('username')
|
||||
passwd = params_kw.get('passwd')
|
||||
if not passwd:
|
||||
return UiError(title='Login failed', message='Password is required')
|
||||
passwd = password(passwd)
|
||||
rzt = await check_user_password(request, username, passwd)
|
||||
if rzt:
|
||||
return UiMessage(title='Logined', message=f'Welcome back ')
|
||||
return UiError(title='login failed', message='user and password mismatch')
|
||||
|
||||
|
43
wwwroot/userpassword_login.ui
Normal file
43
wwwroot/userpassword_login.ui
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"id":"login_window",
|
||||
"widgettype":"PopupWindow",
|
||||
"options":{
|
||||
"auto_open":true,
|
||||
"anthor":"cc",
|
||||
"cwidth":20,
|
||||
"cheight":"14"
|
||||
},
|
||||
"subwidgets":[
|
||||
{
|
||||
"widgettype":"Form",
|
||||
"id":"userpasswd",
|
||||
"options":{
|
||||
"cols":1,
|
||||
"fields":[
|
||||
{
|
||||
"name":"username",
|
||||
"label":"用户名",
|
||||
"uitype":"str"
|
||||
},
|
||||
{
|
||||
"name":"passwd",
|
||||
"label":"密码",
|
||||
"uitype":"password"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"binds":[
|
||||
{
|
||||
"wid":"userpasswd",
|
||||
"event":"submit",
|
||||
"actiontype":"urlwidget",
|
||||
"target":"self",
|
||||
"options":{
|
||||
"url":"{{entire_url('userpassword_login.dspy')}}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user