Page MenuHomePhabricator

D15416.diff
No OneTemporary

D15416.diff

diff --git a/src/applications/badges/controller/PhabricatorBadgesViewController.php b/src/applications/badges/controller/PhabricatorBadgesViewController.php
--- a/src/applications/badges/controller/PhabricatorBadgesViewController.php
+++ b/src/applications/badges/controller/PhabricatorBadgesViewController.php
@@ -43,8 +43,7 @@
->setStatus($status_icon, $status_color, $status_name)
->setHeaderIcon('fa-trophy');
- $properties = $this->buildPropertyListView($badge);
- $actions = $this->buildActionListView($badge);
+ $curtain = $this->buildCurtain($badge);
$details = $this->buildDetailsView($badge);
$timeline = $this->buildTransactionTimeline(
@@ -64,36 +63,19 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
+ ->setCurtain($curtain)
->setMainColumn(array(
$recipient_list,
$timeline,
$add_comment,
))
- ->setPropertyList($properties)
- ->setActionList($actions)
->addPropertySection(pht('BADGE DETAILS'), $details);
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
->setPageObjectPHIDs(array($badge->getPHID()))
- ->appendChild(
- array(
- $view,
- ));
- }
-
- private function buildPropertyListView(
- PhabricatorBadgesBadge $badge) {
- $viewer = $this->getViewer();
-
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($badge);
-
- $view->invokeWillRenderEvent();
-
- return $view;
+ ->appendChild($view);
}
private function buildDetailsView(
@@ -137,53 +119,55 @@
return $view;
}
- private function buildActionListView(PhabricatorBadgesBadge $badge) {
+ private function buildCurtain(PhabricatorBadgesBadge $badge) {
$viewer = $this->getViewer();
- $id = $badge->getID();
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$badge,
PhabricatorPolicyCapability::CAN_EDIT);
- $view = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($badge);
+ $id = $badge->getID();
+ $edit_uri = $this->getApplicationURI("/edit/{$id}/");
+ $archive_uri = $this->getApplicationURI("/archive/{$id}/");
+ $award_uri = $this->getApplicationURI("/recipients/{$id}/");
+
+ $curtain = $this->newCurtainView($badge);
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Badge'))
->setIcon('fa-pencil')
->setDisabled(!$can_edit)
- ->setHref($this->getApplicationURI("/edit/{$id}/")));
+ ->setHref($edit_uri));
if ($badge->isArchived()) {
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Activate Badge'))
->setIcon('fa-check')
->setDisabled(!$can_edit)
->setWorkflow($can_edit)
- ->setHref($this->getApplicationURI("/archive/{$id}/")));
+ ->setHref($archive_uri));
} else {
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Archive Badge'))
->setIcon('fa-ban')
->setDisabled(!$can_edit)
->setWorkflow($can_edit)
- ->setHref($this->getApplicationURI("/archive/{$id}/")));
+ ->setHref($archive_uri));
}
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName('Add Recipients')
->setIcon('fa-users')
->setDisabled(!$can_edit)
->setWorkflow(true)
- ->setHref($this->getApplicationURI("/recipients/{$id}/")));
+ ->setHref($award_uri));
- return $view;
+ return $curtain;
}
private function buildCommentForm(PhabricatorBadgesBadge $badge) {
diff --git a/src/applications/base/controller/PhabricatorController.php b/src/applications/base/controller/PhabricatorController.php
--- a/src/applications/base/controller/PhabricatorController.php
+++ b/src/applications/base/controller/PhabricatorController.php
@@ -475,8 +475,14 @@
$viewer = $this->getViewer();
$action_list = id(new PhabricatorActionListView())
- ->setViewer($viewer)
- ->setObject($object);
+ ->setViewer($viewer);
+
+ // NOTE: Applications (objects of class PhabricatorApplication) can't
+ // currently be set here, although they don't need any of the extensions
+ // anyway. This should probably work differently than it does, though.
+ if ($object instanceof PhabricatorLiskDAO) {
+ $action_list->setObject($object);
+ }
$curtain = id(new PHUICurtainView())
->setViewer($viewer)
diff --git a/src/applications/calendar/controller/PhabricatorCalendarEventViewController.php b/src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
--- a/src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
+++ b/src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
@@ -63,8 +63,7 @@
}
$header = $this->buildHeaderView($event);
- $actions = $this->buildActionView($event);
- $properties = $this->buildPropertyListView($event);
+ $curtain = $this->buildCurtain($event);
$details = $this->buildPropertySection($event);
$description = $this->buildDescriptionView($event);
@@ -91,10 +90,9 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setMainColumn($timeline)
- ->setPropertyList($properties)
+ ->setCurtain($curtain)
->addPropertySection(pht('DETAILS'), $details)
- ->addPropertySection(pht('DESCRIPTION'), $description)
- ->setActionList($actions);
+ ->addPropertySection(pht('DESCRIPTION'), $description);
return $this->newPage()
->setTitle($page_title)
@@ -148,16 +146,12 @@
return $header;
}
- private function buildActionView(PhabricatorCalendarEvent $event) {
+ private function buildCurtain(PhabricatorCalendarEvent $event) {
$viewer = $this->getRequest()->getUser();
$id = $event->getID();
$is_cancelled = $event->getIsCancelled();
$is_attending = $event->getIsUserAttending($viewer->getPHID());
- $actions = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($event);
-
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$event,
@@ -178,8 +172,10 @@
$edit_uri = "event/edit/{$id}/";
}
+ $curtain = $this->newCurtainView($event);
+
if ($edit_label && $edit_uri) {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($edit_label)
->setIcon('fa-pencil')
@@ -189,14 +185,14 @@
}
if ($is_attending) {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Decline Event'))
->setIcon('fa-user-times')
->setHref($this->getApplicationURI("event/join/{$id}/"))
->setWorkflow(true));
} else {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Join Event'))
->setIcon('fa-user-plus')
@@ -230,7 +226,7 @@
}
if ($is_cancelled) {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($reinstate_label)
->setIcon('fa-plus')
@@ -238,7 +234,7 @@
->setDisabled($cancel_disabled)
->setWorkflow(true));
} else {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($cancel_label)
->setIcon('fa-times')
@@ -247,20 +243,7 @@
->setWorkflow(true));
}
- return $actions;
- }
-
- private function buildPropertyListView(
- PhabricatorCalendarEvent $event) {
- $viewer = $this->getViewer();
-
- $properties = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($event);
-
- $properties->invokeWillRenderEvent();
-
- return $properties;
+ return $curtain;
}
private function buildPropertySection(
diff --git a/src/applications/countdown/controller/PhabricatorCountdownViewController.php b/src/applications/countdown/controller/PhabricatorCountdownViewController.php
--- a/src/applications/countdown/controller/PhabricatorCountdownViewController.php
+++ b/src/applications/countdown/controller/PhabricatorCountdownViewController.php
@@ -49,8 +49,7 @@
->setStatus($icon, $color, $status)
->setHeaderIcon('fa-rocket');
- $actions = $this->buildActionListView($countdown);
- $properties = $this->buildPropertyListView($countdown);
+ $curtain = $this->buildCurtain($countdown);
$subheader = $this->buildSubheaderView($countdown);
$timeline = $this->buildTransactionTimeline(
@@ -67,9 +66,8 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setSubheader($subheader)
- ->setMainColumn($content)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->setCurtain($curtain)
+ ->setMainColumn($content);
return $this->newPage()
->setTitle($title)
@@ -78,28 +76,22 @@
array(
$countdown->getPHID(),
))
- ->appendChild(
- array(
- $view,
- ));
+ ->appendChild($view);
}
- private function buildActionListView(PhabricatorCountdown $countdown) {
- $request = $this->getRequest();
- $viewer = $request->getUser();
+ private function buildCurtain(PhabricatorCountdown $countdown) {
+ $viewer = $this->getViewer();
$id = $countdown->getID();
- $view = id(new PhabricatorActionListView())
- ->setObject($countdown)
- ->setUser($viewer);
-
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$countdown,
PhabricatorPolicyCapability::CAN_EDIT);
- $view->addAction(
+ $curtain = $this->newCurtainView($countdown);
+
+ $curtain->addAction(
id(new PhabricatorActionView())
->setIcon('fa-pencil')
->setName(pht('Edit Countdown'))
@@ -107,7 +99,7 @@
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setIcon('fa-times')
->setName(pht('Delete Countdown'))
@@ -115,17 +107,7 @@
->setDisabled(!$can_edit)
->setWorkflow(true));
- return $view;
- }
-
- private function buildPropertyListView(
- PhabricatorCountdown $countdown) {
- $viewer = $this->getViewer();
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($countdown);
- $view->invokeWillRenderEvent();
- return $view;
+ return $curtain;
}
private function buildSubheaderView(
diff --git a/src/applications/fund/controller/FundInitiativeViewController.php b/src/applications/fund/controller/FundInitiativeViewController.php
--- a/src/applications/fund/controller/FundInitiativeViewController.php
+++ b/src/applications/fund/controller/FundInitiativeViewController.php
@@ -46,8 +46,7 @@
->setStatus($status_icon, $status_color, $status_name)
->setHeaderIcon('fa-heart');
- $properties = $this->buildPropertyListView($initiative);
- $actions = $this->buildActionListView($initiative);
+ $curtain = $this->buildCurtain($initiative);
$details = $this->buildPropertySectionView($initiative);
$timeline = $this->buildTransactionTimeline(
@@ -57,31 +56,15 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
+ ->setCurtain($curtain)
->setMainColumn($timeline)
- ->setPropertyList($properties)
- ->addPropertySection(pht('DETAILS'), $details)
- ->setActionList($actions);
+ ->addPropertySection(pht('DETAILS'), $details);
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
->setPageObjectPHIDs(array($initiative->getPHID()))
- ->appendChild(
- array(
- $view,
- ));
- }
-
- private function buildPropertyListView(FundInitiative $initiative) {
- $viewer = $this->getRequest()->getUser();
-
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($initiative);
-
- $view->invokeWillRenderEvent();
-
- return $view;
+ ->appendChild($view);
}
private function buildPropertySectionView(FundInitiative $initiative) {
@@ -124,8 +107,9 @@
return $view;
}
- private function buildActionListView(FundInitiative $initiative) {
- $viewer = $this->getRequest()->getUser();
+ private function buildCurtain(FundInitiative $initiative) {
+ $viewer = $this->getViewer();
+
$id = $initiative->getID();
$can_edit = PhabricatorPolicyFilter::hasCapability(
@@ -133,11 +117,9 @@
$initiative,
PhabricatorPolicyCapability::CAN_EDIT);
- $view = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($initiative);
+ $curtain = $this->newCurtainView($initiative);
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Initiative'))
->setIcon('fa-pencil')
@@ -153,7 +135,7 @@
$close_icon = 'fa-times';
}
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($close_name)
->setIcon($close_icon)
@@ -161,7 +143,7 @@
->setWorkflow(true)
->setHref($this->getApplicationURI("/close/{$id}/")));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Back Initiative'))
->setIcon('fa-money')
@@ -169,13 +151,13 @@
->setWorkflow(true)
->setHref($this->getApplicationURI("/back/{$id}/")));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('View Backers'))
->setIcon('fa-bank')
->setHref($this->getApplicationURI("/backers/{$id}/")));
- return $view;
+ return $curtain;
}
}
diff --git a/src/applications/herald/controller/HeraldRuleViewController.php b/src/applications/herald/controller/HeraldRuleViewController.php
--- a/src/applications/herald/controller/HeraldRuleViewController.php
+++ b/src/applications/herald/controller/HeraldRuleViewController.php
@@ -33,8 +33,7 @@
pht('Active'));
}
- $actions = $this->buildActionView($rule);
- $properties = $this->buildPropertyView($rule);
+ $curtain = $this->buildCurtain($rule);
$details = $this->buildPropertySectionView($rule);
$description = $this->buildDescriptionView($rule);
@@ -44,10 +43,6 @@
$crumbs->addTextCrumb("H{$id}");
$crumbs->setBorder(true);
- $object_box = id(new PHUIObjectBoxView())
- ->setHeader($header)
- ->addPropertyList($properties);
-
$timeline = $this->buildTransactionTimeline(
$rule,
new HeraldTransactionQuery());
@@ -57,35 +52,30 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
+ ->setCurtain($curtain)
->setMainColumn($timeline)
->addPropertySection(pht('DETAILS'), $details)
- ->addPropertySection(pht('DESCRIPTION'), $description)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->addPropertySection(pht('DESCRIPTION'), $description);
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
- ->appendChild(
- array(
- $view,
- ));
+ ->appendChild($view);
}
- private function buildActionView(HeraldRule $rule) {
- $viewer = $this->getRequest()->getUser();
- $id = $rule->getID();
+ private function buildCurtain(HeraldRule $rule) {
+ $viewer = $this->getViewer();
- $view = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($rule);
+ $id = $rule->getID();
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$rule,
PhabricatorPolicyCapability::CAN_EDIT);
- $view->addAction(
+ $curtain = $this->newCurtainView($rule);
+
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Rule'))
->setHref($this->getApplicationURI("edit/{$id}/"))
@@ -103,7 +93,7 @@
$disable_name = pht('Archive Rule');
}
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Disable Rule'))
->setHref($this->getApplicationURI($disable_uri))
@@ -112,23 +102,10 @@
->setDisabled(!$can_edit)
->setWorkflow(true));
- return $view;
- }
-
- private function buildPropertyView(
- HeraldRule $rule) {
-
- $viewer = $this->getRequest()->getUser();
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($rule);
-
- $view->invokeWillRenderEvent();
-
- return $view;
+ return $curtain;
}
- private function buildPropertySectionView(
+ private function buildPropertySectionView(
HeraldRule $rule) {
$viewer = $this->getRequest()->getUser();
diff --git a/src/applications/macro/controller/PhabricatorMacroViewController.php b/src/applications/macro/controller/PhabricatorMacroViewController.php
--- a/src/applications/macro/controller/PhabricatorMacroViewController.php
+++ b/src/applications/macro/controller/PhabricatorMacroViewController.php
@@ -23,9 +23,8 @@
$title_short = pht('Macro "%s"', $macro->getName());
$title_long = pht('Image Macro "%s"', $macro->getName());
- $actions = $this->buildActionView($macro);
+ $curtain = $this->buildCurtain($macro);
$subheader = $this->buildSubheaderView($macro);
- $properties = $this->buildPropertyView($macro);
$file = $this->buildFileView($macro);
$details = $this->buildPropertySectionView($macro);
@@ -68,35 +67,29 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setSubheader($subheader)
+ ->setCurtain($curtain)
->setMainColumn(array(
$timeline,
$add_comment_form,
))
->addPropertySection(pht('MACRO'), $file)
- ->addPropertySection(pht('DETAILS'), $details)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->addPropertySection(pht('DETAILS'), $details);
return $this->newPage()
->setTitle($title_short)
->setCrumbs($crumbs)
->setPageObjectPHIDs(array($macro->getPHID()))
- ->appendChild(
- array(
- $view,
- ));
+ ->appendChild($view);
}
- private function buildActionView(
+ private function buildCurtain(
PhabricatorFileImageMacro $macro) {
$can_manage = $this->hasApplicationCapability(
PhabricatorMacroManageCapability::CAPABILITY);
- $request = $this->getRequest();
- $view = id(new PhabricatorActionListView())
- ->setUser($request->getUser())
- ->setObject($macro)
- ->addAction(
+ $curtain = $this->newCurtainView($macro);
+
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Macro'))
->setHref($this->getApplicationURI('/edit/'.$macro->getID().'/'))
@@ -104,7 +97,7 @@
->setWorkflow(!$can_manage)
->setIcon('fa-pencil'));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Audio'))
->setHref($this->getApplicationURI('/audio/'.$macro->getID().'/'))
@@ -113,7 +106,7 @@
->setIcon('fa-music'));
if ($macro->getIsDisabled()) {
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Activate Macro'))
->setHref($this->getApplicationURI('/disable/'.$macro->getID().'/'))
@@ -121,7 +114,7 @@
->setDisabled(!$can_manage)
->setIcon('fa-check'));
} else {
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Archive Macro'))
->setHref($this->getApplicationURI('/disable/'.$macro->getID().'/'))
@@ -130,7 +123,7 @@
->setIcon('fa-ban'));
}
- return $view;
+ return $curtain;
}
private function buildSubheaderView(
@@ -206,17 +199,4 @@
return null;
}
- private function buildPropertyView(
- PhabricatorFileImageMacro $macro) {
- $viewer = $this->getViewer();
-
- $view = id(new PHUIPropertyListView())
- ->setUser($this->getRequest()->getUser())
- ->setObject($macro);
-
- $view->invokeWillRenderEvent();
-
- return $view;
- }
-
}
diff --git a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
--- a/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
+++ b/src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
@@ -38,7 +38,7 @@
$header->setStatus('fa-ban', 'dark', pht('Uninstalled'));
}
- $actions = $this->buildActionView($viewer, $selected);
+ $curtain = $this->buildCurtain($selected);
$details = $this->buildPropertySectionView($selected);
$policies = $this->buildPolicyView($selected);
@@ -58,12 +58,12 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
+ ->setCurtain($curtain)
->setMainColumn(array(
$policies,
$panels,
))
- ->addPropertySection(pht('DETAILS'), $details)
- ->setActionList($actions);
+ ->addPropertySection(pht('DETAILS'), $details);
return $this->newPage()
->setTitle($title)
@@ -147,21 +147,22 @@
}
- private function buildActionView(
- PhabricatorUser $user,
- PhabricatorApplication $selected) {
-
- $view = id(new PhabricatorActionListView())
- ->setUser($user);
+ private function buildCurtain(PhabricatorApplication $application) {
+ $viewer = $this->getViewer();
$can_edit = PhabricatorPolicyFilter::hasCapability(
- $user,
- $selected,
+ $viewer,
+ $application,
PhabricatorPolicyCapability::CAN_EDIT);
- $edit_uri = $this->getApplicationURI('edit/'.get_class($selected).'/');
+ $key = get_class($application);
+ $edit_uri = $this->getApplicationURI("edit/{$key}/");
+ $install_uri = $this->getApplicationURI("{$key}/install/");
+ $uninstall_uri = $this->getApplicationURI("{$key}/uninstall/");
+
+ $curtain = $this->newCurtainView($application);
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Policies'))
->setIcon('fa-pencil')
@@ -169,45 +170,42 @@
->setWorkflow(!$can_edit)
->setHref($edit_uri));
- if ($selected->canUninstall()) {
- if ($selected->isInstalled()) {
- $view->addAction(
+ if ($application->canUninstall()) {
+ if ($application->isInstalled()) {
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Uninstall'))
->setIcon('fa-times')
->setDisabled(!$can_edit)
->setWorkflow(true)
- ->setHref(
- $this->getApplicationURI(get_class($selected).'/uninstall/')));
+ ->setHref($uninstall_uri));
} else {
$action = id(new PhabricatorActionView())
->setName(pht('Install'))
->setIcon('fa-plus')
->setDisabled(!$can_edit)
->setWorkflow(true)
- ->setHref(
- $this->getApplicationURI(get_class($selected).'/install/'));
+ ->setHref($install_uri);
$prototypes_enabled = PhabricatorEnv::getEnvConfig(
'phabricator.show-prototypes');
- if ($selected->isPrototype() && !$prototypes_enabled) {
+ if ($application->isPrototype() && !$prototypes_enabled) {
$action->setDisabled(true);
}
- $view->addAction($action);
+ $curtain->addAction($action);
}
} else {
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Uninstall'))
->setIcon('fa-times')
->setWorkflow(true)
->setDisabled(true)
- ->setHref(
- $this->getApplicationURI(get_class($selected).'/uninstall/')));
+ ->setHref($uninstall_uri));
}
- return $view;
+ return $curtain;
}
}
diff --git a/src/applications/owners/controller/PhabricatorOwnersDetailController.php b/src/applications/owners/controller/PhabricatorOwnersDetailController.php
--- a/src/applications/owners/controller/PhabricatorOwnersDetailController.php
+++ b/src/applications/owners/controller/PhabricatorOwnersDetailController.php
@@ -43,8 +43,7 @@
->setViewer($viewer)
->readFieldsFromStorage($package);
- $actions = $this->buildPackageActionView($package);
- $properties = $this->buildPackagePropertyView($package, $field_list);
+ $curtain = $this->buildCurtain($package);
$details = $this->buildPackageDetailView($package, $field_list);
if ($package->isArchived()) {
@@ -155,35 +154,18 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
+ ->setCurtain($curtain)
->setMainColumn(array(
$this->renderPathsTable($paths, $repositories),
$commit_panels,
$timeline,
))
- ->addPropertySection(pht('Details'), $details)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->addPropertySection(pht('Details'), $details);
return $this->newPage()
->setTitle($package->getName())
->setCrumbs($crumbs)
- ->appendChild(
- array(
- $view,
- ));
- }
-
- private function buildPackagePropertyView(
- PhabricatorOwnersPackage $package,
- PhabricatorCustomFieldList $field_list) {
-
- $viewer = $this->getViewer();
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($package);
- $view->invokeWillRenderEvent();
-
- return $view;
+ ->appendChild($view);
}
private function buildPackageDetailView(
@@ -224,7 +206,7 @@
return $view;
}
- private function buildPackageActionView(PhabricatorOwnersPackage $package) {
+ private function buildCurtain(PhabricatorOwnersPackage $package) {
$viewer = $this->getViewer();
$can_edit = PhabricatorPolicyFilter::hasCapability(
@@ -236,45 +218,43 @@
$edit_uri = $this->getApplicationURI("/edit/{$id}/");
$paths_uri = $this->getApplicationURI("/paths/{$id}/");
- $action_list = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($package);
+ $curtain = $this->newCurtainView($package);
- $action_list->addAction(
- id(new PhabricatorActionView())
- ->setName(pht('Edit Package'))
- ->setIcon('fa-pencil')
- ->setDisabled(!$can_edit)
- ->setWorkflow(!$can_edit)
- ->setHref($edit_uri));
+ $curtain->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Edit Package'))
+ ->setIcon('fa-pencil')
+ ->setDisabled(!$can_edit)
+ ->setWorkflow(!$can_edit)
+ ->setHref($edit_uri));
if ($package->isArchived()) {
- $action_list->addAction(
- id(new PhabricatorActionView())
- ->setName(pht('Activate Package'))
- ->setIcon('fa-check')
- ->setDisabled(!$can_edit)
- ->setWorkflow($can_edit)
- ->setHref($this->getApplicationURI("/archive/{$id}/")));
+ $curtain->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Activate Package'))
+ ->setIcon('fa-check')
+ ->setDisabled(!$can_edit)
+ ->setWorkflow($can_edit)
+ ->setHref($this->getApplicationURI("/archive/{$id}/")));
} else {
- $action_list->addAction(
- id(new PhabricatorActionView())
- ->setName(pht('Archive Package'))
- ->setIcon('fa-ban')
- ->setDisabled(!$can_edit)
- ->setWorkflow($can_edit)
- ->setHref($this->getApplicationURI("/archive/{$id}/")));
- }
-
- $action_list->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
- ->setName(pht('Edit Paths'))
- ->setIcon('fa-folder-open')
+ ->setName(pht('Archive Package'))
+ ->setIcon('fa-ban')
->setDisabled(!$can_edit)
- ->setWorkflow(!$can_edit)
- ->setHref($paths_uri));
+ ->setWorkflow($can_edit)
+ ->setHref($this->getApplicationURI("/archive/{$id}/")));
+ }
+
+ $curtain->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Edit Paths'))
+ ->setIcon('fa-folder-open')
+ ->setDisabled(!$can_edit)
+ ->setWorkflow(!$can_edit)
+ ->setHref($paths_uri));
- return $action_list;
+ return $curtain;
}
private function renderPathsTable(array $paths, array $repositories) {
diff --git a/src/applications/passphrase/controller/PassphraseCredentialViewController.php b/src/applications/passphrase/controller/PassphraseCredentialViewController.php
--- a/src/applications/passphrase/controller/PassphraseCredentialViewController.php
+++ b/src/applications/passphrase/controller/PassphraseCredentialViewController.php
@@ -31,26 +31,21 @@
$crumbs->setBorder(true);
$header = $this->buildHeaderView($credential);
- $actions = $this->buildActionView($credential, $type);
- $properties = $this->buildPropertyView($credential, $type);
+ $curtain = $this->buildCurtain($credential, $type);
$subheader = $this->buildSubheaderView($credential);
$content = $this->buildPropertySectionView($credential, $type);
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setSubheader($subheader)
+ ->setCurtain($curtain)
->setMainColumn($timeline)
- ->addPropertySection(pht('PROPERTIES'), $content)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->addPropertySection(pht('PROPERTIES'), $content);
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
- ->appendChild(
- array(
- $view,
- ));
+ ->appendChild($view);
}
private function buildHeaderView(PassphraseCredential $credential) {
@@ -98,10 +93,10 @@
->setContent($content);
}
- private function buildActionView(
+ private function buildCurtain(
PassphraseCredential $credential,
PassphraseCredentialType $type) {
- $viewer = $this->getRequest()->getUser();
+ $viewer = $this->getViewer();
$id = $credential->getID();
@@ -123,16 +118,14 @@
$credential_conduit_icon = 'fa-wrench';
}
- $actions = id(new PhabricatorActionListView())
- ->setObject($credential)
- ->setUser($viewer);
-
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$credential,
PhabricatorPolicyCapability::CAN_EDIT);
- $actions->addAction(
+ $curtain = $this->newCurtainView($credential);
+
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Credential'))
->setIcon('fa-pencil')
@@ -141,7 +134,7 @@
->setWorkflow(!$can_edit));
if (!$credential->getIsDestroyed()) {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Destroy Credential'))
->setIcon('fa-times')
@@ -149,7 +142,7 @@
->setDisabled(!$can_edit)
->setWorkflow(true));
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Show Secret'))
->setIcon('fa-eye')
@@ -158,7 +151,7 @@
->setWorkflow(true));
if ($type->hasPublicKey()) {
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Show Public Key'))
->setIcon('fa-download')
@@ -167,7 +160,7 @@
->setWorkflow(true));
}
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($credential_conduit_text)
->setIcon($credential_conduit_icon)
@@ -175,7 +168,7 @@
->setDisabled(!$can_edit)
->setWorkflow(true));
- $actions->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($credential_lock_text)
->setIcon($credential_lock_icon)
@@ -184,8 +177,7 @@
->setWorkflow(true));
}
-
- return $actions;
+ return $curtain;
}
private function buildPropertySectionView(
@@ -236,17 +228,4 @@
return $properties;
}
- private function buildPropertyView(
- PassphraseCredential $credential,
- PassphraseCredentialType $type) {
- $viewer = $this->getRequest()->getUser();
-
- $properties = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($credential);
-
- $properties->invokeWillRenderEvent();
- return $properties;
- }
-
}
diff --git a/src/applications/ponder/controller/PonderQuestionViewController.php b/src/applications/ponder/controller/PonderQuestionViewController.php
--- a/src/applications/ponder/controller/PonderQuestionViewController.php
+++ b/src/applications/ponder/controller/PonderQuestionViewController.php
@@ -43,8 +43,7 @@
$header->setStatus($icon, 'dark', $text);
}
- $properties = $this->buildPropertyListView($question);
- $actions = $this->buildActionListView($question);
+ $curtain = $this->buildCurtain($question);
$details = $this->buildPropertySectionView($question);
$can_edit = PhabricatorPolicyFilter::hasCapability(
@@ -118,29 +117,24 @@
$ponder_view = id(new PHUITwoColumnView())
->setHeader($header)
->setSubheader($subheader)
+ ->setCurtain($curtain)
->setMainColumn($ponder_content)
- ->setPropertyList($properties)
->addPropertySection(pht('DETAILS'), $details)
- ->setActionList($actions)
->addClass('ponder-question-view');
$page_objects = array_merge(
- array($question->getPHID()),
- mpull($question->getAnswers(), 'getPHID'));
+ array($question->getPHID()),
+ mpull($question->getAnswers(), 'getPHID'));
return $this->newPage()
->setTitle('Q'.$question->getID().' '.$question->getTitle())
->setCrumbs($crumbs)
->setPageObjectPHIDs($page_objects)
- ->appendChild(
- array(
- $ponder_view,
- ));
+ ->appendChild($ponder_view);
}
- private function buildActionListView(PonderQuestion $question) {
+ private function buildCurtain(PonderQuestion $question) {
$viewer = $this->getViewer();
- $request = $this->getRequest();
$id = $question->getID();
$can_edit = PhabricatorPolicyFilter::hasCapability(
@@ -148,9 +142,7 @@
$question,
PhabricatorPolicyCapability::CAN_EDIT);
- $view = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($question);
+ $curtain = $this->newCurtainView($question);
if ($question->getStatus() == PonderQuestionStatus::STATUS_OPEN) {
$name = pht('Close Question');
@@ -160,7 +152,7 @@
$icon = 'fa-square-o';
}
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setIcon('fa-pencil')
->setName(pht('Edit Question'))
@@ -168,7 +160,7 @@
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($name)
->setIcon($icon)
@@ -176,26 +168,13 @@
->setDisabled(!$can_edit)
->setHref($this->getApplicationURI("/question/status/{$id}/")));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setIcon('fa-list')
->setName(pht('View History'))
->setHref($this->getApplicationURI("/question/history/{$id}/")));
- return $view;
- }
-
- private function buildPropertyListView(
- PonderQuestion $question) {
-
- $viewer = $this->getViewer();
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($question);
-
- $view->invokeWillRenderEvent();
-
- return $view;
+ return $curtain;
}
private function buildSubheaderView(
diff --git a/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php b/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php
--- a/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php
+++ b/src/applications/slowvote/controller/PhabricatorSlowvotePollController.php
@@ -46,8 +46,7 @@
->setPolicyObject($poll)
->setHeaderIcon('fa-bar-chart');
- $actions = $this->buildActionView($poll);
- $properties = $this->buildPropertyView($poll);
+ $curtain = $this->buildCurtain($poll);
$subheader = $this->buildSubheaderView($poll);
$crumbs = $this->buildApplicationCrumbs();
@@ -68,37 +67,31 @@
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setSubheader($subheader)
- ->setMainColumn($poll_content)
- ->setPropertyList($properties)
- ->setActionList($actions);
+ ->setCurtain($curtain)
+ ->setMainColumn($poll_content);
return $this->newPage()
->setTitle('V'.$poll->getID().' '.$poll->getQuestion())
->setCrumbs($crumbs)
->setPageObjectPHIDs(array($poll->getPHID()))
- ->appendChild(
- array(
- $view,
- ));
+ ->appendChild($view);
}
- private function buildActionView(PhabricatorSlowvotePoll $poll) {
- $viewer = $this->getRequest()->getUser();
-
- $view = id(new PhabricatorActionListView())
- ->setUser($viewer)
- ->setObject($poll);
+ private function buildCurtain(PhabricatorSlowvotePoll $poll) {
+ $viewer = $this->getViewer();
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$poll,
PhabricatorPolicyCapability::CAN_EDIT);
+ $curtain = $this->newCurtainView($poll);
+
$is_closed = $poll->getIsClosed();
$close_poll_text = $is_closed ? pht('Reopen Poll') : pht('Close Poll');
$close_poll_icon = $is_closed ? 'fa-play-circle-o' : 'fa-ban';
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName(pht('Edit Poll'))
->setIcon('fa-pencil')
@@ -106,7 +99,7 @@
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
- $view->addAction(
+ $curtain->addAction(
id(new PhabricatorActionView())
->setName($close_poll_text)
->setIcon($close_poll_icon)
@@ -114,19 +107,7 @@
->setDisabled(!$can_edit)
->setWorkflow(true));
- return $view;
- }
-
- private function buildPropertyView(
- PhabricatorSlowvotePoll $poll) {
-
- $viewer = $this->getRequest()->getUser();
- $view = id(new PHUIPropertyListView())
- ->setUser($viewer)
- ->setObject($poll);
- $view->invokeWillRenderEvent();
-
- return $view;
+ return $curtain;
}
private function buildSubheaderView(

File Metadata

Mime Type
text/plain
Expires
Thu, May 16, 12:55 AM (2 w, 3 d ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/xr/fw/sojlh22r3b6l5dwa
Default Alt Text
D15416.diff (38 KB)

Event Timeline