roles.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:suite 作者: Staffjoy 项目源码 文件源码
def get(self, org_id, location_id):
        response = {
            API_ENVELOPE: [],
        }

        parser = reqparse.RequestParser()
        parser.add_argument("recurse", type=inputs.boolean, default=False)
        parser.add_argument("archived", type=inputs.boolean)
        args = parser.parse_args()
        args = dict((k, v) for k, v in args.iteritems() if v is not None)

        roles_query = Role.query.filter_by(location_id=location_id)

        # by default, only include active users
        if "archived" in args:
            roles_query = roles_query.filter_by(archived=args["archived"])

        roles = roles_query.all()
        response[API_ENVELOPE] = map(lambda role: marshal(role, role_fields),
                                     roles)

        if args["recurse"]:

            # Show all users in each location role
            for datum in response[API_ENVELOPE]:
                users_query = RoleToUser.query.filter_by(role_id=datum["id"])

                if "archived" in args:
                    users_query = users_query.filter_by(
                        archived=args["archived"])

                members = users_query.all()
                memberships = []

                for member in members:
                    rtu = marshal(member, role_to_user_fields)
                    rtu.update(marshal(member.user, user_fields))
                    memberships.append(rtu)

                datum.update({"users": memberships})

        return response
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号