0011434: init registry / reload loop in setup
authorPhilipp Schüle <p.schuele@metaways.de>
Mon, 26 Sep 2016 13:16:13 +0000 (15:16 +0200)
committerPhilipp Schüle <p.schuele@metaways.de>
Tue, 27 Sep 2016 12:46:47 +0000 (14:46 +0200)
* don't use "normal" jsonkey cookie in Setup

https://forge.tine20.org/view.php?id=11434

Change-Id: I728452ec19fcb934eb5b9ecd22901eb03b907be9
Reviewed-on: http://gerrit.tine20.com/customers/3614
Tested-by: Jenkins CI (http://ci.tine20.com/)
Reviewed-by: Philipp Schüle <p.schuele@metaways.de>
tine20/Setup/Server/Json.php
tine20/Setup/js/init.js
tine20/Tinebase/js/tineInit.js

index 71c06b5..2e9bf8f 100644 (file)
@@ -67,7 +67,7 @@ class Setup_Server_Json extends Tinebase_Server_Json
                 ));
             }
             
-            // check json key for all methods but some exceptoins
+            // check json key for all methods but some exceptions
             if (! in_array($method, $anonymnousMethods) && Setup_Core::configFileExists()
                      && ( empty($jsonKey) || $jsonKey != Setup_Core::get('jsonKey')
                             || !Setup_Core::isRegistered(Setup_Core::USER)
index 692e614..42517d8 100644 (file)
@@ -34,6 +34,7 @@ Tine.Tinebase.tineInit.initAjax = Tine.Tinebase.tineInit.initAjax.createIntercep
 Tine.Tinebase.tineInit.initRegistry = Tine.Tinebase.tineInit.initRegistry.createInterceptor(function () {
     Tine.Tinebase.tineInit.clearRegistry();
     Tine.Tinebase.tineInit.getAllRegistryDataMethod = 'Setup.getAllRegistryData';
+    Tine.Tinebase.tineInit.jsonKeyCookieId = 'TINE20SETUPJSONKEY';
     Tine.Tinebase.tineInit.stateful = false;
     
     return true;
index 4f391ef..a1a3bbd 100644 (file)
@@ -82,6 +82,11 @@ Tine.Tinebase.tineInit = {
     stateful: true,
 
     /**
+     * @cfg {String} jsonKeyCookieId
+     */
+    jsonKeyCookieId: 'TINE20JSONKEY',
+
+    /**
      * @cfg {String} requestUrl
      */
     requestUrl: 'index.php',
@@ -319,9 +324,9 @@ Tine.Tinebase.tineInit = {
         Ext.Ajax.on('beforerequest', function (connection, options) {
 
             var jsonKey = Tine.Tinebase.registry && Tine.Tinebase.registry.get ? Tine.Tinebase.registry.get('jsonKey') : '';
-            if (Tine.Tinebase.tineInit.jsonKeyCookieProvider.get('TINE20JSONKEY')) {
-                var cookieJsonKey = Tine.Tinebase.tineInit.jsonKeyCookieProvider.get('TINE20JSONKEY');
-                Tine.Tinebase.tineInit.jsonKeyCookieProvider.clear('TINE20JSONKEY');
+            if (Tine.Tinebase.tineInit.jsonKeyCookieProvider.get(this.jsonKeyCookieId)) {
+                var cookieJsonKey = Tine.Tinebase.tineInit.jsonKeyCookieProvider.get(this.jsonKeyCookieId);
+                Tine.Tinebase.tineInit.jsonKeyCookieProvider.clear(this.jsonKeyCookieId);
                 // NOTE cookie reset is not always working in IE, so we need to check jsonKey again
                 if (cookieJsonKey && cookieJsonKey != "null") {
                     jsonKey = cookieJsonKey;
@@ -380,6 +385,8 @@ Tine.Tinebase.tineInit = {
                 json: options.jsonData
             };
         });
+
+
         
         /**
          * inspect completed responses => staus code == 200