private function sendAjaxCardsUpdateInfo(PFUser $current_user)
 {
     $cards_info = $this->getCardUpdateInfo($this->artifact, $current_user);
     $parent = $this->artifact->getParent($current_user);
     if ($parent) {
         $cards_info = $cards_info + $this->getCardUpdateInfo($parent, $current_user);
     }
     $GLOBALS['Response']->sendJSON($cards_info);
 }
 private function getParentInSameHierarchy(Tracker $expected_parent_tracker, Tracker_Artifact $source_artifact, User $user)
 {
     if ($source_artifact->getTracker() == $expected_parent_tracker) {
         return $source_artifact;
     } else {
         $parent = $source_artifact->getParent($user);
         if ($parent) {
             return $this->getParentInSameHierarchy($expected_parent_tracker, $parent, $user);
         }
     }
 }
 private function isParentLinkedToParentMilestone(Tracker_Artifact $artifact_added, Tracker_Artifact $parent_milestone_artifact, PFUser $user)
 {
     $parent = $artifact_added->getParent($user);
     if (!$parent) {
         return false;
     }
     $linked_artifacts = $parent_milestone_artifact->getLinkedArtifacts($user);
     foreach ($linked_artifacts as $linked_artifact) {
         if ($linked_artifact->getId() === $parent->getId()) {
             return true;
         }
     }
     return false;
 }
 private function getCardPresenter(Tracker_Artifact $artifact, $swimline_id)
 {
     $color = $artifact->getCardAccentColor($this->user);
     return new Cardwall_CardPresenter($artifact, $this->card_fields, $color, $this->display_preferences, $swimline_id, $artifact->getAllowedChildrenTypesForUser($this->user), $artifact->getParent($this->user));
 }
 public function fetchArtifactForOverlay(Tracker_Artifact $artifact)
 {
     $user_manager = UserManager::instance();
     $user = $user_manager->getCurrentUser();
     $parent_tracker = $this->getTracker()->getParent();
     if ($artifact->getParent($user) || !$parent_tracker) {
         return '';
     }
     $prefill_parent = '';
     $name = 'artifact[' . $this->id . ']';
     $current_user = $this->getCurrentUser();
     $can_create = false;
     return $this->fetchParentSelector($prefill_parent, $name, $parent_tracker, $current_user, $can_create);
 }
 /**
  * @return Cardwall_CardPresenter
  */
 private function getCardPresenter(PFUser $user, Tracker_Artifact $artifact, Cardwall_CardFields $card_fields, Cardwall_UserPreferences_UserPreferencesDisplayUser $display_preferences)
 {
     $parent_artifact = $artifact->getParent($user);
     return new Cardwall_CardPresenter($artifact, $card_fields, $artifact->getCardAccentColor($user), $display_preferences, null, $artifact->getAllowedChildrenTypesForUser($user), $parent_artifact);
 }