summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers/reauthenticate.php
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2010-07-28 07:57:27 -0700
committerTim Almdal <tnalmdal@shaw.ca>2010-07-28 07:57:27 -0700
commit64eae641e5db841b89d67c69634ed409992eed54 (patch)
treeb978a577f809f2eacbe98fa4c7c37dbe1675c51b /modules/gallery/controllers/reauthenticate.php
parentc3a92df6e6ee88c9fd57c3da8a6703d994cb55b2 (diff)
When the admin controller redirects to the reauthenticate controller, the value of request::is_ajax() from the original request is lost. This patch stores its value in the session so the reauthenticate controller knows whether its in a dialog/panel or not.
Diffstat (limited to 'modules/gallery/controllers/reauthenticate.php')
-rw-r--r--modules/gallery/controllers/reauthenticate.php9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/gallery/controllers/reauthenticate.php b/modules/gallery/controllers/reauthenticate.php
index 2b1f6d14..5ea2f229 100644
--- a/modules/gallery/controllers/reauthenticate.php
+++ b/modules/gallery/controllers/reauthenticate.php
@@ -22,8 +22,13 @@ class Reauthenticate_Controller extends Controller {
if (!identity::active_user()->admin) {
access::forbidden();
}
- if (request::is_ajax()) {
- json::reply(array("form" => (string) self::_form()));
+ // On redirects from the admin controller, the ajax request indicator is lost,
+ // so we store it in the session.
+ $is_ajax = Session::instance()->get_once("is_ajax_request", request::is_ajax());
+ if ($is_ajax) {
+ $v = new View("reauthenticate.html");
+ $v->form = self::_form();
+ json::reply(array("form" => (string) $v));
} else {
self::_show_form(self::_form());
}