From 568a3877d17b81140522b7d369360eaa609dbc32 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 21 Feb 2017 16:29:47 -0800 Subject: [PATCH] Simplify dashboard panel creation Summary: Ref T10390. Basically hides policy controls when creating a panel on a dashboard. Shows when you edit them or through normal workflow. I think we should maybe also get rid of view policy? Not sure the benefit since results will be filtered anyways. Maybe Text panels? Not sure the use case. Test Plan: Add a panel, edit a panel. Reviewers: epriestley Reviewed By: epriestley Subscribers: hskiba, Korvin Maniphest Tasks: T10390 Differential Revision: https://secure.phabricator.com/D17393 --- ...habricatorDashboardPanelEditController.php | 30 +++++++++++-------- .../storage/PhabricatorDashboard.php | 2 +- .../storage/PhabricatorDashboardPanel.php | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php b/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php index cc7502afef..7aece8c603 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php @@ -193,19 +193,23 @@ final class PhabricatorDashboardPanelEditController ->setLabel(pht('Name')) ->setName('name') ->setValue($v_name) - ->setError($e_name)) - ->appendChild( - id(new AphrontFormPolicyControl()) - ->setName('viewPolicy') - ->setPolicyObject($panel) - ->setCapability(PhabricatorPolicyCapability::CAN_VIEW) - ->setPolicies($policies)) - ->appendChild( - id(new AphrontFormPolicyControl()) - ->setName('editPolicy') - ->setPolicyObject($panel) - ->setCapability(PhabricatorPolicyCapability::CAN_EDIT) - ->setPolicies($policies)); + ->setError($e_name)); + + if (!$request->isAjax() || !$is_create) { + $form + ->appendChild( + id(new AphrontFormPolicyControl()) + ->setName('viewPolicy') + ->setPolicyObject($panel) + ->setCapability(PhabricatorPolicyCapability::CAN_VIEW) + ->setPolicies($policies)) + ->appendChild( + id(new AphrontFormPolicyControl()) + ->setName('editPolicy') + ->setPolicyObject($panel) + ->setCapability(PhabricatorPolicyCapability::CAN_EDIT) + ->setPolicies($policies)); + } $field_list->appendFieldsToForm($form); diff --git a/src/applications/dashboard/storage/PhabricatorDashboard.php b/src/applications/dashboard/storage/PhabricatorDashboard.php index 325e573715..b79fded93f 100644 --- a/src/applications/dashboard/storage/PhabricatorDashboard.php +++ b/src/applications/dashboard/storage/PhabricatorDashboard.php @@ -32,7 +32,7 @@ final class PhabricatorDashboard extends PhabricatorDashboardDAO return id(new PhabricatorDashboard()) ->setName('') ->setIcon('fa-dashboard') - ->setViewPolicy(PhabricatorPolicies::POLICY_USER) + ->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy()) ->setEditPolicy($actor->getPHID()) ->setStatus(self::STATUS_ACTIVE) ->setAuthorPHID($actor->getPHID()) diff --git a/src/applications/dashboard/storage/PhabricatorDashboardPanel.php b/src/applications/dashboard/storage/PhabricatorDashboardPanel.php index 4e82aaa348..9f8875dc1b 100644 --- a/src/applications/dashboard/storage/PhabricatorDashboardPanel.php +++ b/src/applications/dashboard/storage/PhabricatorDashboardPanel.php @@ -27,7 +27,7 @@ final class PhabricatorDashboardPanel return id(new PhabricatorDashboardPanel()) ->setName('') ->setAuthorPHID($actor->getPHID()) - ->setViewPolicy(PhabricatorPolicies::POLICY_USER) + ->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy()) ->setEditPolicy($actor->getPHID()); }