Commit 960d9c46 authored by Rafael Monnerat's avatar Rafael Monnerat

slapos_jio: Drop Handlebars

  This follow up renderjs general directive to not use it.
parent 4a42f2f1
...@@ -8,17 +8,8 @@ ...@@ -8,17 +8,8 @@
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="handlebars.js"></script> <script src="domsugar.js"></script>
<script src="gadget_slapos_payment_result.js"></script> <script src="gadget_slapos_payment_result.js"></script>
<script id="message-template" type="text/x-handlebars-template">
<p> <center><strong>{{message_to_acknowledge}} </strong> </center> </p>
<p> <center>{{advice}} </center></p>
<p> </p>
<p> <center><a class="ui-btn ui-first-child ui-btn-icon-center" data-i18n="Return to Invoice List" href="{{payment_url}}"> Return to Invoice List</a></center> </p>
</script>
</head> </head>
<body> <body>
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.64930.42858.1297</string> </value> <value> <string>1000.2322.46712.16657</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1516648499.4</float> <float>1655131178.92</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
float: right; float: right;
} }
.box-gadget-bottom { .box-gadget-bottom,
.box-gadget-bottom-header {
float: left; float: left;
width: 100%; width: 100%;
padding-top: 17px; padding-top: 17px;
......
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>975.6713.31372.10752</string> </value> <value> <string>1000.2322.46712.16657</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1555545224.77</float> <float>1654593711.96</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<!-- renderjs --> <!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script> <script src="rsvp.js" type="text/javascript"></script>
<script src="handlebars.js"></script> <script src="domsugar.js"></script>
<script src="renderjs.js" type="text/javascript"></script> <script src="renderjs.js" type="text/javascript"></script>
<!-- custom script --> <!-- custom script -->
...@@ -24,16 +24,6 @@ ...@@ -24,16 +24,6 @@
<script src="gadget_erp5_page_slapos.js" type="text/javascript"></script> <script src="gadget_erp5_page_slapos.js" type="text/javascript"></script>
<link href="gadget_erp5_page_slapos.css" rel="stylesheet" type="text/css"/> <link href="gadget_erp5_page_slapos.css" rel="stylesheet" type="text/css"/>
<script id="ticket-link-control-template" type="text/x-handlebars-template">
<div class="slapos-control-front">
<center>
<a class="ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-sort-alpha-asc" href="{{ show_all_url }}" data-i18n="Show All Tickets" > Show All Tickets</a>
<a class="ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-rss" href="{{ rss_all_url }}" data-i18n="RSS (all)" > RSS </a>
<a class="ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-rss" href="{{ rss_critical_url }}" data-i18n="RSS Critical" > Critical </a>
</center>
</div>
</script>
</head> </head>
<body> <body>
...@@ -49,6 +39,8 @@ ...@@ -49,6 +39,8 @@
<div data-gadget-url="gadget_erp5_pt_form_view.html" <div data-gadget-url="gadget_erp5_pt_form_view.html"
data-gadget-scope="right"></div> data-gadget-scope="right"></div>
</div> </div>
<div class="box-gadget-bottom-header">
</div>
<div class="box-gadget-bottom"> <div class="box-gadget-bottom">
<div data-gadget-url="gadget_erp5_pt_form_view.html" <div data-gadget-url="gadget_erp5_pt_form_view.html"
data-gadget-scope="last"></div> data-gadget-scope="last"></div>
......
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>981.53386.41888.4846</string> </value> <value> <string>1000.49354.9268.54869</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1581602507.86</float> <float>1654593490.4</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*global document, window, Option, rJS, RSVP, Chart, UriTemplate, Handlebars*/ /*global document, window, Option, rJS, RSVP, Chart, UriTemplate, domsugar */
/*jslint nomen: true, indent: 2, maxerr: 3 */ /*jslint nomen: true, indent: 2, maxerr: 3 */
(function (window, rJS, RSVP, Handlebars) { (function (window, rJS, RSVP, domsugar) {
"use strict"; "use strict";
var gadget_klass = rJS(window), var gadget_klass = rJS(window);
ticket_control_source = gadget_klass.__template_element
.getElementById("ticket-link-control-template")
.innerHTML,
ticket_control_template = Handlebars.compile(ticket_control_source);
gadget_klass gadget_klass
.ready(function (gadget) { .ready(function (gadget) {
gadget.property_dict = {}; gadget.property_dict = {};
...@@ -22,7 +17,6 @@ ...@@ -22,7 +17,6 @@
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
.declareAcquiredMethod("jio_getAttachment", "jio_getAttachment") .declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
.declareAcquiredMethod("updatePanel", "updatePanel") .declareAcquiredMethod("updatePanel", "updatePanel")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareAcquiredMethod("getTranslationList", "getTranslationList") .declareAcquiredMethod("getTranslationList", "getTranslationList")
.declareAcquiredMethod("redirect", "redirect") .declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
...@@ -249,49 +243,51 @@ ...@@ -249,49 +243,51 @@
"Modification Date", "Modification Date",
"State", "State",
"Pending Tickets to Process", "Pending Tickets to Process",
"Dashboard" "Dashboard",
"Show All Tickets",
"RSS",
"Critical"
]; ];
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.getDeclaredGadget('last'),
gadget.getTranslationList(translation_list1),
gadget.getUrlFor({command: 'change', options: {page: "slap_ticket_list"}}), gadget.getUrlFor({command: 'change', options: {page: "slap_ticket_list"}}),
gadget.getUrlFor({command: 'change', options: {page: "slap_rss_ticket"}}), gadget.getUrlFor({command: 'change', options: {page: "slap_rss_ticket"}}),
gadget.getUrlFor({command: 'change', options: {page: "slap_rss_critical_ticket"}}) gadget.getUrlFor({command: 'change', options: {page: "slap_rss_critical_ticket"}})
]); ]);
}) })
.push(function (result) { .push(function (result) {
return RSVP.all([ gadget.page_title_translation = result[1][4];
gadget.getDeclaredGadget('last'),
gadget.translateHtml(ticket_control_template({
show_all_url: result[0],
rss_all_url: result[1],
rss_critical_url: result[2]
})),
gadget.getTranslationList(translation_list1)
]);
})
.push(function (result) {
gadget.page_title_translation = result[2][4];
var form_list = result[0], var form_list = result[0],
bottom_header = domsugar('div', {"class": "slapos-control-front"},
[
domsugar("center", {}, [
domsugar("a",
{"class": "ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-sort-alpha-asc",
"text": result[1][5],
"href": result[2]}),
domsugar("a",
{"class": "ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-rss",
"text": result[1][6],
"href": result[3]}),
domsugar("a",
{"class": "ui-btn ui-first-child ui-btn-white-front ui-btn-icon-left ui-icon-rss",
"text": result[1][7],
"href": result[4]})
])
]),
div_bottom_header = gadget.element.querySelector(".box-gadget-bottom-header"),
column_list = [ column_list = [
['title', result[2][0]], ['title', result[1][0]],
['modification_date', result[2][1]], ['modification_date', result[1][1]],
['translated_simulation_state_title', result[2][2]] ['translated_simulation_state_title', result[1][2]]
]; ];
div_bottom_header.appendChild(bottom_header);
return form_list.render({ return form_list.render({
erp5_document: { erp5_document: {
"_embedded": {"_view": { "_embedded": {"_view": {
"control": {
"description": "",
"title": "Link Control",
"default": result[1],
"css_class": "",
"required": 1,
"editable": 0,
"key": "control",
"hidden": 0,
"type": "EditorField"
},
"listbox": { "listbox": {
"column_list": column_list, "column_list": column_list,
"show_anchor": 0, "show_anchor": 0,
...@@ -307,7 +303,7 @@ ...@@ -307,7 +303,7 @@
"search_column_list": column_list, "search_column_list": column_list,
"sort_column_list": column_list, "sort_column_list": column_list,
"sort": [["modification_date", "Descending"]], "sort": [["modification_date", "Descending"]],
"title": result[2][3], "title": result[1][3],
"type": "ListBox" "type": "ListBox"
} }
}}, }},
...@@ -398,4 +394,4 @@ ...@@ -398,4 +394,4 @@
}); });
}); });
}); });
}(window, rJS, RSVP, Handlebars)); }(window, rJS, RSVP, domsugar));
\ No newline at end of file \ No newline at end of file
...@@ -247,7 +247,7 @@ ...@@ -247,7 +247,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>994.34705.53932.19848</string> </value> <value> <string>1000.49340.48222.40550</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -265,7 +265,7 @@ ...@@ -265,7 +265,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1631134229.82</float> <float>1654593493.33</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,30 +8,9 @@ ...@@ -8,30 +8,9 @@
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="handlebars.js"></script> <script src="domsugar.js"></script>
<script src="gadget_slapos_event_discussion_entry.js"></script> <script src="gadget_slapos_event_discussion_entry.js"></script>
<link href="gadget_slapos_event_discussion_entry.css" rel="stylesheet" type="text/css"/> <link href="gadget_slapos_event_discussion_entry.css" rel="stylesheet" type="text/css"/>
<script id="inline-event-template" type="text/x-handlebars-template">
<div class="slapos-event-discussion-message-header">
<p>By <strong>{{author}} </strong> on {{modification_date}}: </p>
</div>
<div class="slapos-event-discussion-message-body">
<pre>{{message}}</pre>
</div>
</script>
<script id="inline-html-event-template" type="text/x-handlebars-template">
<div class="slapos-event-discussion-message-header">
<p>By <strong>{{author}} </strong> on {{modification_date}}: </p>
</div>
<div class="slapos-event-discussion-message-body">{{{message}}}</div>
</script>
</head> </head>
<body> <body>
......
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>superthomas</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>974.21419.55105.18158</string> </value> <value> <string>1000.2322.46712.16657</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1552496307.06</float> <float>1655126611.0</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals console, window, rJS, RSVP, Handlebars, $*/ /*globals console, window, rJS, RSVP, domsugar */
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, rJS, RSVP, Handlebars) { (function (window, rJS, domsugar) {
"use strict"; "use strict";
var gadget_klass = rJS(window), rJS(window)
inline_event_source = gadget_klass.__template_element
.getElementById("inline-event-template")
.innerHTML,
inline_status_template = Handlebars.compile(inline_event_source),
inline_html_event_source = gadget_klass.__template_element
.getElementById("inline-html-event-template")
.innerHTML,
inline_html_status_template = Handlebars.compile(inline_html_event_source);
gadget_klass
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("getContent", function () { .declareMethod("getContent", function () {
return {}; return {};
}) })
.declareMethod("render", function (options) { .onStateChange(function () {
var gadget = this, var gadget = this,
template = inline_status_template, header_text = "By " + gadget.state.author +
source = options.value.doc.source, " on " + gadget.state.modification_date + ":",
modification_date = options.value.doc.modification_date, header = domsugar("div", {
text_content = options.value.doc.text_content, class: "slapos-event-discussion-message-header"
title = options.value.doc.title, }, [
content_type = options.value.doc.content_type; domsugar('p', {text: header_text})
return new RSVP.Queue() ]);
.push(function () { if (gadget.state.content_type === 'text/html') {
if (content_type === 'text/html') { return domsugar(gadget.element, {}, [
template = inline_html_status_template; header,
domsugar('div', {
class: "slapos-event-discussion-message-body",
text: gadget.state.text_content
})
]);
} }
gadget.element.innerHTML = template({ return domsugar(gadget.element, {}, [
title: title, header,
author: source, domsugar('div', {
modification_date: modification_date, class: "slapos-event-discussion-message-body"
message: text_content }, [
}); domsugar("pre", {text: gadget.state.text_content})
])
]);
})
.declareMethod("render", function (options) {
var gadget = this;
return gadget.changeState({
author: options.value.doc.source,
modification_date: options.value.doc.modification_date,
text_content: options.value.doc.text_content,
content_type: options.value.doc.content_type
}); });
}); });
}(window, rJS, RSVP, Handlebars)); }(window, rJS, domsugar));
\ No newline at end of file \ No newline at end of file
...@@ -222,7 +222,7 @@ ...@@ -222,7 +222,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>superthomas</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>974.21419.16980.58675</string> </value> <value> <string>1000.58263.12906.59494</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1552579622.59</float> <float>1655128468.51</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,15 +8,9 @@ ...@@ -8,15 +8,9 @@
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="handlebars.js"></script> <script src="domsugar.js"></script>
<script src="gadget_slapos_invoice_printout.js"></script> <script src="gadget_slapos_invoice_printout.js"></script>
<script id="download-link-template" type="text/x-handlebars-template">
<ul class="grid-items">
<li><a class="ui-btn ui-first-child ui-btn-icon-center" data-i18n="Download Invoice" target=_blank href={{invoice_url}} > <img src='pdf_icon.png'></img></a></li>
</ul>
</script>
</head> </head>
<body> <body>
<button data-i18n="loading" type="submit" class="responsive ui-btn ui-icon-spinner ui-icon-spin ui-btn-icon-center ui-disabled" style="border:none;">loading</button> <button data-i18n="loading" type="submit" class="responsive ui-btn ui-icon-spinner ui-icon-spin ui-btn-icon-center ui-disabled" style="border:none;">loading</button>
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.60140.15778.40123</string> </value> <value> <string>1000.58223.44192.61900</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1516361248.37</float> <float>1655126135.42</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals console, window, rJS, RSVP, loopEventListener, i18n, Handlebars $*/ /*globals console, window, rJS, domsugar */
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, rJS, RSVP, Handlebars) { (function (window, rJS, domsugar) {
"use strict"; "use strict";
var gadget_klass = rJS(window),
download_invoice_source = gadget_klass.__template_element
.getElementById("download-link-template")
.innerHTML,
download_invoice_template = Handlebars.compile(download_invoice_source);
gadget_klass rJS(window)
.declareAcquiredMethod("jio_get", "jio_get") .declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("translateHtml", "translateHtml") .declareAcquiredMethod("translateHtml", "translateHtml")
...@@ -17,20 +12,33 @@ ...@@ -17,20 +12,33 @@
.declareMethod("getContent", function () { .declareMethod("getContent", function () {
return {}; return {};
}) })
.declareMethod("render", function (options) { .onStateChange(function () {
var gadget = this; var gadget = this;
return gadget.getElement()
.push(function (element) {
return gadget.getSetting("hateoas_url") return gadget.getSetting("hateoas_url")
.push(function (hateoas_url) { .push(function (hateoas_url) {
var link = hateoas_url + "/" + var link = hateoas_url + "/" +
options.value.jio_key + gadget.state.jio_key +
"/SaleInvoiceTransaction_viewSlapOSPrintout"; "/SaleInvoiceTransaction_viewSlapOSPrintout";
element.innerHTML = download_invoice_template({ return domsugar(gadget.element, {}, [
invoice_url: link domsugar('ul', 'grid-items', [
}); domsugar('li', {}, [
return element; domsugar('a',
{
class: "ui-btn ui-first-child ui-btn-icon-center",
target: "_blank",
href: link
}, [
domsugar("img", {src: 'pdf_icon.png'})
])
])
])
]);
}); });
})
.declareMethod("render", function (options) {
var gadget = this;
return gadget.changeState({
jio_key: options.value.jio_key
}); });
}); });
}(window, rJS, RSVP, Handlebars)); }(window, rJS, domsugar));
\ No newline at end of file \ No newline at end of file
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.60112.26500.11690</string> </value> <value> <string>1000.58234.7511.30071</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1516360952.96</float> <float>1655126122.9</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,21 +8,8 @@ ...@@ -8,21 +8,8 @@
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="handlebars.js"></script> <script src="domsugar.js"></script>
<script src="gadget_slapos_invoice_state.js"></script> <script src="gadget_slapos_invoice_state.js"></script>
<script id="payment-link-template" type="text/x-handlebars-template">
<ul class="grid-items">
<li><a class="ui-btn ui-first-child ui-btn-icon-center" data-i18n="Pay Now" href={{invoice_url}}> Pay Now</a></li>
</ul>
</script>
<script id="payment-state-template" type="text/x-handlebars-template">
<ul class="grid-items">
<li>{{invoice_state}}</li>
</ul>
</script>
</head> </head>
<body> <body>
<button data-i18n="loading" type="submit" class="responsive ui-btn ui-icon-spinner ui-icon-spin ui-btn-icon-center ui-disabled" style="border:none;">loading</button> <button data-i18n="loading" type="submit" class="responsive ui-btn ui-icon-spinner ui-icon-spin ui-btn-icon-center ui-disabled" style="border:none;">loading</button>
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>964.60162.4991.21401</string> </value> <value> <string>1000.58194.15602.170</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1516362382.75</float> <float>1655123719.67</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals console, window, rJS, RSVP, loopEventListener, i18n, Handlebars $*/ /*globals console, window, rJS, RSVP, domsugar */
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, rJS, RSVP, Handlebars) { (function (window, rJS, domsugar) {
"use strict"; "use strict";
var gadget_klass = rJS(window), rJS(window)
payment_link_source = gadget_klass.__template_element
.getElementById("payment-link-template")
.innerHTML,
payment_link_template = Handlebars.compile(payment_link_source),
payment_state_source = gadget_klass.__template_element
.getElementById("payment-state-template")
.innerHTML,
payment_state_template = Handlebars.compile(payment_state_source);
gadget_klass
.declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("jio_getAttachment", "jio_getAttachment") .declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
.declareAcquiredMethod("translateHtml", "translateHtml") .declareAcquiredMethod("getTranslationDict", "getTranslationDict")
.declareMethod("getContent", function () { .declareMethod("getContent", function () {
return {}; return {};
}) })
.declareMethod("render", function (options) { .onStateChange(function () {
var gadget = this; var gadget = this,
return new RSVP.Queue() link;
.push(function () { return gadget.getTranslationDict(['Pay Now'])
return RSVP.all([ .push(function (translation_dict) {
gadget.getElement(), if (gadget.state.payment_transaction !== null) {
gadget.getSetting("hateoas_url") link = domsugar("li", {},
[
domsugar("a", {
class: "ui-btn ui-first-child ui-btn-icon-center",
// XXX Translation
text: translation_dict["Pay Now"],
href: gadget.state.hateoas_url + gadget.state.payment_transaction +
"/PaymentTransaction_redirectToManualSlapOSPayment"
})
]);
} else {
link = domsugar("li", {"text": gadget.state.payment_transaction});
}
domsugar(gadget.element, {}, [
domsugar("ul", {"class": "grid-items"}, [link])
]); ]);
return translation_dict;
})
}) })
.push(function (result) {
var hateoas_url = result[1],
element = result[0];
.declareMethod("render", function (options) {
var gadget = this;
return gadget.getSetting("hateoas_url")
.push(function (hateoas_url) {
// XXX RAFAEL this should comes from the options and not from a query like this.
return gadget.jio_getAttachment(options.value.jio_key, return gadget.jio_getAttachment(options.value.jio_key,
hateoas_url + options.value.jio_key + hateoas_url + options.value.jio_key +
"/AccountingTransaction_getPaymentStateAsHateoas") "/AccountingTransaction_getPaymentStateAsHateoas")
.push(function (state) { .push(function (state) {
console.log(state); return gadget.changeState({
var link, payment_transaction = state.payment_transaction; payment_transaction: state.payment_transaction,
payment_state: state.state,
if (payment_transaction !== null) { hateoas_url: hateoas_url
link = payment_link_template({
invoice_state: state.state,
invoice_url: hateoas_url + payment_transaction +
"/PaymentTransaction_redirectToManualSlapOSPayment"
});
} else {
link = payment_state_template({
invoice_state: state.state
}); });
}
element.innerHTML = link;
return state;
}); });
}); });
}); });
}(window, rJS, RSVP, Handlebars)); }(window, rJS, domsugar));
\ No newline at end of file \ No newline at end of file
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>984.49089.34672.33348</string> </value> <value> <string>1000.58215.43208.28603</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1593042198.73</float> <float>1655125229.22</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -22,75 +22,38 @@ ...@@ -22,75 +22,38 @@
<!-- renderjs --> <!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script> <script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script> <script src="renderjs.js" type="text/javascript"></script>
<script src="handlebars.js" type="text/javascript"></script> <script src="domsugar.js" type="text/javascript"></script>
<script src="gadget_global.js" type="text/javascript"></script> <script src="gadget_global.js" type="text/javascript"></script>
<script src="gadget_slapos_utils.js" type="text/javascript"></script>
<script src="gadget_slapos_panel.js" type="text/javascript"></script>
<script id="panel-template-header" type="text/x-handlebars-template"> </head>
<div data-role="header" class="ui-bar-inherit"> <body>
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-left"> <div>
<div data-role="header">
<div class="ui-btn-left">
<div class="ui-controlgroup-controls"> <div class="ui-controlgroup-controls">
<button data-i18n="Close" class="ui-btn ui-btn-icon-notext ui-icon-delete">Close</button> <button data-i18n="Close" class="ui-btn-icon-notext ui-icon-delete">Close</button>
</div> </div>
</div> </div>
<div class="panel_img"> <div class="panel_img">
<img class="ui-title" alt="SlapOS logo" src="gadget_slapos_panel.png?format=png"/> <img class="ui-title" alt="SlapOS logo" src="gadget_slapos_panel.png?format=png"/>
</div> </div>
</div> </div>
</script> <div>
<ul></ul>
<script id="panel-template-warning-link" type="text/x-handlebars-template"> <ul class="ul-attention-point"></ul>
<li><a href="#" id="attention-point-link" class="ui-btn-icon-notext ui-icon-warning attention-point-link">Warnings ({{amount}})</a></li>
</script>
<script id="panel-template-contextual-help" type="text/x-handlebars-template">
<dt class="ui-btn-icon-left ui-icon-question" data-i18n="Help">Help</dt>
{{#each contextual_help_list}}
<dd class="document-listview">
<a class="help" target="_blank" href="{{href}}">{{title}}</a>
</dd>
{{/each}}
</script>
<script id="panel-template-body" type="text/x-handlebars-template">
<div class="ui-content">
<ul data-role="listview" class="ui-listview" data-enhanced="true">
<li class="ui-first-child"><a href="{{instance_tree_href}}" class="ui-btn ui-btn-icon-left ui-icon-home" data-i18n="Services" accesskey="l">Services</a></li>
<li><a href="{{dashboard_href}}" class="ui-btn ui-btn-icon-left ui-icon-gears" data-i18n="Dashboard" accesskey="h">Dashboard</a></li>
<li><a href="{{person_href}}" class="ui-btn ui-btn-icon-left ui-icon-user" data-i18n="Login Account" accesskey="p">Account</a></li>
<li><a href="{{support_request_href}}" class="ui-btn ui-btn-icon-left ui-icon-comments" data-i18n="Tickets" accesskey="t">Tickets</a></li>
<li><a href="{{organisation_href}}" class="ui-btn ui-btn-icon-left ui-icon-map-marker" data-i18n="Sites" accesskey="k">Sites</a></li>
<li><a href="{{project_href}}" class="ui-btn ui-btn-icon-left ui-icon-cubes" data-i18n="Projects" accesskey="w">Projects</a></li>
<li><a href="{{accounting_href}}" class="ui-btn ui-btn-icon-left ui-icon-credit-card" data-i18n="Invoices" accesskey="i">Invoices</a></li>
<li><a href="{{compute_node_href}}" class="ui-btn ui-btn-icon-left ui-icon-database" data-i18n="Servers" accesskey="c">Servers</a></li>
<li><a href="{{computer_network_href}}" class="ui-btn ui-btn-icon-left ui-icon-globe" data-i18n="Networks" accesskey="n">Networks</a></li>
<li><a href="{{language_href}}" class="ui-btn ui-btn-icon-left ui-icon-language" data-i18n="Language" accesskey="a">Language</a></li>
<li class="ui-last-child"><a href="{{logout_href}}" class="ui-btn ui-btn-icon-left ui-icon-power-off" data-i18n="Logout" accesskey="o">Logout</a></li>
</ul>
<dl></dl>
<hr /> <hr />
<ul data-role="listview" class="ui-listview" data-enhanced="true"> <ul data-role="listview" class="ui-listview" data-enhanced="true">
<li class="ui-first-child"><a href="https://monitor.app.officejs.com/" class="ui-btn ui-btn-icon-left ui-icon-desktop" data-i18n="Access Monitor" target="_blank">Access Monitor</a></li> <li class="ui-first-child"><a href="https://monitor.app.officejs.com/" class="ui-btn ui-btn-icon-left ui-icon-desktop" data-i18n="Access Monitor" target="_blank">Access Monitor</a></li>
<li><a href="https://handbook.rapid.space" class="ui-btn ui-btn-icon-left ui-icon-book" data-i18n="Documentation" accesskey="d" target="_blank" rel="noopener noreferrer">Documentation</a></li> <li><a href="https://handbook.rapid.space" class="ui-btn ui-btn-icon-left ui-icon-book" data-i18n="Documentation" accesskey="d" target="_blank" rel="noopener noreferrer">Documentation</a></li>
</ul> </ul>
<dl></dl> </div>
<div class="slapos_panel_extra_menu">
<div data-gadget-url="gadget_erp5_panel_shortcut.html" <div data-gadget-url="gadget_erp5_panel_shortcut.html"
data-gadget-scope="erp5_panel_shortcut" data-gadget-scope="erp5_panel_shortcut"
data-gadget-sandbox="public"></div> data-gadget-sandbox="public"></div>
<dl></dl> <dl></dl>
<ul data-role="listview" class="ui-listview ul-attention-point" data-enhanced="true">
<li></li>
</ul>
<dl class="dl-contextual-help">
</dl>
</div> </div>
</script>
<!-- custom script -->
<script src="gadget_slapos_utils.js" type="text/javascript"></script>
<script src="gadget_slapos_panel.js" type="text/javascript"></script>
</head>
<body>
<div class="jqm-navmenu-panel"></div>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>superthomas</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -248,7 +248,7 @@ ...@@ -248,7 +248,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>996.2197.3655.23739</string> </value> <value> <string>1000.49305.52353.8806</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1639502126.27</float> <float>1654590574.45</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>superthomas</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -255,7 +255,7 @@ ...@@ -255,7 +255,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>987.59252.10760.63197</string> </value> <value> <string>1000.49280.48729.39526</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1607070942.23</float> <float>1654589423.78</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
/*globals console, window, rJS, RSVP, loopEventListener, i18n, Handlebars $*/ /*globals console, window, rJS, RSVP, domsugar */
/*jslint indent: 2, nomen: true, maxlen: 80*/ /*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, rJS, RSVP, Handlebars) { (function (window, rJS, RSVP, domsugar) {
"use strict"; "use strict";
var gadget_klass = rJS(window), rJS(window)
message_source = gadget_klass.__template_element
.getElementById("message-template")
.innerHTML,
message_template = Handlebars.compile(message_source);
gadget_klass
.declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareAcquiredMethod("getUrlFor", "getUrlFor") .declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("updateHeader", "updateHeader") .declareAcquiredMethod("updateHeader", "updateHeader")
...@@ -28,19 +19,21 @@ ...@@ -28,19 +19,21 @@
if (return_page === undefined) { if (return_page === undefined) {
return_page = "slap_invoice_list"; return_page = "slap_invoice_list";
} }
// XXX RAFAEL Missing change state
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
gadget.getElement(), gadget.getTranslationDict(["Return to Invoice List"]),
gadget.getUrlFor({command: 'change', gadget.getUrlFor({command: 'change',
options: {jio_key: "/", page: return_page, "result": ""}}) options: {jio_key: "/", page: return_page, "result": ""}})
]); ]);
}) })
.push(function (result) { .push(function (result) {
var payment_url = result[1], var payment_url = result[1],
element = result[0], translation_dict = result[0],
message, advice, page_title; message,
advice,
page_title;
if (options.result === "success") { if (options.result === "success") {
page_title = "Thank you for your Payment"; page_title = "Thank you for your Payment";
message = "Thank you for finalising the payment."; message = "Thank you for finalising the payment.";
...@@ -71,11 +64,27 @@ ...@@ -71,11 +64,27 @@
} else { } else {
throw new Error("Unknown action to take: " + options.result); throw new Error("Unknown action to take: " + options.result);
} }
element.innerHTML = message_template({ domsugar(gadget.element, {},
message_to_acknowledge: message, [
advice: advice, domsugar("p", {}, [
payment_url: payment_url domsugar("center", {}, [
}); domsugar("strong", {text: message})
])
]),
domsugar("p", {}, [
domsugar("center", {text: advice})
]),
domsugar("p"),
domsugar("p", {}, [
domsugar("center", {}, [
domsugar("a", {
class: "ui-btn ui-first-child ui-btn-icon-center",
href: payment_url,
text: translation_dict["Return to Invoice List"]
})
])
])
]);
return page_title; return page_title;
}) })
.push(function (page_title) { .push(function (page_title) {
...@@ -85,4 +94,4 @@ ...@@ -85,4 +94,4 @@
return gadget.updateHeader(header_dict); return gadget.updateHeader(header_dict);
}); });
}); });
}(window, rJS, RSVP, Handlebars)); }(window, rJS, RSVP, domsugar));
\ No newline at end of file \ No newline at end of file
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>984.11864.24475.17493</string> </value> <value> <string>1000.2322.46712.16657</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1590639279.1</float> <float>1655131980.97</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
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