| | |
| | | |
| | | # if len(self.roles) > 0: |
| | | roles = {role.id: role.to_dict() for role in self.roles} |
| | | ogt_set = set() |
| | | for ogt in self.organizations: |
| | | if ogt.id in ogt_set: |
| | | continue |
| | | print(ogt.id) |
| | | ogt_set.add(ogt.id) |
| | | for role in ogt.roles: |
| | | roles[role.id] = role.to_dict() |
| | | parent_ogt = ogt.parent |
| | | while parent_ogt: |
| | | if parent_ogt.id not in ogt_set: |
| | | ogt_set.add(ogt.id) |
| | | for role in parent_ogt.roles: |
| | | roles[role.id] = role.to_dict() |
| | | parent_ogt = parent_ogt.parent |
| | | else: |
| | | break |
| | | # ogt_set = set() |
| | | # for ogt in self.organizations: |
| | | # if ogt.id in ogt_set: |
| | | # continue |
| | | # print(ogt.id) |
| | | # ogt_set.add(ogt.id) |
| | | # for role in ogt.roles: |
| | | # roles[role.id] = role.to_dict() |
| | | # parent_ogt = ogt.parent |
| | | # while parent_ogt: |
| | | # if parent_ogt.id not in ogt_set: |
| | | # ogt_set.add(ogt.id) |
| | | # for role in parent_ogt.roles: |
| | | # roles[role.id] = role.to_dict() |
| | | # parent_ogt = parent_ogt.parent |
| | | # else: |
| | | # break |
| | | |
| | | json['roles'] = list(roles.values()) |
| | | json['depts'] = [i.to_base_json() for i in self.organizations] |
| | | return json |
| | | |
| | | |