[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/project/application/ -> PhabricatorProjectApplication.php (source)

   1  <?php
   2  
   3  final class PhabricatorProjectApplication extends PhabricatorApplication {
   4  
   5    public function getName() {
   6      return pht('Projects');
   7    }
   8  
   9    public function getShortDescription() {
  10      return pht('Get Organized');
  11    }
  12  
  13    public function isPinnedByDefault(PhabricatorUser $viewer) {
  14      return true;
  15    }
  16  
  17    public function getBaseURI() {
  18      return '/project/';
  19    }
  20  
  21    public function getIconName() {
  22      return 'projects';
  23    }
  24  
  25    public function getFlavorText() {
  26      return pht('Group stuff into big piles.');
  27    }
  28  
  29    public function getRemarkupRules() {
  30      return array(
  31        new ProjectRemarkupRule(),
  32      );
  33    }
  34  
  35    public function getEventListeners() {
  36      return array(
  37        new PhabricatorProjectUIEventListener(),
  38      );
  39    }
  40  
  41    public function getRoutes() {
  42      return array(
  43        '/project/' => array(
  44          '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorProjectListController',
  45          'filter/(?P<filter>[^/]+)/' => 'PhabricatorProjectListController',
  46          'edit/(?P<id>[1-9]\d*)/' => 'PhabricatorProjectEditMainController',
  47          'details/(?P<id>[1-9]\d*)/'
  48            => 'PhabricatorProjectEditDetailsController',
  49          'archive/(?P<id>[1-9]\d*)/'
  50            => 'PhabricatorProjectArchiveController',
  51          'members/(?P<id>[1-9]\d*)/'
  52            => 'PhabricatorProjectMembersEditController',
  53          'members/(?P<id>[1-9]\d*)/remove/'
  54            => 'PhabricatorProjectMembersRemoveController',
  55          'view/(?P<id>[1-9]\d*)/'
  56            => 'PhabricatorProjectProfileController',
  57          'picture/(?P<id>[1-9]\d*)/'
  58            => 'PhabricatorProjectEditPictureController',
  59          'icon/(?P<id>[1-9]\d*)/'
  60            => 'PhabricatorProjectEditIconController',
  61          'icon/'
  62            => 'PhabricatorProjectEditIconController',
  63          'create/' => 'PhabricatorProjectEditDetailsController',
  64          'board/(?P<id>[1-9]\d*)/'.
  65            '(?P<filter>filter/)?'.
  66            '(?:query/(?P<queryKey>[^/]+)/)?'
  67            => 'PhabricatorProjectBoardViewController',
  68          'move/(?P<id>[1-9]\d*)/' => 'PhabricatorProjectMoveController',
  69          'board/(?P<projectID>[1-9]\d*)/' => array(
  70            'edit/(?:(?P<id>\d+)/)?'
  71              => 'PhabricatorProjectColumnEditController',
  72            'hide/(?:(?P<id>\d+)/)?'
  73              => 'PhabricatorProjectColumnHideController',
  74            'column/(?:(?P<id>\d+)/)?'
  75              => 'PhabricatorProjectColumnDetailController',
  76            'import/'
  77              => 'PhabricatorProjectBoardImportController',
  78            'reorder/'
  79              => 'PhabricatorProjectBoardReorderController',
  80          ),
  81          'update/(?P<id>[1-9]\d*)/(?P<action>[^/]+)/'
  82            => 'PhabricatorProjectUpdateController',
  83          'history/(?P<id>[1-9]\d*)/' => 'PhabricatorProjectHistoryController',
  84          '(?P<action>watch|unwatch)/(?P<id>[1-9]\d*)/'
  85            => 'PhabricatorProjectWatchController',
  86          'wiki/' => 'PhabricatorProjectWikiExplainController',
  87        ),
  88        '/tag/' => array(
  89          '(?P<slug>[^/]+)/' => 'PhabricatorProjectProfileController',
  90          '(?P<slug>[^/]+)/board/' => 'PhabricatorProjectBoardViewController',
  91        ),
  92      );
  93    }
  94  
  95    public function getQuickCreateItems(PhabricatorUser $viewer) {
  96      $can_create = PhabricatorPolicyFilter::hasCapability(
  97        $viewer,
  98        $this,
  99        ProjectCreateProjectsCapability::CAPABILITY);
 100  
 101      $items = array();
 102      if ($can_create) {
 103        $item = id(new PHUIListItemView())
 104          ->setName(pht('Project'))
 105          ->setIcon('fa-briefcase')
 106          ->setHref($this->getBaseURI().'create/');
 107        $items[] = $item;
 108      }
 109  
 110      return $items;
 111    }
 112  
 113    protected function getCustomCapabilities() {
 114      return array(
 115        ProjectCreateProjectsCapability::CAPABILITY => array(),
 116        ProjectCanLockProjectsCapability::CAPABILITY => array(
 117          'default' => PhabricatorPolicies::POLICY_ADMIN,
 118        ),
 119        ProjectDefaultViewCapability::CAPABILITY => array(
 120          'caption' => pht(
 121            'Default view policy for newly created projects.'),
 122        ),
 123        ProjectDefaultEditCapability::CAPABILITY => array(
 124          'caption' => pht(
 125            'Default edit policy for newly created projects.'),
 126        ),
 127        ProjectDefaultJoinCapability::CAPABILITY => array(
 128          'caption' => pht(
 129            'Default join policy for newly created projects.'),
 130        ),
 131      );
 132    }
 133  
 134  }


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