Commit 7c386987 authored by Tristan Cavelier's avatar Tristan Cavelier

DATETIMEFIELDUPDATE WIP add raw changes to make test to work, now recode it !

parent a815470c
......@@ -70,6 +70,7 @@ and handling data send&receive.
if (typeof result[key] === "object" &&
result[key].hasOwnProperty("key") &&
gadget.state.options.form_content[result[key].key]) {
console.log("page_form: in loadFormContent", result[key]['default'], gadget.state.options.form_content[result[key].key]);
result[key]['default'] = gadget.state.options.form_content[result[key].key];
}
}
......@@ -122,6 +123,7 @@ and handling data send&receive.
// Proxy methods to the child gadget
/////////////////////////////////////////////////////////////////
.declareMethod('triggerSubmit', function triggerSubmit() {
console.log("page form: triggeringSubmit");
return this.getDeclaredGadget('fg')
.push(function (g) {
return g.triggerSubmit();
......@@ -163,6 +165,15 @@ and handling data send&receive.
.allowPublicAcquisition('notifySubmit', function notifySubmit() {
return this.triggerSubmit();
})
.allowPublicAcquisition("notifyChange", function notifyChange(params) {
var gadget = this;
console.log("page form: notifyChange", params);
return gadget.getDeclaredGadget("fg")
.push(g => g.getContent())
.push(content => { gadget._XXX_change_content = content;
return gadget.notifyChange.apply(gadget, params);
});
})/**/
/**
* Render obtain ERP5 Document and assigned Form Definition.
*
......@@ -297,7 +308,23 @@ and handling data send&receive.
sub_options.jio_key = options.jio_key; // jIO identifier of currently rendered ERP5 document
sub_options.editable = options.editable; // form decides on editability of its fields
console.log("page form: page_template_gadget.render", sub_options);
return page_template_gadget.getContent() // XXX don't do it if jio_key is different than previous one
.push(function (content) {
console.log("page form: gadget._XXX_submitted_content", gadget._XXX_submitted_content);
console.log("page form: page_template_gadget.getContent", content);
try {
if (gadget._XXX_submitted_content && gadget._XXX_change_content)
if (sub_options.erp5_document._embedded._view.my_short_title.key === "field_my_short_title")
if (gadget._XXX_submitted_content.field_my_short_title === sub_options.erp5_document._embedded._view.my_short_title.default)
if (sub_options.erp5_document._embedded._view.my_short_title.default !== content.field_my_short_title)
sub_options.erp5_document._embedded._view.my_short_title.default = content.field_my_short_title; // please notifyChange at end of this onChangeState ?
} catch (_) {}
delete gadget._XXX_change_content;
delete gadget._XXX_submitted_content;
return page_template_gadget.render(sub_options);
});
})
.push(function () {
if (modification_dict.hasOwnProperty('url')) {
......@@ -351,12 +378,16 @@ and handling data send&receive.
on failure it throws an error with the invalid response
*/
.allowPublicAcquisition("submitContent", function submitContent(param_list) {
console.log("page form: submitContent on call");
var gadget = this,
jio_key = param_list[0],
target_url = param_list[1],
content_dict = param_list[2];
return gadget.notifySubmitting()
.push(function () {
return gadget.getDeclaredGadget("fg").push(g => g.getContent()).push(content => { gadget._XXX_submitted_content = content; });
})
.push(function () {
return gadget.jio_putAttachment(jio_key, target_url, content_dict);
})
......@@ -371,6 +402,7 @@ and handling data send&receive.
.push(function (response_text) {
var response = JSON.parse(response_text.target.result);
console.log("page form: notifySubmitted");
return gadget.notifySubmitted({
"message": response.portal_status_message,
"status": response.portal_status_level || "success"
......@@ -417,6 +449,7 @@ and handling data send&receive.
return response_view._notification.message;
})
.push(function (translated_message) {
console.log("page form: notifySubmitted");
return gadget.notifySubmitted({
"message": translated_message,
"status": response_view._notification ? response_view._notification.status : "success"
......@@ -448,6 +481,7 @@ and handling data send&receive.
attachment.target.status < 400) {
return gadget.translate("Action succeeded.")
.push(function (translated_message) {
console.log("page form: notifySubmitted");
return gadget.notifySubmitted({
"message": translated_message,
"status": "success"
......@@ -462,6 +496,7 @@ and handling data send&receive.
// likely product of export/report (thus PDF, ODT ...)
return gadget.translate("Data received.")
.push(function (translated_message) {
console.log("page form: notifySubmitted");
return gadget.notifySubmitted({
"message": translated_message,
"status": "success"
......@@ -491,6 +526,7 @@ and handling data send&receive.
if (error === undefined || error.target === undefined) {
return gadget.translate('Encountered an unknown error. Try to resubmit.')
.push(function (translated_message) {
console.log("page form: notifySubmitted");
return gadget.notifySubmitted({
'message': translated_message,
'status': 'error'
......@@ -515,6 +551,7 @@ and handling data send&receive.
if (error.target.response.type === 'application/json' ||
error.target.response.type === 'application/hal+json') {
console.log("page form: notifySubmitted");
return gadget.notifySubmitted()
.push(function () {
return jIO.util.readBlobAsText(error.target.response);
......@@ -564,6 +601,7 @@ and handling data send&receive.
// If the response in empty with only HTTP Status code then we display
// our static translated error_text to the user
console.log("page form: notifySubmitted");
return gadget.notifySubmitted()
.push(function () {
return gadget.translate(error_text);
......
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