|
@@ -23,72 +23,88 @@ config = settings.CONFIG
|
|
|
|
|
|
|
|
def perms_pc_app(type_id=1000, perms_lst=[], device_user=None):
|
|
def perms_pc_app(type_id=1000, perms_lst=[], device_user=None):
|
|
|
menu = "PC" if type_id == 1000 else "APP"
|
|
menu = "PC" if type_id == 1000 else "APP"
|
|
|
- parent_ids = []
|
|
|
|
|
- for p in perms_lst:
|
|
|
|
|
- # 先判断是否是父级菜单
|
|
|
|
|
- per_obj = UserPurview.objects.filter(id=int(p), menu=menu).first()
|
|
|
|
|
- if per_obj:
|
|
|
|
|
- if per_obj.parent_perm_id == 0:
|
|
|
|
|
- parent_ids.append(p)
|
|
|
|
|
- perm_lst = []
|
|
|
|
|
- for i in parent_ids:
|
|
|
|
|
- parent = UserPurview.objects.get(id=int(i), menu=menu)
|
|
|
|
|
- inner_parent = {
|
|
|
|
|
- "menu": parent.menu,
|
|
|
|
|
- "parent_perm_id": parent.parent_perm_id,
|
|
|
|
|
- "pur_id": parent.id,
|
|
|
|
|
- "purview_name": parent.purview_name,
|
|
|
|
|
- "url": parent.url
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if menu == "APP":
|
|
|
children_lst = []
|
|
children_lst = []
|
|
|
- # 获取此父级菜单中所有的子菜单
|
|
|
|
|
- children = UserPurview.objects.filter(parent_perm_id=int(i), menu=menu)
|
|
|
|
|
- for child in children:
|
|
|
|
|
- if child.id in perms_lst:
|
|
|
|
|
- if device_user and device_user.real_name == "yunfei" and child.parent_perm_id == 1:
|
|
|
|
|
- children_lst.append(
|
|
|
|
|
- {
|
|
|
|
|
- "menu": child.menu,
|
|
|
|
|
- "parent_perm_id": child.parent_perm_id,
|
|
|
|
|
- "pur_id": child.id,
|
|
|
|
|
- "purview_name": child.purview_name,
|
|
|
|
|
- "url": child.url
|
|
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
- if child.purview_name == "用户管理":
|
|
|
|
|
|
|
+ apps = UserPurview.objects.filter(menu=menu)
|
|
|
|
|
+ for i in apps:
|
|
|
|
|
+ children_lst.append(
|
|
|
|
|
+ {
|
|
|
|
|
+ "menu": "APP",
|
|
|
|
|
+ "parent_perm_id": 99,
|
|
|
|
|
+ "pur_id": i.id,
|
|
|
|
|
+ "purview_name": i.purview_name,
|
|
|
|
|
+ "url": i.url
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ return children_lst
|
|
|
|
|
+ else:
|
|
|
|
|
+
|
|
|
|
|
+ parent_ids = []
|
|
|
|
|
+ for p in perms_lst:
|
|
|
|
|
+ # 先判断是否是父级菜单
|
|
|
|
|
+ per_obj = UserPurview.objects.filter(id=int(p), menu=menu).first()
|
|
|
|
|
+ if per_obj:
|
|
|
|
|
+ if per_obj.parent_perm_id == 0:
|
|
|
|
|
+ parent_ids.append(p)
|
|
|
|
|
+ perm_lst = []
|
|
|
|
|
+ for i in parent_ids:
|
|
|
|
|
+ parent = UserPurview.objects.get(id=int(i), menu=menu)
|
|
|
|
|
+ inner_parent = {
|
|
|
|
|
+ "menu": parent.menu,
|
|
|
|
|
+ "parent_perm_id": parent.parent_perm_id,
|
|
|
|
|
+ "pur_id": parent.id,
|
|
|
|
|
+ "purview_name": parent.purview_name,
|
|
|
|
|
+ "url": parent.url
|
|
|
|
|
+ }
|
|
|
|
|
+ children_lst = []
|
|
|
|
|
+ # 获取此父级菜单中所有的子菜单
|
|
|
|
|
+ children = UserPurview.objects.filter(parent_perm_id=int(i), menu=menu)
|
|
|
|
|
+ for child in children:
|
|
|
|
|
+ if child.id in perms_lst:
|
|
|
|
|
+ if device_user and device_user.real_name == "yunfei" and child.parent_perm_id == 1:
|
|
|
children_lst.append(
|
|
children_lst.append(
|
|
|
{
|
|
{
|
|
|
- "menu": "PC",
|
|
|
|
|
- "parent_perm_id": 0,
|
|
|
|
|
- "pur_id": 38,
|
|
|
|
|
- "purview_name": "监控定位",
|
|
|
|
|
- "url": "0"
|
|
|
|
|
|
|
+ "menu": child.menu,
|
|
|
|
|
+ "parent_perm_id": child.parent_perm_id,
|
|
|
|
|
+ "pur_id": child.id,
|
|
|
|
|
+ "purview_name": child.purview_name,
|
|
|
|
|
+ "url": child.url
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
|
|
+ if child.purview_name == "用户管理":
|
|
|
|
|
+ children_lst.append(
|
|
|
|
|
+ {
|
|
|
|
|
+ "menu": "PC",
|
|
|
|
|
+ "parent_perm_id": 0,
|
|
|
|
|
+ "pur_id": 38,
|
|
|
|
|
+ "purview_name": "监控定位",
|
|
|
|
|
+ "url": "0"
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ children_lst.append(
|
|
|
|
|
+ {
|
|
|
|
|
+ "menu": "PC",
|
|
|
|
|
+ "parent_perm_id": 0,
|
|
|
|
|
+ "pur_id": 39,
|
|
|
|
|
+ "purview_name": "APP信息",
|
|
|
|
|
+ "url": "0"
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ else:
|
|
|
children_lst.append(
|
|
children_lst.append(
|
|
|
{
|
|
{
|
|
|
- "menu": "PC",
|
|
|
|
|
- "parent_perm_id": 0,
|
|
|
|
|
- "pur_id": 39,
|
|
|
|
|
- "purview_name": "APP信息",
|
|
|
|
|
- "url": "0"
|
|
|
|
|
|
|
+ "menu": child.menu,
|
|
|
|
|
+ "parent_perm_id": child.parent_perm_id,
|
|
|
|
|
+ "pur_id": child.id,
|
|
|
|
|
+ "purview_name": child.purview_name,
|
|
|
|
|
+ "url": child.url
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
- else:
|
|
|
|
|
- children_lst.append(
|
|
|
|
|
- {
|
|
|
|
|
- "menu": child.menu,
|
|
|
|
|
- "parent_perm_id": child.parent_perm_id,
|
|
|
|
|
- "pur_id": child.id,
|
|
|
|
|
- "purview_name": child.purview_name,
|
|
|
|
|
- "url": child.url
|
|
|
|
|
- }
|
|
|
|
|
- )
|
|
|
|
|
-
|
|
|
|
|
- if children_lst:
|
|
|
|
|
- inner_parent["children"] = children_lst
|
|
|
|
|
- perm_lst.append(inner_parent)
|
|
|
|
|
- return perm_lst
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if children_lst:
|
|
|
|
|
+ inner_parent["children"] = children_lst
|
|
|
|
|
+ perm_lst.append(inner_parent)
|
|
|
|
|
+ return perm_lst
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_perm_list(device_user):
|
|
def get_perm_list(device_user):
|