[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/differential/customfield/ -> DifferentialProjectReviewersField.php (source)

   1  <?php
   2  
   3  final class DifferentialProjectReviewersField
   4    extends DifferentialCustomField {
   5  
   6    public function getFieldKey() {
   7      return 'differential:project-reviewers';
   8    }
   9  
  10    public function getFieldName() {
  11      return pht('Project Reviewers');
  12    }
  13  
  14    public function getFieldDescription() {
  15      return pht('Display project reviewers.');
  16    }
  17  
  18    public function shouldAppearInPropertyView() {
  19      return true;
  20    }
  21  
  22    public function canDisableField() {
  23      return false;
  24    }
  25  
  26    public function renderPropertyViewLabel() {
  27      return $this->getFieldName();
  28    }
  29  
  30    public function getRequiredHandlePHIDsForPropertyView() {
  31      return mpull($this->getProjectReviewers(), 'getReviewerPHID');
  32    }
  33  
  34    public function renderPropertyViewValue(array $handles) {
  35      $reviewers = $this->getProjectReviewers();
  36      if (!$reviewers) {
  37        return null;
  38      }
  39  
  40      $view = id(new DifferentialReviewersView())
  41        ->setUser($this->getViewer())
  42        ->setReviewers($reviewers)
  43        ->setHandles($handles);
  44  
  45      // TODO: Active diff stuff.
  46  
  47      return $view;
  48    }
  49  
  50    private function getProjectReviewers() {
  51      $reviewers = array();
  52      foreach ($this->getObject()->getReviewerStatus() as $reviewer) {
  53        if (!$reviewer->isUser()) {
  54          $reviewers[] = $reviewer;
  55        }
  56      }
  57      return $reviewers;
  58    }
  59  
  60    public function getProTips() {
  61      return array(
  62        pht(
  63          'You can add a project as a subscriber or reviewer by writing '.
  64          '"#projectname" in the appropriate field.'),
  65      );
  66    }
  67  
  68  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1