[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/almanac/controller/ -> AlmanacController.php (source)

   1  <?php
   2  
   3  abstract class AlmanacController
   4    extends PhabricatorController {
   5  
   6    protected function buildAlmanacPropertiesTable(
   7      AlmanacPropertyInterface $object) {
   8  
   9      $viewer = $this->getViewer();
  10      $properties = $object->getAlmanacProperties();
  11  
  12      $rows = array();
  13      foreach ($properties as $property) {
  14        $value = $property->getFieldValue();
  15  
  16        $rows[] = array(
  17          $property->getFieldName(),
  18          PhabricatorConfigJSON::prettyPrintJSON($value),
  19        );
  20      }
  21  
  22      $table = id(new AphrontTableView($rows))
  23        ->setNoDataString(pht('No properties.'))
  24        ->setHeaders(
  25          array(
  26            pht('Name'),
  27            pht('Value'),
  28          ))
  29        ->setColumnClasses(
  30          array(
  31            null,
  32            'wide',
  33          ));
  34  
  35      $phid = $object->getPHID();
  36      $add_uri = $this->getApplicationURI("property/edit/?objectPHID={$phid}");
  37  
  38      $can_edit = PhabricatorPolicyFilter::hasCapability(
  39        $viewer,
  40        $object,
  41        PhabricatorPolicyCapability::CAN_EDIT);
  42  
  43      $add_button = id(new PHUIButtonView())
  44        ->setTag('a')
  45        ->setHref($add_uri)
  46        ->setWorkflow(true)
  47        ->setDisabled(!$can_edit)
  48        ->setText(pht('Add Property'))
  49        ->setIcon(
  50          id(new PHUIIconView())
  51            ->setIconFont('fa-plus'));
  52  
  53      $header = id(new PHUIHeaderView())
  54        ->setHeader(pht('Properties'))
  55        ->addActionLink($add_button);
  56  
  57      return id(new PHUIObjectBoxView())
  58        ->setHeader($header)
  59        ->appendChild($table);
  60    }
  61  
  62  }


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