From cf83db15d6bae88770291307bc1cdb4ea6200cf8 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Wed, 22 Jul 2015 09:32:54 -0700 Subject: [PATCH] Allow public viewing of profiles and people calendars Summary: Ref T4830, this allows profile view and calendar profile view to be publicly visible. Also adds a note reminding the user of visibility. Test Plan: Log out, visit a profile and various links. Reviewers: btrahan, epriestley Reviewed By: epriestley Subscribers: epriestley, Korvin Maniphest Tasks: T4830 Differential Revision: https://secure.phabricator.com/D13676 --- .../PhabricatorPeopleCalendarController.php | 4 ++++ .../PhabricatorPeopleProfileController.php | 4 ++++ .../PhabricatorPeopleProfileEditController.php | 12 +++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/applications/people/controller/PhabricatorPeopleCalendarController.php b/src/applications/people/controller/PhabricatorPeopleCalendarController.php index 168c1def70..a5e64199c5 100644 --- a/src/applications/people/controller/PhabricatorPeopleCalendarController.php +++ b/src/applications/people/controller/PhabricatorPeopleCalendarController.php @@ -5,6 +5,10 @@ final class PhabricatorPeopleCalendarController private $username; + public function shouldAllowPublic() { + return true; + } + public function shouldRequireAdmin() { return false; } diff --git a/src/applications/people/controller/PhabricatorPeopleProfileController.php b/src/applications/people/controller/PhabricatorPeopleProfileController.php index 2067654ff0..243e0ad764 100644 --- a/src/applications/people/controller/PhabricatorPeopleProfileController.php +++ b/src/applications/people/controller/PhabricatorPeopleProfileController.php @@ -5,6 +5,10 @@ final class PhabricatorPeopleProfileController private $username; + public function shouldAllowPublic() { + return true; + } + public function shouldRequireAdmin() { return false; } diff --git a/src/applications/people/controller/PhabricatorPeopleProfileEditController.php b/src/applications/people/controller/PhabricatorPeopleProfileEditController.php index 2cb613e803..65bf9df0d5 100644 --- a/src/applications/people/controller/PhabricatorPeopleProfileEditController.php +++ b/src/applications/people/controller/PhabricatorPeopleProfileEditController.php @@ -66,15 +66,25 @@ final class PhabricatorPeopleProfileEditController ->setUser($viewer); $field_list->appendFieldsToForm($form); - $form ->appendChild( id(new AphrontFormSubmitControl()) ->addCancelButton($profile_uri) ->setValue(pht('Save Profile'))); + $allow_public = PhabricatorEnv::getEnvConfig('policy.allow-public'); + $note = null; + if ($allow_public) { + $note = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_WARNING) + ->appendChild(pht( + 'Information on user profiles on this install is publicly '. + 'visible.')); + } + $form_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Edit Profile')) + ->setInfoView($note) ->setValidationException($validation_exception) ->setForm($form);