Support logged-out access to more Harbormaster controllers
Summary: Fixes T13145. The list controllers properly support public access already, but some of the view/detail controllers did not. Allow logged-out users to browse builds, buildables, plans, etc., provided they can see the corresponding objects. Test Plan: As a logged-out user, browsed around builds, build plans, logs, etc., without hitting any login pages. Reviewers: amckinley Reviewed By: amckinley Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13145 Differential Revision: https://secure.phabricator.com/D19459
This commit is contained in:
		@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterBuildLogDownloadController
 | 
					final class HarbormasterBuildLogDownloadController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $request = $this->getRequest();
 | 
					    $request = $this->getRequest();
 | 
				
			||||||
    $viewer = $request->getUser();
 | 
					    $viewer = $request->getUser();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterBuildLogRenderController
 | 
					final class HarbormasterBuildLogRenderController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterBuildLogViewController
 | 
					final class HarbormasterBuildLogViewController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterBuildViewController
 | 
					final class HarbormasterBuildViewController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $request = $this->getRequest();
 | 
					    $request = $this->getRequest();
 | 
				
			||||||
    $viewer = $request->getUser();
 | 
					    $viewer = $request->getUser();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterBuildableViewController
 | 
					final class HarbormasterBuildableViewController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -350,6 +354,4 @@ final class HarbormasterBuildableViewController
 | 
				
			|||||||
    return array($lint, $unit);
 | 
					    return array($lint, $unit);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterLintMessagesController
 | 
					final class HarbormasterLintMessagesController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
final class HarbormasterPlanViewController extends HarbormasterPlanController {
 | 
					final class HarbormasterPlanViewController extends HarbormasterPlanController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
    $id = $request->getURIData('id');
 | 
					    $id = $request->getURIData('id');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterStepViewController
 | 
					final class HarbormasterStepViewController
 | 
				
			||||||
  extends HarbormasterPlanController {
 | 
					  extends HarbormasterPlanController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
    $id = $request->getURIData('id');
 | 
					    $id = $request->getURIData('id');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterUnitMessageListController
 | 
					final class HarbormasterUnitMessageListController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,10 @@
 | 
				
			|||||||
final class HarbormasterUnitMessageViewController
 | 
					final class HarbormasterUnitMessageViewController
 | 
				
			||||||
  extends HarbormasterController {
 | 
					  extends HarbormasterController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public function shouldAllowPublic() {
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public function handleRequest(AphrontRequest $request) {
 | 
					  public function handleRequest(AphrontRequest $request) {
 | 
				
			||||||
    $viewer = $this->getViewer();
 | 
					    $viewer = $this->getViewer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user