def get(self, org_id, location_id, role_id):
"""
get recurring shifts for a role. can optionally filter by user_id
"""
parser = reqparse.RequestParser()
parser.add_argument("user_id", type=int)
parameters = parser.parse_args()
# Filter out null values
parameters = dict((k, v) for k, v in parameters.iteritems()
if v is not None)
recurring_shifts_query = RecurringShift.query.filter_by(
role_id=role_id)
if "user_id" in parameters:
user_id = None if parameters[
"user_id"] == constants.UNASSIGNED_USER_ID else parameters[
"user_id"]
recurring_shifts_query = recurring_shifts_query.filter_by(
user_id=user_id)
return {
constants.API_ENVELOPE:
map(lambda recurring_shift: marshal(recurring_shift, recurring_shift_fields),
recurring_shifts_query.all())
}
评论列表
文章目录