Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/view/PhabricatorProjectListView.php
<?php | <?php | ||||
final class PhabricatorProjectListView extends AphrontView { | final class PhabricatorProjectListView extends AphrontView { | ||||
private $projects; | private $projects; | ||||
private $showMember; | |||||
private $showWatching; | |||||
public function setProjects(array $projects) { | public function setProjects(array $projects) { | ||||
$this->projects = $projects; | $this->projects = $projects; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getProjects() { | public function getProjects() { | ||||
return $this->projects; | return $this->projects; | ||||
} | } | ||||
public function setShowWatching($watching) { | |||||
$this->showWatching = $watching; | |||||
return $this; | |||||
} | |||||
public function setShowMember($member) { | |||||
$this->showMember = $member; | |||||
return $this; | |||||
} | |||||
public function renderList() { | public function renderList() { | ||||
$viewer = $this->getUser(); | $viewer = $this->getUser(); | ||||
$viewer_phid = $viewer->getPHID(); | $viewer_phid = $viewer->getPHID(); | ||||
$projects = $this->getProjects(); | $projects = $this->getProjects(); | ||||
$handles = $viewer->loadHandles(mpull($projects, 'getPHID')); | $handles = $viewer->loadHandles(mpull($projects, 'getPHID')); | ||||
$list = id(new PHUIObjectItemListView()) | $list = id(new PHUIObjectItemListView()) | ||||
Show All 19 Lines | foreach ($projects as $key => $project) { | ||||
$icon_name, | $icon_name, | ||||
)); | )); | ||||
if ($project->getStatus() == PhabricatorProjectStatus::STATUS_ARCHIVED) { | if ($project->getStatus() == PhabricatorProjectStatus::STATUS_ARCHIVED) { | ||||
$item->addIcon('delete-grey', pht('Archived')); | $item->addIcon('delete-grey', pht('Archived')); | ||||
$item->setDisabled(true); | $item->setDisabled(true); | ||||
} | } | ||||
if ($this->showMember) { | |||||
$is_member = $project->isUserMember($viewer_phid); | $is_member = $project->isUserMember($viewer_phid); | ||||
$is_watcher = $project->isUserWatcher($viewer_phid); | |||||
if ($is_member) { | if ($is_member) { | ||||
$item->addIcon('fa-user', pht('Member')); | $item->addIcon('fa-user', pht('Member')); | ||||
} | } | ||||
} | |||||
if ($this->showWatching) { | |||||
$is_watcher = $project->isUserWatcher($viewer_phid); | |||||
if ($is_watcher) { | if ($is_watcher) { | ||||
$item->addIcon('fa-eye', pht('Watching')); | $item->addIcon('fa-eye', pht('Watching')); | ||||
} | } | ||||
} | |||||
$list->addItem($item); | $list->addItem($item); | ||||
} | } | ||||
return $list; | return $list; | ||||
} | } | ||||
public function render() { | public function render() { | ||||
return $this->renderList(); | return $this->renderList(); | ||||
} | } | ||||
} | } |