"_deleteLine?": "Are you sure you want to delete this line?",
"_exitPageWarning": "You are about to leave the xTuple application.",
"_installExtensionWarning": "Extensions are very powerful and potentially have full access to your " +
- "data. You should only install an extension from a source you trust.",
+ "data. You should only install an extension from a source you trust. ",
"_insufficientPrivileges": "You have insufficient privileges to perform this action.",
"_manualFreight": "Manually editing the freight will disable automatic freight recalculations.",
"_mustSave": "You must save your changes before proceeding.",
XM.jsonpatch.apply(attrs, data.patches);
cModel.etag = data.etag;
- // This is a hack to work around Backbone messing with
+ // This is a hack to work around Backbone messing with
// attributes when we don't want it to. Parse function
// on model handles the other side of this
options.fixAttributes = cModel.attributes;
// handle error
if (inResponse.isError) {
if (inSender.error) {
- params.error = inResponse.message;
+ // inResponse.message sometimes gets lost in the vagaries of socket-io
+ params.error = inResponse.message || inResponse.errorMessage;
error = XT.Error.clone('xt1001', { params: params });
inSender.error.call(this, error);
}
},
{
success: function (message) {
- that.doNotify({message: message.loc()});
+ that.doNotify({message: message && message.loc()});
},
error: function (error) {
that.doNotify({message: error.message ? error.message() : error});
buildExtension
], function (err, results) {
if (err) {
- console.log(err);
err.isError = true;
+ err.errorMessage = err.message;
res.send(err);
return;
}