浏览代码

AMBARI-20521 Service quick links not showing up in the UI. (atkach)

Andrii Tkach 8 年之前
父节点
当前提交
f268cccf0b
共有 2 个文件被更改,包括 24 次插入4 次删除
  1. 10 3
      ambari-web/app/utils/ajax/ajax.js
  2. 14 1
      ambari-web/test/utils/ajax/ajax_test.js

+ 10 - 3
ambari-web/app/utils/ajax/ajax.js

@@ -3051,16 +3051,23 @@ var formatRequest = function (data) {
  */
 var doGetAsPost = function(opt) {
   var delimiterPos = opt.url.indexOf('?');
+  var fieldsIndex = opt.url.indexOf('&fields');
 
   opt.type = "POST";
   opt.headers["X-Http-Method-Override"] = "GET";
   if (delimiterPos !== -1) {
+    var query = fieldsIndex !== -1 ? opt.url.substring(delimiterPos + 1, fieldsIndex) : opt.url.substr(delimiterPos + 1);
     opt.data = JSON.stringify({
-      "RequestInfo": {"query" : opt.url.substr(delimiterPos + 1, opt.url.length)}
+      "RequestInfo": {"query" : query}
     });
-    opt.url = opt.url.substr(0, delimiterPos);
+    if (fieldsIndex !== -1) {
+      opt.url = opt.url.substr(0, delimiterPos) + '?' + opt.url.substr(fieldsIndex + 1) + '&_=' + App.dateTime();
+    } else {
+      opt.url = opt.url.substr(0, delimiterPos)  + '?_=' + App.dateTime();
+    }
+  } else {
+    opt.url += '?_=' + App.dateTime();
   }
-  opt.url += '?_=' + App.dateTime();
   return opt;
 };
 

+ 14 - 1
ambari-web/test/utils/ajax/ajax_test.js

@@ -153,7 +153,7 @@ describe('App.ajax', function() {
         headers: {"X-Http-Method-Override": "GET"}
       });
     });
-    it("url has '?'", function () {
+    it("url has '?params'", function () {
       var opt = {
         type: 'GET',
         url: 'root?params',
@@ -166,6 +166,19 @@ describe('App.ajax', function() {
         data: "{\"RequestInfo\":{\"query\":\"params\"}}"
       });
     });
+    it("url has '?params&fields'", function () {
+      var opt = {
+        type: 'GET',
+        url: 'root?params&fields',
+        headers: {}
+      };
+      expect(App.ajax.fakeDoGetAsPost({}, opt)).to.eql({
+        type: 'POST',
+        url: 'root?fields&_=1',
+        headers: {"X-Http-Method-Override": "GET"},
+        data: "{\"RequestInfo\":{\"query\":\"params\"}}"
+      });
+    });
   });
 
   describe('#abortRequests', function () {