Commit 28ede9e2 authored by Roque's avatar Roque

erp5_officejs: action code move to configuration side (WIP)

- test fix
parent ad421ed4
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
var gadget = this, var gadget = this,
child_gadget_url = 'gadget_erp5_pt_form_view_editable.html', child_gadget_url = 'gadget_erp5_pt_form_view_editable.html',
portal_type, parent_portal_type, portal_type, parent_portal_type,
parent_relative_url, form_definition, custom_code; parent_relative_url, form_definition, action_code;
return RSVP.Queue() return RSVP.Queue()
.push(function () { .push(function () {
return RSVP.all([ return RSVP.all([
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
gadget.getUrlParameter("parent_portal_type"), gadget.getUrlParameter("parent_portal_type"),
gadget.getUrlParameter("parent_relative_url"), gadget.getUrlParameter("parent_relative_url"),
gadget.getSetting('portal_type'), gadget.getSetting('portal_type'),
gadget.getSetting('parent_relative_url'),
gadget.getSetting('parent_portal_type'), gadget.getSetting('parent_portal_type'),
gadget.getSetting('parent_relative_url'),
gadget.declareGadget("gadget_officejs_common_utils.html") gadget.declareGadget("gadget_officejs_common_utils.html")
]); ]);
}) })
...@@ -58,8 +58,8 @@ ...@@ -58,8 +58,8 @@
// custom code will come from configuration side (action form) // custom code will come from configuration side (action form)
if (action_type === "object_jio_js_script") { if (action_type === "object_jio_js_script") {
if (form_definition.fields_raw_properties.hasOwnProperty("gadget_field_action_js_script")) { if (form_definition.fields_raw_properties.hasOwnProperty("gadget_field_action_js_script")) {
custom_code = form_definition.fields_raw_properties.gadget_field_action_js_script.values.renderjs_extra[0]; action_code = form_definition.fields_raw_properties.gadget_field_action_js_script.values.renderjs_extra[0];
eval(custom_code[0]); eval(action_code[0]);
} }
} }
return gadget_utils.createDocument(options); return gadget_utils.createDocument(options);
...@@ -89,29 +89,10 @@ ...@@ -89,29 +89,10 @@
// custom code will come from configuration side (action form) // custom code will come from configuration side (action form)
if (action_type === "object_jio_js_script") { if (action_type === "object_jio_js_script") {
if (form_definition.fields_raw_properties.hasOwnProperty("gadget_field_action_js_script")) { if (form_definition.fields_raw_properties.hasOwnProperty("gadget_field_action_js_script")) {
custom_code = form_definition.fields_raw_properties.gadget_field_action_js_script.values.renderjs_extra[0]; action_code = form_definition.fields_raw_properties.gadget_field_action_js_script.values.renderjs_extra[0];
// move this to form configuration
custom_code = ["return gadget.jio_get(options.jio_key)\
.push(function (result) {\
parent_document = result;\
var title = parent_document.title;\
if (!title.startsWith('Re: ')) { title = 'Re: ' + parent_document.title; }\
console.log(title);\
return gadget.changeState({\
doc: {title: title},\
submit_code: submit_code,\
parent_document: parent_document,\
child_gadget_url: child_gadget_url,\
form_definition: form_definition,\
view: action_reference,\
editable: true,\
has_more_views: false,\
has_more_actions: false,\
is_form_list: false\
}); });" , "console.log('some submit code')"];
return window.eval.call(window, '(function (gadget, options, action_reference, form_definition, child_gadget_url, submit_code)\ return window.eval.call(window, '(function (gadget, options, action_reference, form_definition, child_gadget_url, submit_code)\
{' + custom_code[0] + '})') {' + action_code[0] + '})')
(gadget, options, action_reference, form_definition, child_gadget_url, custom_code[1]); (gadget, options, action_reference, form_definition, child_gadget_url, action_code[1]);
} }
} }
}); });
...@@ -143,35 +124,6 @@ ...@@ -143,35 +124,6 @@
if (action_reference === "reply") { if (action_reference === "reply") {
if (action_type === "object_jio_js_script") { if (action_type === "object_jio_js_script") {
var submit_code = gadget.state.submit_code; var submit_code = gadget.state.submit_code;
// move this to form configuration
submit_code = "var document = {\
my_title: gadget.state.doc.title,\
portal_type: gadget.state.parent_document.portal_type,\
parent_relative_url: gadget.state.parent_document.parent_relative_url,\
my_source_reference: gadget.state.parent_document.source_reference\
}, property;\
for (property in content_dict) {\
if (content_dict.hasOwnProperty(property)) {\
document['my_' + property] = content_dict[property];\
}\
}\
return gadget_utils.createDocument(document)\
.push(function (id) {\
jio_key = id;\
return gadget.notifySubmitting();\
})\
.push(function () {\
return gadget.notifySubmitted({message: 'Data Updated', status: 'success'});\
})\
.push(function () {\
return gadget.redirect({\
command: 'display',\
options: {\
jio_key: jio_key,\
editable: true\
}\
});\
});";
return window.eval.call(window, '(function (gadget, gadget_utils, content_dict)\ return window.eval.call(window, '(function (gadget, gadget_utils, content_dict)\
{' + submit_code + '})')(gadget, gadget_utils, content_dict); {' + submit_code + '})')(gadget, gadget_utils, content_dict);
} }
......
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>975.5092.42049.34269</string> </value> <value> <string>975.6084.56587.64580</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -287,7 +287,7 @@ ...@@ -287,7 +287,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1555447984.11</float> <float>1555507949.33</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