| 12345678910111213141516171819202122232425262728293031323334353637 |
- #-*-coding:utf-8 -*-
- import re
- import collections
- import common.models as cm
- def get_permission_list(role_id=None,platform=None):
- """
- """
- if role_id:
- qset = cm.Role.objects.filter(id=role_id).first().permission.all()
- else:
- qset = cm.Permission.objects.all()
- if platform:
- qset = qset.filter(platform__icontains=platform)
- permissions = format_permission_tree(qset)
- return permissions
- def get_permission_tree(pobj,data=None):
- data = data if data else []
- childrenset = cm.Permission.objects.filter(pid=pobj.id)
- for cdobj in childrenset:
- data.append({"id":cdobj.id,"name":cdobj.name,"codename":cdobj.codename,"children":get_permission_tree(cdobj)})
- return data
- def format_permission_tree(qset):
- """暂时写死待完善....
- """
- ptrees = []
- toppers = qset.filter(pid__isnull=True)
- for topobj in toppers:
- ptree = {"id":topobj.id,"name":topobj.name,"codename":topobj.codename}
- ptree["children"] = get_permission_tree(topobj)
- ptrees.append(ptree)
- return ptrees
|