Example #1
0
    def delete(self, lid):
        leave = Leave.get(lid)
        if leave["uid"] != session.get_uid():
            raise ExceptionEx("权限不足")

        Leave.delete(lid)
        return self.succ()
Example #2
0
    def post(self):
        submit = self.request()
        submit["uid"] = session.get_uid()
        submit["apply_time"] = datetime.now()
        if Leave.check_overlap(submit):
            raise ExceptionEx("起止时间不能与已提交申请重叠,"
                              "可在请假审批中修改已提交的申请")

        leave = Leave.add(submit, auto_commit=False)
        Mail().to(leave)

        db.session.commit()
        return self.succ()
Example #3
0
    def put(self, lid):
        submit = self.request()
        submit["id"] = lid
        submit["approval_time"] = datetime.now().strftime("%Y-%m-%d")
        leave = Leave.edit(submit, auto_commit=False)
        Mail().to(leave)

        db.session.commit()
        return self.succ()
Example #4
0
    def put(self, lid):
        submit = self.request()
        submit["id"] = lid
        submit["approval_time"] = datetime.now().strftime("%Y-%m-%d")
        leave = Leave.edit(submit, auto_commit=False)
        Mail().to(leave)

        db.session.commit()
        return self.succ()
Example #5
0
    def get(self, begin_time, end_time):
        result = pd.DataFrame(columns=["name", "days"])
        leaves = pd.read_json(
            json.dumps(Leave.between(begin_time, end_time,query_type=False)))

        if leaves.empty:
            return self.succ([])

        for name, g in leaves.groupby("uid"):
            result.set_value(len(result), ["name", "days"], [name, g.days.sum()])

        result_lst = []
        result.sort_values("days", ascending=False).apply(
            lambda x: result_lst.append({"name": x["name"], "days": x["days"]}), axis=1)

        return self.succ(result_lst)
Example #6
0
    def get(self, begin_time, end_time):
        result = pd.DataFrame(columns=["name", "days"])
        leaves = pd.read_json(
            json.dumps(Leave.between(begin_time, end_time, query_type=False)))

        if leaves.empty:
            return self.succ([])

        for name, g in leaves.groupby("uid"):
            result.set_value(len(result), ["name", "days"],
                             [name, g.days.sum()])

        result_lst = []
        result.sort_values("days", ascending=False).apply(
            lambda x: result_lst.append({
                "name": x["name"],
                "days": x["days"]
            }),
            axis=1)

        return self.succ(result_lst)
Example #7
0
 def get(self, page, pre_page):
     return self.succ(Leave.history(page, pre_page))
Example #8
0
# coding=utf-8
from bmp.apis.base import BaseApi
from bmp.models.leave import Leave


class Leave_historyApi(BaseApi):
    route = ["/leave/history/<int:page>/<int:pre_page>"]

    def get(self, page, pre_page):
        return self.succ(Leave.history(page, pre_page))


if __name__ == "__main__":
    print Leave.history(1, 10)
Example #9
0
    route = ["/stats/leave/days/<string:begin_time>/<string:end_time>"]

    def get(self, begin_time, end_time):
        result = pd.DataFrame(columns=["name", "days"])
        leaves = pd.read_json(
            json.dumps(Leave.between(begin_time, end_time,query_type=False)))

        if leaves.empty:
            return self.succ([])

        for name, g in leaves.groupby("uid"):
            result.set_value(len(result), ["name", "days"], [name, g.days.sum()])

        result_lst = []
        result.sort_values("days", ascending=False).apply(
            lambda x: result_lst.append({"name": x["name"], "days": x["days"]}), axis=1)

        return self.succ(result_lst)


if __name__ == "__main__":
    result = pd.DataFrame(columns=["name", "days"])

    leaves = pd.read_json(
        json.dumps(Leave.between("2016-01-01", "2016-03-07")))

    for name, g in leaves.groupby("uid"):
        result.set_value(len(result), ["name", "days"], [name, g.days.sum()])

    print(result)
Example #10
0
            json.dumps(Leave.between(begin_time, end_time, query_type=False)))

        if leaves.empty:
            return self.succ([])

        for name, g in leaves.groupby("uid"):
            result.set_value(len(result), ["name", "days"],
                             [name, g.days.sum()])

        result_lst = []
        result.sort_values("days", ascending=False).apply(
            lambda x: result_lst.append({
                "name": x["name"],
                "days": x["days"]
            }),
            axis=1)

        return self.succ(result_lst)


if __name__ == "__main__":
    result = pd.DataFrame(columns=["name", "days"])

    leaves = pd.read_json(json.dumps(Leave.between("2016-01-01",
                                                   "2016-03-07")))

    for name, g in leaves.groupby("uid"):
        result.set_value(len(result), ["name", "days"], [name, g.days.sum()])

    print(result)
Example #11
0
 def get(self, page, pre_page):
     return self.succ(Leave.unapprovaled(page, pre_page))
Example #12
0
    def get(self, begin_time, end_time, name="%"):
        if session[USER_SESSION]["uid"] not in [u.uid for u in Group.get_users(DEFAULT_GROUP.LEAVE.SEARCH)]:
            name = session[USER_SESSION]["uid"]

        return self.succ(Leave.search(begin_time, end_time, name))
Example #13
0
    def put(self, lid):
        submit = self.request()
        submit["id"] = lid

        Leave.edit(submit)
        return self.succ()
Example #14
0
    def get(self, begin_time, end_time):
        query = Leave.between(begin_time, end_time).filter(Leave.days > 0)

        return self.succ([Leave._to_dict(l) for l in query.all()])
Example #15
0
 def get(self, page, pre_page):
     return self.succ(Leave.unapprovaled(page, pre_page))