summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2017-04-23 09:01:09 +0200
committerGéry Debongnie <ged@odoo.com>2017-04-24 10:28:52 +0200
commitd658fe67db994ba365f42f0caa2a3f13e8e3fb18 (patch)
tree2281c9bf30d9f05e6267668b025cc01c9682b09d
parentae1a30e618e071877a561377f544934ee2a89417 (diff)
[FIX] web: debugmanager view metadata should not crash
In general, I think that we can safely consider that crashes are not the intended behaviour. In this case, viewing metadata crashed because we tried to format a date which was not parsed (so, a string), instead of a moment object. We simply just parse the date before, and it works as intended.
-rw-r--r--addons/web/static/src/js/widgets/debug_manager.js12
-rw-r--r--addons/web/static/src/xml/base.xml8
2 files changed, 13 insertions, 7 deletions
diff --git a/addons/web/static/src/js/widgets/debug_manager.js b/addons/web/static/src/js/widgets/debug_manager.js
index 3796fcbda7f..cdb3236aa64 100644
--- a/addons/web/static/src/js/widgets/debug_manager.js
+++ b/addons/web/static/src/js/widgets/debug_manager.js
@@ -327,15 +327,21 @@ DebugManager.include({
var ds = this._view_manager.dataset;
if (!this._active_view.controller.getSelectedIds().length) {
console.warn(_t("No metadata available"));
- return
+ return;
}
ds.call('get_metadata', [this._active_view.controller.getSelectedIds()]).done(function(result) {
+ var metadata = result[0];
+ metadata.creator = field_utils.format.many2one(metadata.create_uid);
+ metadata.lastModifiedBy = field_utils.format.many2one(metadata.write_uid);
+ var createDate = field_utils.parse.datetime(metadata.create_date);
+ metadata.create_date = field_utils.format.datetime(createDate);
+ var modificationDate = field_utils.parse.datetime(metadata.write_date);
+ metadata.write_date = field_utils.format.datetime(modificationDate);
new Dialog(this, {
title: _.str.sprintf(_t("Metadata (%s)"), ds.model),
size: 'medium',
$content: QWeb.render('WebClient.DebugViewLog', {
- perm : result[0],
- format : field_utils.format
+ perm : metadata,
})
}).open();
});
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index e22eebc89ce..ce4e8eeefd3 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -176,19 +176,19 @@
</tr>
<tr>
<th>Creation User:</th>
- <td><t t-esc="format.many2one(perm.create_uid, { 'type' : 'many2one' }, '/')"/></td>
+ <td><t t-esc="perm.creator"/></td>
</tr>
<tr>
<th>Creation Date:</th>
- <td><t t-esc="format.datetime(perm.create_date, { 'type' : 'datetime' }, '/')"/></td>
+ <td><t t-esc="perm.create_date"/></td>
</tr>
<tr>
<th>Latest Modification by:</th>
- <td><t t-esc="format.many2one(perm.write_uid, { 'type' : 'many2one' }, '/')"/></td>
+ <td><t t-esc="perm.lastModifiedBy"/></td>
</tr>
<tr>
<th>Latest Modification Date:</th>
- <td><t t-esc="format.datetime(perm.write_date, { 'type' : 'datetime' }, '/')"/></td>
+ <td><t t-esc="perm.write_date"/></td>
</tr>
</table>
</t>