From b4ae45eb70a90892cf5996e240d4e31313c5cbfc Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 10 Nov 2008 18:58:28 +0100 Subject: [PATCH] bugfix bzr revid: fp@tinyerp.com-20081110175828-fjcxla4ygbwgru2v --- bin/addons/base/ir/ir.xml | 46 ++++++++++++++----- bin/addons/base/ir/ir_attachment.py | 17 ++++++- .../module/report/ir_module_reference.rml | 10 ++-- 3 files changed, 55 insertions(+), 18 deletions(-) diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml index 1d1168e8e3f..cab66157303 100644 --- a/bin/addons/base/ir/ir.xml +++ b/bin/addons/base/ir/ir.xml @@ -485,14 +485,37 @@ form
- - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -503,8 +526,9 @@ - - + + + @@ -514,7 +538,7 @@ ir.actions.act_window ir.attachment form - + diff --git a/bin/addons/base/ir/ir_attachment.py b/bin/addons/base/ir/ir_attachment.py index e9b23ff3fa3..ccc07c37781 100644 --- a/bin/addons/base/ir/ir_attachment.py +++ b/bin/addons/base/ir/ir_attachment.py @@ -96,16 +96,29 @@ class ir_attachment(osv.osv): self.pool.get('ir.model.access').unregister_cache_clearing_method(self._name, 'clear_cache') return super(ir_attachment, self).__del__() + def _get_preview(self, cr, uid, ids, name, arg, context=None): + result = {} + for i in self.browse(cr, uid, ids, context=context or {}): + result[i.id] = False + for format in ('png','PNG','jpg','JPG'): + if (i.datas_fname or '').endswith(format): + result[i.id]= i.datas + return result + _name = 'ir.attachment' _columns = { 'name': fields.char('Attachment Name',size=64, required=True), 'datas': fields.binary('Data'), - 'datas_fname': fields.char('Data Filename',size=64), + 'preview': fields.function(_get_preview, type='binary', string='Image Preview', method=True), + 'datas_fname': fields.char('Filename',size=64), 'description': fields.text('Description'), # Not required due to the document module ! 'res_model': fields.char('Resource Object',size=64, readonly=True), 'res_id': fields.integer('Resource ID', readonly=True), - 'link': fields.char('Link', size=256) + 'link': fields.char('Link', size=256), + + 'create_date': fields.datetime('Date Created', readonly=True), + 'create_uid': fields.many2one('res.users', 'Creator', readonly=True), } ir_attachment() diff --git a/bin/addons/base/module/report/ir_module_reference.rml b/bin/addons/base/module/report/ir_module_reference.rml index 156abdba246..a7a25263d81 100644 --- a/bin/addons/base/module/report/ir_module_reference.rml +++ b/bin/addons/base/module/report/ir_module_reference.rml @@ -69,7 +69,7 @@ - + @@ -102,14 +102,14 @@
[[ repeatIn(objects, 'module') ]] - + Module: [[ module.name ]] - +
Name: [[ objdoc(module.shortdesc) ]]
@@ -130,7 +130,7 @@
[[ module.description ]]
[[ repeatIn(findobj(module.name) ,'object') ]] - + Object: [[ object.name ]] @@ -138,7 +138,7 @@ - + [[ repeatIn(findflds(object.model), 'field') ]] [[ field[0] ]]