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