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":"用户",
|
"title":"用户",
|
||||||
"params": {
|
"params": {
|
||||||
"sortby":"username",
|
"sortby":"username",
|
||||||
|
"logined_userorgid":"orgid",
|
||||||
"browserfields": {
|
"browserfields": {
|
||||||
"exclouded": ["id"],
|
"exclouded": ["id"],
|
||||||
"cwidth": {}
|
"cwidth": {}
|
||||||
@ -13,6 +14,12 @@
|
|||||||
"editexclouded": [
|
"editexclouded": [
|
||||||
"id"
|
"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",
|
"widgettype":"Text",
|
||||||
"options":{
|
"options":{
|
||||||
"wrap":false,
|
"wrap":false,
|
||||||
"text":"{{get_username()}}"
|
"text":"{{get_username()}}({{str(get_user_roles(get_user()))}})"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"id":"user_panel",
|
"id":"user_panel",
|
||||||
"widgettype":"VBox",
|
"widgettype":"VBox",
|
||||||
"options":{
|
"options":{
|
||||||
"width":"100px"
|
"width":"auto"
|
||||||
},
|
},
|
||||||
"subwidgets":[
|
"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