Commit 295154cb authored by Rafael Monnerat's avatar Rafael Monnerat

Fixup redirection after request an instance

See merge request nexedi/slapos.core!529
parents 94999b09 53ee9096
/*global window, rJS, RSVP, btoa */
/*global window, rJS, RSVP, btoa, jIO, JSON */
/*jslint nomen: true, indent: 2, maxerr: 3, sub:true */
(function (window, rJS, RSVP) {
(function (window, rJS, RSVP, btoa, jIO, JSON) {
"use strict";
rJS(window)
......@@ -50,12 +50,22 @@
return gadget.jio_putAttachment(doc.relative_url,
url + doc.relative_url + "/SoftwareRelease_requestInstanceTree", doc);
})
.push(function (attachment) {
return new RSVP.Queue()
.push(function () {
return jIO.util.readBlobAsText(attachment.target.response);
})
.push(function (response) {
return JSON.parse(response.target.result);
})
.push(function (relative_url) {
return gadget.notifySubmitted({message: gadget.message2_translation, status: 'success'})
.push(function () {
// Workaround, find a way to open document without break gadget.
return gadget.redirect({"command": "change",
"options": {"jio_key": "/", "page": "slap_service_list"}});
"options": {"jio_key": relative_url, "page": "slap_controller"}});
});
});
}, function (error) {
if (error.target.status === 409) {
......@@ -224,4 +234,4 @@
});
});
});
}(window, rJS, RSVP));
\ No newline at end of file
}(window, rJS, RSVP, btoa, jIO, JSON));
\ No newline at end of file
......@@ -283,7 +283,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1000.31175.43828.12919</string> </value>
<value> <string>1008.22803.51783.61098</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -303,7 +303,7 @@
</tuple>
<state>
<tuple>
<float>1669310140.13</float>
<float>1683853456.43</float>
<string>UTC</string>
</tuple>
</state>
......
/*global window, rJS, RSVP */
/*global window, rJS, RSVP, JSON , jIO */
/*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, RSVP) {
(function (window, rJS, RSVP, JSON, jIO) {
"use strict";
rJS(window)
......@@ -42,7 +42,8 @@
"New service created.",
"Intent not supported",
"Requesting a service…",
"Instance"
"Instance",
];
return new RSVP.Queue()
.push(function () {
......@@ -135,33 +136,28 @@
}
return gadget.notifySubmitting()
.push(function () {
var query = [];
query.push("title=" + encodeURIComponent(doc.title));
return gadget.getSetting("hateoas_url")
.push(function (url) {
return gadget.jio_putAttachment(doc.relative_url,
url + doc.relative_url + "/SoftwareRelease_requestInstanceTree", doc);
})
if (doc.software_type) {
query.push("software_type=" + encodeURIComponent(doc.software_type));
}
if (doc.shared) {
query.push("shared:int=" + encodeURIComponent(doc.shared));
}
if (doc.text_content) {
query.push("text_content=" + encodeURIComponent(doc.text_content));
}
if (doc.sla_xml) {
query.push("sla_xml=" + encodeURIComponent(doc.sla_xml));
}
return gadget.jio_getAttachment(doc.relative_url,
url + doc.relative_url + "/SoftwareRelease_requestInstanceTree?" + query.join("&"));
.push(function (attachment) {
return jIO.util.readBlobAsText(attachment.target.response);
})
.push(function (key) {
return gadget.notifySubmitted({message: gadget.message_tranlation, status: 'success'})
.push(function (response) {
return JSON.parse(response.target.result);
})
.push(function (relative_url) {
return gadget.notifySubmitted({message: gadget.message_translation, status: 'success'})
.push(function () {
// Workaround, find a way to open document without break gadget.
return gadget.redirect({"command": "change",
"options": {"jio_key": key, "page": "slap_controller"}});
"options": {"jio_key": relative_url, "page": "slap_controller"}});
});
});
});
});
});
});
}(window, rJS, RSVP));
}(window, rJS, RSVP, JSON , jIO));
......@@ -283,7 +283,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1008.12332.26729.18090</string> </value>
<value> <string>1008.22835.52422.8345</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -303,7 +303,7 @@
</tuple>
<state>
<tuple>
<float>1683224657.13</float>
<float>1683854663.4</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -126,7 +126,16 @@
'text': 'New service created.'}">
<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification" />
</tal:block>
<tr tal:define="dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})">
<td>waitForElementPresent</td>
<td tal:content="python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"></td>
<td></td>
</tr>
<tr tal:define="dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})">
<td>assertElementPresent</td>
<td tal:content="python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"></td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page" />
<tal:block define="menu_item python: 'Services'; header menu_item">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment