Esempio n. 1
0
 private function getSemanticTitle(Tracker $tracker)
 {
     $semantic = Tracker_Semantic_Title::load($tracker);
     if (!$semantic->getFieldId()) {
         return;
     }
     return $semantic;
 }
 /**
  * @return Tracker_SemanticCollection
  */
 public function getSemantics()
 {
     $semantics = new Tracker_SemanticCollection();
     $title_semantic = Tracker_Semantic_Title::load($this->tracker);
     $semantics->add($title_semantic->getShortName(), $title_semantic);
     $status_semantic = Tracker_Semantic_Status::load($this->tracker);
     $semantics->add($status_semantic->getShortName(), $status_semantic);
     $contributor_semantic = Tracker_Semantic_Contributor::load($this->tracker);
     $semantics->add($contributor_semantic->getShortName(), $contributor_semantic);
     $tooltip_semantic = $this->tracker->getTooltip();
     $semantics->add($tooltip_semantic->getShortName(), $tooltip_semantic);
     $this->addOtherSemantics($semantics);
     return $semantics;
 }
 public function getByTracker(Tracker $tracker)
 {
     return Tracker_Semantic_Title::load($tracker);
 }
 /**
  *
  * @param <type> $recipient
  * @param <type> $ignore_perms
  * @return <type>
  */
 public function fetchMailTitle($recipient, $format = 'text', $ignore_perms = false)
 {
     $output = '';
     if ($title_field = Tracker_Semantic_Title::load($this->getTracker())->getField()) {
         if ($ignore_perms || $title_field->userCanRead($recipient)) {
             if ($value = $this->getLastChangeset()->getValue($title_field)) {
                 if ($title = $value->getText()) {
                     $output .= $title;
                 }
             }
         }
     }
     return $output;
 }
 /**
  * Returns the "open" artifacts 
  *  - assigned to user $user_id OR
  *  - submitted by user $user_id OR
  *  - submitted by or assigned to user $user_id.
  * regarding the callback method (respectively
  *  - searchOpenAssignedToUserId,
  *  - searchOpenSubmittedByUserId
  *  - searchOpenSubmittedByOrAssignedToUserId)
  *
  * in an array of the form:
  * array(
  *    $tracker_id => array(
  *                      'tracker'   => $tracker (Tracker),
  *                      'artifacts' => array(
  *                                          'artifact' => $artifact (Tracker_Artifact),
  *                                          'title'    => $title (string)
  *                                     )
  *                   )
  * )
  *
  * @param int    $user_id  the id of the user
  * @param string $callback the callback method
  *
  * @return array Complex array of artifacts group by trackers (see above)
  */
 protected function getUserOpenArtifacts($user_id, $callback)
 {
     $tf = TrackerFactory::instance();
     $artifacts = array();
     foreach ($this->getDao()->{$callback}($user_id) as $row) {
         if (!isset($artifacts[$row['tracker_id']])) {
             $tracker = $tf->getTrackerById($row['tracker_id']);
             $with_title = false;
             if ($title_field = Tracker_Semantic_Title::load($tracker)->getField()) {
                 if ($title_field->userCanRead()) {
                     $with_title = true;
                 }
             }
             $artifacts[$row['tracker_id']] = array('tracker' => $tracker, 'with_title' => $with_title, 'artifacts' => array());
         }
         if (!isset($artifacts[$row['tracker_id']]['artifacts'][$row['id']])) {
             $artifact = $this->getInstanceFromRow($row);
             if ($artifact->userCanView()) {
                 $artifacts[$row['tracker_id']]['artifacts'][$row['id']] = array('artifact' => $artifact, 'title' => $artifacts[$row['tracker_id']]['with_title'] ? $row['title'] : '');
             }
         }
     }
     return $artifacts;
 }
Esempio n. 6
0
 /**
  * Return the title field, or null if no title field defined
  *
  * @return Tracker_FormElement_Text the title field, or null if not defined
  */
 public function getTitleField()
 {
     $title_field = Tracker_Semantic_Title::load($this)->getField();
     if ($title_field) {
         return $title_field;
     } else {
         return null;
     }
 }
 private function getSemanticTitle(Tracker $tracker)
 {
     $semantic = Tracker_Semantic_Title::load($tracker);
     if (!$semantic->getFieldId()) {
         throw new Kanban_SemanticTitleNotDefinedException();
     }
     return $semantic;
 }
 /**
  * @return array of Tracker_Semantic
  */
 public function getSemantics()
 {
     $semantics = array();
     $t = Tracker_Semantic_Title::load($this->tracker);
     $semantics[$t->getShortName()] = $t;
     $t = Tracker_Semantic_Status::load($this->tracker);
     $semantics[$t->getShortName()] = $t;
     $t = Tracker_Semantic_Contributor::load($this->tracker);
     $semantics[$t->getShortName()] = $t;
     $t = $this->tracker->getTooltip();
     $semantics[$t->getShortName()] = $t;
     return $semantics;
 }
 protected function userCanReadBacklogTitleField(PFUser $user, Tracker $tracker)
 {
     if (!isset($this->cache_read_title[$tracker->getId()])) {
         $field = Tracker_Semantic_Title::load($tracker)->getField();
         if (!$field) {
             $this->cache_read_title[$tracker->getId()] = false;
         } else {
             $this->cache_read_title[$tracker->getId()] = $field->userCanRead($user);
         }
     }
     return $this->cache_read_title[$tracker->getId()];
 }