timeoffrequests.py 文件源码

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

项目:suite 作者: Staffjoy 项目源码 文件源码
def get(self, org_id, location_id, role_id, schedule_id):
        """
        returns all time off request data that correlates to the timespan of a given schedule
        """

        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)

        # get schedule object
        schedule = Schedule2.query.get_or_404(schedule_id)

        # prepare query
        time_off_requests = TimeOffRequest.query \
            .join(RoleToUser) \
            .filter(
                RoleToUser.role_id == role_id,
                TimeOffRequest.start >= schedule.start,
                TimeOffRequest.start < schedule.stop
            )

        # add user id if optionally added
        if "user_id" in parameters:
            time_off_requests = time_off_requests\
                .filter(
                   RoleToUser.user_id == parameters.get("user_id")
                )

        return {
            API_ENVELOPE:
            map(lambda time_off_request: marshal(time_off_request, time_off_request_fields),
                time_off_requests.all())
        }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号