Use modern UI elements and application/event-oriented construction in Projects

Summary:
Ref T2715. This partially modernizes projects.

Precursor to using ApplicationSearch, which is a precursor to using application PHIDs.

Then, some day, we will make projects good.

Test Plan: {F51126}

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2715

Differential Revision: https://secure.phabricator.com/D6524
This commit is contained in:
epriestley
2013-07-22 09:01:22 -07:00
parent 3fcd9c93f1
commit 7cbe82d777
8 changed files with 152 additions and 162 deletions

View File

@@ -2,51 +2,6 @@
abstract class PhabricatorProjectController extends PhabricatorController {
protected function buildLocalNavigation(PhabricatorProject $project) {
$id = $project->getID();
$nav_view = new AphrontSideNavFilterView();
$uri = new PhutilURI('/project/view/'.$id.'/');
$nav_view->setBaseURI($uri);
$external_arrow = "\xE2\x86\x97";
$tasks_uri = '/maniphest/view/all/?projects='.$project->getPHID();
$slug = PhabricatorSlug::normalize($project->getPhrictionSlug());
$phriction_uri = '/w/projects/'.$slug;
$edit_uri = '/project/edit/'.$id.'/';
$members_uri = '/project/members/'.$id.'/';
$nav_view->addLabel(pht('Project'));
$nav_view->addFilter('dashboard', pht('Dashboard'));
$nav_view->addFilter(null, pht('Tasks').' '.$external_arrow, $tasks_uri);
$nav_view->addFilter(null, pht('Wiki').' '.$external_arrow, $phriction_uri);
$user = $this->getRequest()->getUser();
$can_edit = PhabricatorPolicyCapability::CAN_EDIT;
$nav_view->addLabel(pht('Manage'));
if (PhabricatorPolicyFilter::hasCapability($user, $project, $can_edit)) {
$nav_view->addFilter('edit', pht("Edit Project"), $edit_uri);
$nav_view->addFilter('members', pht("Edit Members"), $members_uri);
} else {
$nav_view->addFilter(
'edit',
pht("Edit Project"),
$edit_uri,
$relative = false,
'disabled');
$nav_view->addFilter(
'members',
pht("Edit Members"),
$members_uri,
$relative = false,
'disabled');
}
return $nav_view;
}
public function buildSideNavView($filter = null, $for_app = false) {
$user = $this->getRequest()->getUser();