def post(self): data = request.json task_type_link = tasks_service.create_or_update_projecttasktypelink( data["projectId"], data["taskTypeId"], data.get("priority")) tasks_service.clear_task_type_cache(task_type_link.task_type_id) projects_service.clear_project_cache(task_type_link.project_id) return {"message": "updated"}, 201
def post_update(self, project_dict): if project_dict["production_type"] == "tvshow": episode = shots_service.get_or_create_first_episode( project_dict["id"]) project_dict["first_episode_id"] = fields.serialize_value( episode["id"]) projects_service.clear_project_cache(project_dict["id"]) return project_dict
def post_creation(self, project): project_dict = project.serialize() if project.production_type == "tvshow": episode = shots_service.create_episode(project.id, "E01") project_dict["first_episode_id"] = fields.serialize_value( episode["id"]) user_service.clear_project_cache() projects_service.clear_project_cache("") return project_dict
def post(self): data = self.get_args([ ("project_id", "", True), ("task_type_id", "", True), ("priority", 1, False, None, int), ]) task_type_link = projects_service.create_project_task_type_link( data["project_id"], data["task_type_id"], data["priority"]) projects_service.clear_project_cache(task_type_link["project_id"]) return task_type_link, 201
def test_get_sequences_for_project_with_vendor(self): self.generate_fixture_shot_task(name="Secondary") self.generate_fixture_user_vendor() task_id = self.shot_task.id project_id = self.project_id person_id = self.user_vendor["id"] projects_service.clear_project_cache(str(project_id)) self.log_in_vendor() projects_service.add_team_member(project_id, person_id) episodes = self.get("data/projects/%s/sequences" % project_id) self.assertEqual(len(episodes), 0) tasks_service.assign_task(task_id, person_id) episodes = self.get("data/projects/%s/sequences" % project_id) self.assertEqual(len(episodes), 1)
def test_get_assets_and_tasks_vendor(self): self.generate_fixture_task(name="Secondary") self.generate_fixture_user_vendor() task_id = self.task.id project_id = self.project.id person_id = self.user_vendor["id"] self.log_in_vendor() assets = self.get("data/assets/with-tasks?project_id=%s" % project_id, 403) projects_service.add_team_member(project_id, person_id) projects_service.clear_project_cache(str(project_id)) assets = self.get("data/assets/with-tasks?project_id=%s" % project_id) self.assertEqual(len(assets), 0) tasks_service.assign_task(task_id, person_id) assets = self.get("data/assets/with-tasks?project_id=%s" % project_id) self.assertEqual(len(assets), 1) self.assertEqual(len(assets[0]["tasks"]), 1) self.assertTrue(str(person_id) in assets[0]["tasks"][0]["assignees"])
def post_delete(self, project_dict): projects_service.clear_project_cache(project_dict["id"])