public function build() { $artifact = new Tracker_Artifact($this->id, $this->tracker_id, $this->submitted_by, $this->submitted_on, null); if ($this->tracker) { $artifact->setTracker($this->tracker); } if ($this->formElementFactory) { $artifact->setFormElementFactory($this->formElementFactory); } if ($this->changesets) { $artifact->setChangesets($this->changesets); } if ($this->hierarchy_factory) { $artifact->setHierarchyFactory($this->hierarchy_factory); } if (isset($this->ancestors)) { $artifact->setAllAncestors($this->ancestors); } if ($this->title) { $artifact->setTitle($this->title); } if ($this->parent_without_permission_checking) { $artifact->setParentWithoutPermissionChecking($this->parent_without_permission_checking); } if ($this->submitted_by_user) { $artifact->setSubmittedByUser($this->submitted_by_user); } foreach ($this->user_can_view as $user) { $artifact->setUserCanView($user, true); } return $artifact; }
/** * Buil an instance of artifact * * @param array $row the value of the artifact form the db * * @return Tracker_Artifact */ public function getInstanceFromRow($row) { $artifact = new Tracker_Artifact($row['id'], $row['tracker_id'], $row['submitted_by'], $row['submitted_on'], $row['use_artifact_permissions']); if (isset($row['title'])) { $artifact->setTitle($row['title']); } return $artifact; }
private function pushItem(Planning_Milestone $milestone, Tracker_Artifact $artifact, array $parents, array $semantics, $redirect_to_self) { $artifact_id = $artifact->getId(); if (!isset($semantics[$artifact_id])) { return; } $artifact->setTitle($semantics[$artifact_id][Tracker_Semantic_Title::NAME]); $backlog_item = $this->backlog_item_builder->getItem($artifact, $redirect_to_self); if (isset($parents[$artifact_id])) { $backlog_item->setParent($parents[$artifact_id]); } $this->pushItemInOpenCollections($milestone, $artifact, $semantics, $backlog_item); $this->pushItemInDoneCollection($milestone, $semantics, $artifact_id, $backlog_item); $this->all_collection[$milestone->getArtifactId()]->push($backlog_item); }