mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-04 20:52:43 +01:00
cc1def6cea
Summary: See discussion at https://secure.phabricator.com/D19492#241996 Test Plan: Refreshed a few Diffusion tabs; nothing broke. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D19578
81 lines
1.8 KiB
PHP
81 lines
1.8 KiB
PHP
<?php
|
|
|
|
final class SubscriptionListDialogBuilder extends Phobject {
|
|
|
|
private $viewer;
|
|
private $handles;
|
|
private $objectPHID;
|
|
private $title;
|
|
|
|
public function setViewer(PhabricatorUser $viewer) {
|
|
$this->viewer = $viewer;
|
|
return $this;
|
|
}
|
|
|
|
public function getViewer() {
|
|
return $this->viewer;
|
|
}
|
|
|
|
public function setHandles(array $handles) {
|
|
assert_instances_of($handles, 'PhabricatorObjectHandle');
|
|
$this->handles = $handles;
|
|
return $this;
|
|
}
|
|
|
|
public function getHandles() {
|
|
return $this->handles;
|
|
}
|
|
|
|
public function setObjectPHID($object_phid) {
|
|
$this->objectPHID = $object_phid;
|
|
return $this;
|
|
}
|
|
|
|
public function getObjectPHID() {
|
|
return $this->objectPHID;
|
|
}
|
|
|
|
public function setTitle($title) {
|
|
$this->title = $title;
|
|
return $this;
|
|
}
|
|
|
|
public function getTitle() {
|
|
return $this->title;
|
|
}
|
|
|
|
public function buildDialog() {
|
|
$phid = $this->getObjectPHID();
|
|
$handles = $this->getHandles();
|
|
$object_handle = $handles[$phid];
|
|
unset($handles[$phid]);
|
|
|
|
return id(new AphrontDialogView())
|
|
->setUser($this->getViewer())
|
|
->setWidth(AphrontDialogView::WIDTH_FORM)
|
|
->setTitle($this->getTitle())
|
|
->setObjectList($this->buildBody($this->getViewer(), $handles))
|
|
->addCancelButton($object_handle->getURI(), pht('Close'));
|
|
}
|
|
|
|
private function buildBody(PhabricatorUser $viewer, $handles) {
|
|
|
|
$list = id(new PHUIObjectItemListView())
|
|
->setUser($viewer);
|
|
foreach ($handles as $handle) {
|
|
$item = id(new PHUIObjectItemView())
|
|
->setHeader($handle->getFullName())
|
|
->setHref($handle->getURI())
|
|
->setDisabled($handle->isDisabled());
|
|
|
|
if ($handle->getImageURI()) {
|
|
$item->setImageURI($handle->getImageURI());
|
|
}
|
|
|
|
$list->addItem($item);
|
|
}
|
|
|
|
return $list;
|
|
}
|
|
|
|
}
|