Exemplo n.º 1
0
 def get(self, project_id):
     """
     Retrieve all episodes related to a given project.
     """
     projects_service.get_project(project_id)
     user_service.check_project_access(project_id)
     return shots_service.get_episodes_for_project(project_id)
Exemplo n.º 2
0
 def prepare_import(self, project_id):
     self.episodes = {}
     self.entity_types = {}
     self.descriptor_fields = self.get_descriptor_field_map(
         project_id, "Asset")
     project = projects_service.get_project(project_id)
     self.is_tv_show = projects_service.is_tv_show(project)
     if self.is_tv_show:
         episodes = shots_service.get_episodes_for_project(project_id)
         self.episodes = {
             episode["name"]: episode["id"]
             for episode in episodes
         }
     self.created_assets = []
     self.task_types_in_project_for_assets = (
         TaskType.query.join(ProjectTaskTypeLink).filter(
             ProjectTaskTypeLink.project_id == project_id).filter(
                 TaskType.for_entity == "Asset"))
     self.task_statuses = {
         status["id"]: [status[n] for n in ("name", "short_name")]
         for status in tasks_service.get_task_statuses()
     }
     self.current_user_id = get_current_user()["id"]
     self.task_types_for_ready_for_map = {
         task_type.name: str(task_type.id)
         for task_type in TaskType.query.join(ProjectTaskTypeLink).filter(
             ProjectTaskTypeLink.project_id == project_id).filter(
                 TaskType.for_entity == "Shot").all()
     }
Exemplo n.º 3
0
 def get(self, project_id):
     """
     Retrieve all episodes related to a given project.
     """
     projects_service.get_project(project_id)
     if not permissions.has_manager_permissions():
         user_service.check_has_task_related(project_id)
     return shots_service.get_episodes_for_project(project_id)
Exemplo n.º 4
0
 def get(self, project_id):
     """
     Retrieve all episodes related to a given project.
     """
     projects_service.get_project(project_id)
     user_service.check_project_access(project_id)
     return shots_service.get_episodes_for_project(
         project_id, only_assigned=permissions.has_vendor_permissions())
Exemplo n.º 5
0
 def prepare_import(self, project_id):
     self.episodes = {}
     self.entity_types = {}
     self.descriptor_fields = self.get_descriptor_field_map(
         project_id, "Asset")
     project = projects_service.get_project(project_id)
     self.is_tv_show = projects_service.is_tv_show(project)
     if self.is_tv_show:
         episodes = shots_service.get_episodes_for_project(project_id)
         self.episodes = {
             episode["name"]: episode["id"]
             for episode in episodes
         }
Exemplo n.º 6
0
def get_episodes_schedule_items(project_id, task_type_id):
    """
    Return all episode schedule items for given project. If no schedule item
    exists for a given asset type, it creates one.
    """
    episode_type = shots_service.get_episode_type()
    episodes = shots_service.get_episodes_for_project(project_id)
    episodes_map = base_service.get_model_map_from_array(episodes)
    existing_schedule_items = set(
        ScheduleItem.query.join(
            Entity, ScheduleItem.object_id == Entity.id).filter(
                ScheduleItem.project_id == project_id).filter(
                    Entity.entity_type_id == episode_type["id"]).filter(
                        ScheduleItem.task_type_id == task_type_id).all())
    return get_entity_schedule_items(
        project_id,
        task_type_id,
        episodes,
        episodes_map,
        existing_schedule_items,
    )