示例#1
0
 def get(self, person_id, year, month, day):
     user_service.check_person_access(person_id)
     try:
         return time_spents_service.get_day_time_spents(
             person_id, year, month, day)
     except WrongDateFormatException:
         abort(404)
示例#2
0
 def get(self, person_id, year):
     """
     Get aggregated time spents for given person and year.
     ---
     tags:
     - Persons
     parameters:
       - in: path
         name: person_id
         required: True
         schema:
             type: UUID
             example: a24a6ea4-ce75-4665-a070-57453082c25
       - in: path
         name: year
         required: True
         schema:
             type: integer
             example: 2022
     responses:
         200:
             description: Aggregated time spents for given person and year
         404:
             description: Wrong date format
     """
     project_id = self.get_project_id()
     user_service.check_person_access(person_id)
     try:
         return time_spents_service.get_year_time_spents(
             person_id, year, project_id=project_id
         )
     except WrongDateFormatException:
         abort(404)
示例#3
0
 def get(self, person_id, year, month):
     user_service.check_person_access(person_id)
     try:
         return day_worked_service.get_month_days_worked(
             person_id, year, month)
     except WrongDateFormatException:
         abort(404)
示例#4
0
 def delete(self, task_id, comment_id):
     """
     Delete a comment corresponding at given ID.
     ---
     tags:
     - Tasks
     parameters:
       - in: path
         name: task_id
         required: True
         schema:
             type: UUID
             example: a24a6ea4-ce75-4665-a070-57453082c25
       - in: path
         name: comment_id
         required: True
         schema:
             type: UUID
             example: a24a6ea4-ce75-4665-a070-57453082c25
     responses:
         204:
             description: Comment corresponding at given ID deleted
     """
     comment = tasks_service.get_comment(comment_id)
     task = tasks_service.get_task(comment["object_id"])
     if permissions.has_manager_permissions():
         user_service.check_project_access(task["project_id"])
     else:
         user_service.check_person_access(comment["person_id"])
     self.pre_delete(comment)
     deletion_service.remove_comment(comment_id)
     tasks_service.reset_task_data(comment["object_id"])
     tasks_service.clear_comment_cache(comment_id)
     self.post_delete(comment)
     return "", 204
示例#5
0
 def get(self, person_id, year, week):
     project_id = self.get_project_id()
     user_service.check_person_access(person_id)
     try:
         return time_spents_service.get_week_time_spents(
             person_id, year, week, project_id=project_id)
     except WrongDateFormatException:
         abort(404)
示例#6
0
 def get(self, person_id, year, month):
     user_service.check_person_access(person_id)
     try:
         timespents = time_spents_service.get_time_spents_for_month(
             year, month, person_id=person_id)
         return fields.serialize_list(timespents)
     except WrongDateFormatException:
         abort(404)
示例#7
0
 def get(self, person_id, year, month, day):
     """
     Get ended shots used for quota calculation of this day.
     ---
     tags:
     - Persons
     parameters:
       - in: path
         name: person_id
         required: True
         schema:
             type: UUID
             example: a24a6ea4-ce75-4665-a070-57453082c25
       - in: path
         name: year
         required: True
         schema:
             type: integer
             example: 2022
       - in: path
         name: month
         required: True
         schema:
             type: integer
             example: 07 (from 01 to 12)
       - in: path
         name: day
         required: True
         schema:
             type: integer
             example: 12 (from 01 to 31)
     responses:
         200:
             description: Ended shots used for quota calculation of this day
         404:
             description: Wrong date format
     """
     project_id = self.get_project_id()
     task_type_id = self.get_task_type_id()
     user_service.check_person_access(person_id)
     weighted = self.get_bool_parameter("weighted", default="true")
     try:
         return shots_service.get_day_quota_shots(
             person_id,
             year,
             month,
             day,
             project_id=project_id,
             task_type_id=task_type_id,
             weighted=weighted,
         )
     except WrongDateFormatException:
         abort(404)
示例#8
0
 def delete(self, task_id, comment_id):
     """
     Delete a comment corresponding at given ID.
     """
     comment = tasks_service.get_comment(comment_id)
     task = tasks_service.get_task(comment["object_id"])
     if permissions.has_manager_permissions():
         user_service.check_project_access(task["project_id"])
     else:
         user_service.check_person_access(comment["person_id"])
     self.pre_delete(comment)
     deletion_service.remove_comment(comment_id)
     tasks_service.reset_task_data(comment["object_id"])
     tasks_service.clear_comment_cache(comment_id)
     self.post_delete(comment)
     return "", 204