def generate_fixture_task_standard(self): start_date = fields.get_date_object("2017-02-20") due_date = fields.get_date_object("2017-02-28") real_start_date = fields.get_date_object("2017-02-22") self.task_standard = Task.create(name="Super modeling", project_id=self.project_standard.id, task_type_id=self.task_type.id, task_status_id=self.task_status.id, entity_id=self.asset_standard.id, assignees=[self.person], assigner_id=self.assigner.id, duration=50, estimation=40, start_date=start_date, due_date=due_date, real_start_date=real_start_date) self.project.team.append(self.person) self.project.save() return self.task_standard
def get(self): args = self.get_args([("before", None, None), ("page_size", 100, False)]) permissions.check_manager_permissions() before = None if args["before"] is not None: before = fields.get_date_object(args["before"], "%Y-%m-%dT%H:%M:%S") page_size = args["page_size"] return events_service.get_last_login_logs(before, page_size)
def test_get_last_events(self): asset = assets_service.create_asset(self.project.id, self.asset_type.id, "test 1", "", {}) date = fields.get_date_object(asset["created_at"], "%Y-%m-%dT%H:%M:%S") time.sleep(1) asset = assets_service.create_asset(self.project.id, self.asset_type.id, "test 2", "", {}) time.sleep(1) asset = assets_service.create_asset(self.project.id, self.asset_type.id, "test 3", "", {}) events = events_service.get_last_events() self.assertEqual(len(events), 3) events = events_service.get_last_events(page_size=2) self.assertEqual(len(events), 2) date = fields.get_date_object(asset["created_at"], "%Y-%m-%dT%H:%M:%S") events = events_service.get_last_events(before=date) self.assertEqual(len(events), 2)
def generate_fixture_task(self, name="Master", asset_id=None): if asset_id is None: asset_id = self.asset.id start_date = fields.get_date_object("2017-02-20") due_date = fields.get_date_object("2017-02-28") real_start_date = fields.get_date_object("2017-02-22") self.task = Task.create(name=name, project_id=self.project.id, task_type_id=self.task_type.id, task_status_id=self.task_status.id, entity_id=asset_id, assignees=[self.person], assigner_id=self.assigner.id, duration=50, estimation=40, start_date=start_date, due_date=due_date, real_start_date=real_start_date) return self.task
def save_version_if_needed(self, shot, previous_shot): previous_data = previous_shot.get("data", {}) or {} data = shot.get("data", {}) frame_in = data.get("frame_in", 0) pframe_in = previous_data.get("frame_in", 0) frame_out = data.get("frame_in", 0) pframe_out = previous_data.get("frame_in", 0) name = data.get("name", "") pname = previous_shot["name"] version = None if frame_in != pframe_in or frame_out != pframe_out or name != pname: current_user_id = persons_service.get_current_user()["id"] previous_updated_at = fields.get_date_object( previous_shot["updated_at"], date_format="%Y-%m-%dT%H:%M:%S") updated_at = fields.get_date_object( shot["updated_at"], date_format="%Y-%m-%dT%H:%M:%S") if date_helpers.get_date_diff(previous_updated_at, updated_at) > 60: version = EntityVersion.create(entity_id=shot["id"], name=pname, data=shot["data"], person_id=current_user_id) return version
def new_comment( task_id, task_status_id, person_id, text, object_type="Task", files={}, checklist=[], created_at="", ): """ Create a new comment for given object (by default, it considers this object as a Task). """ created_at_date = None task = tasks_service.get_task(task_id) if created_at is not None and len(created_at) > 0: try: created_at_date = fields.get_date_object( created_at, date_format="%Y-%m-%d %H:%M:%S") except ValueError: pass comment = Comment.create( object_id=task_id, object_type=object_type, task_status_id=task_status_id, person_id=person_id, mentions=get_comment_mentions(task_id, text), checklist=checklist, text=text, created_at=created_at_date, ) comment = comment.serialize(relations=True) comment["attachment_files"] = [] for uploaded_file in files.values(): attachment_file = create_attachment(comment, uploaded_file) comment["attachment_files"].append(attachment_file) events.emit( "comment:new", { "comment_id": comment["id"], "task_id": task_id }, project_id=task["project_id"], ) return comment