From 336d1c74f98ed55086b50c30b1bbb15d364d48fb Mon Sep 17 00:00:00 2001 From: Frederik Jaeckel Date: Mon, 23 Jan 2023 13:11:54 +0100 Subject: [PATCH] line: show image in tab 'image/pdf' --- line.py | 12 ++++++++++++ locale/de.po | 3 +++ view/line_form.xml | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/line.py b/line.py index 5569506..34e32af 100644 --- a/line.py +++ b/line.py @@ -48,6 +48,18 @@ class Line(metaclass=PoolMeta): media_id = fields.Char(string='File ID', readonly=True) media_mime = fields.Char(string='MIME', readonly=True) media_size = fields.Integer(string='File size', readonly=True) + media_image = fields.Function(fields.Binary(string='Image', readonly=True, + states={ + 'invisible': ~Eval('media_mime', '').in_(['image/png', 'image/jpg', 'image/jpeg']), + }, depends=['media_mime']), + 'on_change_with_media_image') + + @fields.depends('media', 'media_mime') + def on_change_with_media_image(self, name=True): + """ return binary if its a image + """ + if (self.media_mime or '-').startswith('image/'): + return self.media @classmethod def _identify_file(cls, data, mime=True): diff --git a/locale/de.po b/locale/de.po index 052a9fb..7618e5c 100644 --- a/locale/de.po +++ b/locale/de.po @@ -46,3 +46,6 @@ msgctxt "field:cashbook.line,media_size:" msgid "File size" msgstr "Dateigröße" +msgctxt "field:cashbook.line,media_image:" +msgid "Image" +msgstr "Bild" diff --git a/view/line_form.xml b/view/line_form.xml index 6785333..0d80ebc 100644 --- a/view/line_form.xml +++ b/view/line_form.xml @@ -13,10 +13,10 @@ full copyright notices and license terms. -->