[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.
This commit is contained in:
Géry Debongnie
2017-04-24 10:28:52 +02:00
parent ae1a30e618
commit d658fe67db
2 changed files with 13 additions and 7 deletions
@@ -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();
});
+4 -4
View File
@@ -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>