From 29beb174d3b1ba0bd4b49b983a6a019cd0a49719 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sat, 28 Mar 2015 15:45:52 -0700 Subject: [PATCH] Don't treat Quicksand requests as isWorkflow() or isAjax() Summary: Fixes T7061. Although it's very simple, I think this is a complete fix. Quicksand technically is Ajax and uses Workflow as a transport mechanism, but the server should always pretend the user clicked a normal link when rendering. Test Plan: Links that were autoconverting into dialogs (like "Edit Task") or otherwise making the wrong behavioral choices now work as expected. Reviewers: btrahan, chad Reviewed By: chad Subscribers: epriestley Maniphest Tasks: T7061 Differential Revision: https://secure.phabricator.com/D12194 --- src/aphront/AphrontRequest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aphront/AphrontRequest.php b/src/aphront/AphrontRequest.php index deb2df531d..adc53e612c 100644 --- a/src/aphront/AphrontRequest.php +++ b/src/aphront/AphrontRequest.php @@ -192,11 +192,11 @@ final class AphrontRequest { } final public function isAjax() { - return $this->getExists(self::TYPE_AJAX); + return $this->getExists(self::TYPE_AJAX) && !$this->isQuicksand(); } final public function isWorkflow() { - return $this->getExists(self::TYPE_WORKFLOW); + return $this->getExists(self::TYPE_WORKFLOW) && !$this->isQuicksand(); } final public function isQuicksand() {