def get(self, org_id, location_id, role_id):
response = {
API_ENVELOPE: {},
"resources": ["recurringshifts", "schedules", "shifts", "users"],
}
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)
role = Role.query.get_or_404(role_id)
response[API_ENVELOPE] = marshal(role, role_fields)
if args["recurse"]:
rtu_query = RoleToUser.query.filter_by(role_id=role_id)
if "archived" in args:
rtu_query = rtu_query.filter_by(archived=args["archived"])
members = rtu_query.all()
memberships = []
for member in members:
rtu = marshal(member, role_to_user_fields)
rtu.update(marshal(member.user, user_fields))
memberships.append(rtu)
response[API_ENVELOPE].update({"users": memberships})
return response
评论列表
文章目录