@@ -39,7 +39,7 @@ def get_admin_select_permission_rows(admin: PageSchemaAdmin) -> List[Dict[str, A
39
39
for perm in admin .select_permissions :
40
40
rows .append (
41
41
{
42
- "label" : "仅限数据 -" + perm .label ,
42
+ "label" : "Data only -" + perm .label , # 仅限数据
43
43
"rol" : f"{ admin .unique_id } #page:select:{ perm .name } #page:select" ,
44
44
"reverse" : perm .reverse ,
45
45
}
@@ -69,7 +69,7 @@ def get_admin_field_permission_rows(admin: PageSchemaAdmin, action: str) -> List
69
69
return []
70
70
rows .append (
71
71
{
72
- "label" : "全部" ,
72
+ "label" : "All" , # 全部
73
73
"rol" : f"{ admin .unique_id } #page:{ action } :*#page:{ action } " ,
74
74
}
75
75
)
@@ -93,7 +93,7 @@ def __init__(self, admin, **kwargs):
93
93
elif self .admin .model .__table__ .name == User .__tablename__ :
94
94
self ._subject = "u"
95
95
else :
96
- raise Exception ("暂不支持的主体模型" )
96
+ raise Exception ("Main model not supported yet" ) # 暂不支持的主体模型
97
97
98
98
async def get_subject_by_id (self , item_id : str ) -> str :
99
99
# 从数据库获取用户选择的数据列表
@@ -117,23 +117,23 @@ class UpdateSubRolesAction(BaseSubAction):
117
117
action = ActionType .Dialog (
118
118
name = "update_subject_roles" ,
119
119
icon = "fa fa-check" ,
120
- tooltip = "设置角色" ,
120
+ tooltip = "Set up roles" , # 设置角色
121
121
dialog = amis .Dialog (),
122
122
level = LevelEnum .warning ,
123
123
)
124
124
125
125
class schema (BaseModel ):
126
126
role_keys : str = Field (
127
127
"" ,
128
- title = "角色列表" ,
128
+ title = "role list" , # 角色列表
129
129
amis_form_item = amis .Transfer (
130
130
selectMode = "table" ,
131
131
resultListModeFollowSelect = True ,
132
132
columns = [
133
133
# {"name": "key", "label": "角色标识"},
134
- {"name" : "name" , "label" : "角色名称 " },
135
- {"name" : "desc" , "label" : "角色描述 " },
136
- {"name" : "role_names" , "label" : "子角色 " },
134
+ {"name" : "name" , "label" : "Role Name " }, # 角色名称
135
+ {"name" : "desc" , "label" : "Role description " }, # 角色描述
136
+ {"name" : "role_names" , "label" : "sub-role " }, # 子角色
137
137
],
138
138
source = "" ,
139
139
valueField = "key" ,
@@ -158,18 +158,18 @@ async def get_init_data(self, request: Request, **kwargs) -> BaseApiOut[Any]:
158
158
return BaseApiOut (data = self .schema ())
159
159
subject = await self .get_subject_by_id (item_id )
160
160
if not subject :
161
- return BaseApiOut (status = 0 , msg = "暂不支持的模型" )
161
+ return BaseApiOut (status = 0 , msg = "Models not supported yet" ) # 暂不支持的模型
162
162
role_keys = await self .site .auth .enforcer .get_roles_for_user (subject )
163
163
return BaseApiOut (data = self .schema (role_keys = "," .join (role_keys ).replace ("r:" , "" )))
164
164
165
165
async def handle (self , request : Request , item_id : List [str ], data : schema , ** kwargs ):
166
166
"""更新角色Casbin权限"""
167
167
subject = await self .get_subject_by_id (item_id [0 ])
168
168
if not subject :
169
- return BaseApiOut (status = 0 , msg = "暂不支持的模型" )
169
+ return BaseApiOut (status = 0 , msg = "Models not supported yet" ) # 暂不支持的模型
170
170
identity = await self .site .auth .get_current_user_identity (request ) or SystemUserEnum .GUEST
171
171
if subject == "u:" + identity :
172
- return BaseApiOut (status = 0 , msg = "不能修改自己的权限" )
172
+ return BaseApiOut (status = 0 , msg = "Cannot modify own permissions" ) # 不能修改自己的权限
173
173
enforcer : AsyncEnforcer = self .site .auth .enforcer
174
174
role_keys = [f"r:{ role } " for role in data .role_keys .split ("," ) if role ]
175
175
if role_keys and identity not in [SystemUserEnum .ROOT , SystemUserEnum .ADMIN ]:
@@ -190,7 +190,7 @@ class BaseSubPermAction(BaseSubAction):
190
190
action = ActionType .Dialog (
191
191
name = "view_subject_permissions" ,
192
192
icon = "fa fa-check" ,
193
- tooltip = "查看权限" ,
193
+ tooltip = "View permissions" , # 查看权限
194
194
dialog = amis .Dialog (),
195
195
level = LevelEnum .warning ,
196
196
)
@@ -199,7 +199,7 @@ class BaseSubPermAction(BaseSubAction):
199
199
class schema (BaseModel ):
200
200
permissions : str = Field (
201
201
"" ,
202
- title = "权限列表" ,
202
+ title = "Permission list" , # 权限列表
203
203
amis_form_item = amis .InputTree (
204
204
multiple = True ,
205
205
source = "" ,
@@ -236,7 +236,7 @@ class ViewSubPagePermAction(BaseSubPermAction):
236
236
action = ActionType .Dialog (
237
237
name = "view_subject_page_permissions" ,
238
238
icon = "fa fa-check" ,
239
- tooltip = "查看页面权限" ,
239
+ tooltip = "View page permissions" , # 查看页面权限
240
240
dialog = amis .Dialog (actions = []),
241
241
level = LevelEnum .warning ,
242
242
)
@@ -254,13 +254,14 @@ async def get_init_data(self, request: Request, **kwargs) -> BaseApiOut[Any]:
254
254
return BaseApiOut (data = self .schema ())
255
255
subject = await self .get_subject_by_id (item_id )
256
256
if not subject :
257
- return BaseApiOut (status = 0 , msg = "暂不支持的模型" )
258
- permissions = await get_subject_page_permissions (self .site .auth .enforcer , subject = subject , implicit = self ._implicit )
257
+ return BaseApiOut (status = 0 , msg = "Models not supported yet" ) # 暂不支持的模型
258
+ permissions = await get_subject_page_permissions (self .site .auth .enforcer , subject = subject ,
259
+ implicit = self ._implicit )
259
260
permissions = [perm .replace ("#allow" , "" ) for perm in permissions if perm .endswith ("#allow" )]
260
261
return BaseApiOut (data = self .schema (permissions = "," .join (permissions )))
261
262
262
263
async def handle (self , request : Request , item_id : List [str ], data : BaseModel , ** kwargs ):
263
- return BaseApiOut (status = 1 , msg = "请通过的【设置权限】更新设置!" )
264
+ return BaseApiOut (status = 1 , msg = "Please update settings through [Setting Permissions]!" ) # 请通过的【设置权限】更新设置!
264
265
265
266
266
267
class UpdateSubDataPermAction (BaseSubPermAction ):
@@ -271,18 +272,18 @@ class UpdateSubDataPermAction(BaseSubPermAction):
271
272
action = ActionType .Dialog (
272
273
name = "update_subject_data_permissions" ,
273
274
icon = "fa fa-gavel" ,
274
- tooltip = "更新数据权限" ,
275
- dialog = amis .Dialog (actions = [amis .Action (actionType = "submit" , label = "保存 " , close = False , primary = True )]),
275
+ tooltip = "Update data permissions" , # 更新数据权限
276
+ dialog = amis .Dialog (actions = [amis .Action (actionType = "submit" , label = "Submit " , close = False , primary = True )]), # 保存
276
277
level = LevelEnum .warning ,
277
278
)
278
279
279
280
# 创建动作表单数据模型
280
281
class schema (BaseSubPermAction .schema ):
281
282
effect_matrix : list = Field (
282
283
[],
283
- title = "当前权限" ,
284
+ title = "Current permissions" , # 当前权限
284
285
amis_form_item = amis .MatrixCheckboxes (
285
- rowLabel = "权限名称" ,
286
+ rowLabel = "Permission name" , # 权限名称
286
287
multiple = False ,
287
288
singleSelectMode = "row" ,
288
289
source = "" ,
@@ -291,9 +292,9 @@ class schema(BaseSubPermAction.schema):
291
292
)
292
293
policy_matrix : list = Field (
293
294
[],
294
- title = "权限配置" ,
295
+ title = "Rights Profile" , # 权限配置
295
296
amis_form_item = amis .MatrixCheckboxes (
296
- rowLabel = "名称" ,
297
+ rowLabel = "Name" , # 名称
297
298
multiple = False ,
298
299
singleSelectMode = "row" ,
299
300
yCheckAll = True ,
@@ -326,22 +327,22 @@ async def _get_admin_action_options(request: Request, item_id: str):
326
327
327
328
@self .router .get ("/get_admin_action_perm_options" , response_model = BaseApiOut )
328
329
async def get_admin_action_perm_options (
329
- request : Request ,
330
- permission : str = "" ,
331
- item_id : str = "" ,
332
- type : str = "policy" ,
330
+ request : Request ,
331
+ permission : str = "" ,
332
+ item_id : str = "" ,
333
+ type : str = "policy" ,
333
334
):
334
335
columns = [
335
336
{
336
- "label" : "默认" ,
337
+ "label" : "default" , # 默认
337
338
"col" : "default" ,
338
339
},
339
340
{
340
- "label" : "是" ,
341
+ "label" : "allow" , # 是
341
342
"col" : "allow" ,
342
343
},
343
344
{
344
- "label" : "否" ,
345
+ "label" : "deny" , # 否
345
346
"col" : "deny" ,
346
347
},
347
348
]
@@ -392,7 +393,7 @@ async def handle(self, request: Request, item_id: List[str], data: BaseModel, **
392
393
subject = await self .get_subject_by_id (item_id [0 ])
393
394
identity = await self .site .auth .get_current_user_identity (request ) or SystemUserEnum .GUEST
394
395
if subject == "u:" + identity :
395
- return BaseApiOut (status = 0 , msg = "不能修改自己的权限" )
396
+ return BaseApiOut (status = 0 , msg = "Cannot modify own permissions" ) # 不能修改自己的权限
396
397
msg = await update_subject_data_permissions (
397
398
self .site .auth .enforcer ,
398
399
subject = subject ,
@@ -410,7 +411,7 @@ class UpdateSubPagePermsAction(ViewSubPagePermAction):
410
411
action = ActionType .Dialog (
411
412
name = "update_subject_page_permissions" ,
412
413
icon = "fa fa-gavel" ,
413
- tooltip = "更新页面权限" ,
414
+ tooltip = "Update page permissions" , # 更新页面权限
414
415
dialog = amis .Dialog (),
415
416
level = LevelEnum .warning ,
416
417
)
@@ -419,10 +420,10 @@ async def handle(self, request: Request, item_id: List[str], data: BaseModel, **
419
420
"""更新角色Casbin权限"""
420
421
subject = await self .get_subject_by_id (item_id [0 ])
421
422
if not subject :
422
- return BaseApiOut (status = 0 , msg = "暂不支持的模型" )
423
+ return BaseApiOut (status = 0 , msg = "Models not supported yet" ) # 暂不支持的模型
423
424
identity = await self .site .auth .get_current_user_identity (request ) or SystemUserEnum .GUEST
424
425
if subject == "u:" + identity :
425
- return BaseApiOut (status = 0 , msg = "不能修改自己的权限" )
426
+ return BaseApiOut (status = 0 , msg = "Cannot modify own permissions" ) # 不能修改自己的权限
426
427
# 权限列表
427
428
permissions = [perm for perm in data .permissions .split ("," ) if perm and perm .endswith ("#page" )] # 分割权限列表,去除空值
428
429
enforcer : AsyncEnforcer = self .site .auth .enforcer
@@ -439,20 +440,20 @@ class CopyUserAuthLinkAction(ModelAction):
439
440
action = amis .ActionType .Dialog (
440
441
name = "copy_user_auth_link" ,
441
442
icon = "fa fa-link" ,
442
- tooltip = "用户免登录链接" ,
443
+ tooltip = "User login-free link" , # 用户免登录链接
443
444
level = amis .LevelEnum .danger ,
444
445
dialog = amis .Dialog (
445
446
size = amis .SizeEnum .md ,
446
- title = "用户免登录链接" ,
447
+ title = "User login-free link" , # 用户免登录链接
447
448
),
448
449
)
449
450
form_init = True
450
451
form = amis .Form (static = True , disabled = True ) # type: ignore # 禁用表单
451
452
452
453
class schema (UsernameMixin , PkMixin ):
453
454
auth_url : str = Field (
454
- title = "授权链接" ,
455
- description = "复制链接到浏览器打开即可免登录" ,
455
+ title = "Authorization link" , # 授权链接
456
+ description = "Copy the link to your browser and open it without logging in" , # 复制链接到浏览器打开即可免登录
456
457
amis_form_item = amis .Static (
457
458
copyable = True ,
458
459
),
@@ -470,8 +471,9 @@ async def get_init_data(self, request: Request, **kwargs) -> BaseApiOut[Any]:
470
471
}
471
472
token = await auth .backend .token_store .write_token (token_data )
472
473
return BaseApiOut (
473
- msg = "操作成功" ,
474
- data = {** token_data , "auth_url" : f"{ str (request .base_url )[:- 1 ]} { self .site .router_path } /login_by_token?token={ token } " },
474
+ msg = "Successful operation" , # 操作成功
475
+ data = {** token_data ,
476
+ "auth_url" : f"{ str (request .base_url )[:- 1 ]} { self .site .router_path } /login_by_token?token={ token } " },
475
477
)
476
478
477
479
def register_router (self ):
0 commit comments