From 95c5de7503e8423f848313799698274155f1421f Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Fri, 5 Aug 2016 15:45:37 +0200 Subject: [PATCH] [FIX][web_widget_image_download] Make button look good everywhere (I hope). Fix https://github.com/OCA/web/pull/391#issuecomment-235906320. # Conflicts: # web_widget_image_download/static/src/js/web_widget_image_download.jsCopyright 2016 Jairo Llopis --- web_widget_image_download/README.rst | 1 + web_widget_image_download/__openerp__.py | 2 +- .../src/css/web_widget_image_download.css | 6 ++-- .../src/js/web_widget_image_download.js | 34 ++++++++++--------- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/web_widget_image_download/README.rst b/web_widget_image_download/README.rst index cc5f3782..04682cf8 100644 --- a/web_widget_image_download/README.rst +++ b/web_widget_image_download/README.rst @@ -43,6 +43,7 @@ Contributors ------------ * Flavio Corpa +* Jairo Llopis Maintainer ---------- diff --git a/web_widget_image_download/__openerp__.py b/web_widget_image_download/__openerp__.py index ed01155b..de546b6e 100644 --- a/web_widget_image_download/__openerp__.py +++ b/web_widget_image_download/__openerp__.py @@ -4,7 +4,7 @@ { "name": "Web Widget - Image Download", "summary": "Allows to download any image from its widget", - "version": "8.0.1.0.0", + "version": "8.0.1.0.1", "category": "web", "website": "https://www.tecnativa.com", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/web_widget_image_download/static/src/css/web_widget_image_download.css b/web_widget_image_download/static/src/css/web_widget_image_download.css index 7b1a6a98..a436cd42 100644 --- a/web_widget_image_download/static/src/css/web_widget_image_download.css +++ b/web_widget_image_download/static/src/css/web_widget_image_download.css @@ -1,6 +1,8 @@ /* Copyright 2016 Flavio Corpa + * Copyright 2016 Jairo Llopis * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ -.openerp .oe_application a.oe_form_binary_file_download { - color: #eee; +.openerp .oe_form .oe_form_field_image .oe_form_field_image_controls +.oe_form_binary_file_download { + color: inherit; } diff --git a/web_widget_image_download/static/src/js/web_widget_image_download.js b/web_widget_image_download/static/src/js/web_widget_image_download.js index bf2754bd..00e39dfe 100644 --- a/web_widget_image_download/static/src/js/web_widget_image_download.js +++ b/web_widget_image_download/static/src/js/web_widget_image_download.js @@ -1,37 +1,39 @@ -/* - * Copyright 2016 Flavio Corpa - * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). - */ +/* Copyright 2016 Flavio Corpa + * Copyright 2016 Jairo Llopis + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ openerp.web_widget_image_download = function (instance) { 'use strict'; instance.web.form.web_widget_image_download = instance.web.form.FieldBinaryImage.include({ render_value: function () { this._super(); - var $widget = this.$el.find('.oe_form_binary_file_download'); - - this.imgSrc = this.$el.find('img[name="image"]').attr('src'); + this.imgSrc = this.$el.find('img[name="' + this.name + '"]') + .attr('src'); $.ajax({ - type: 'HEAD', + type: 'HEAD', // Avoid downloading full image, just headers url: this.imgSrc, complete: function (xhr) { - // retrieve image type from server ("Content-Type" header) - $widget.attr('download', xhr.getResponseHeader("Content-Type").replace('/', '.')); + $widget.attr( + 'download', + xhr.getResponseHeader("Content-Type") + .replace('/', '.') + ); } }); - // use jquery instead of `replace` with qweb (to avoid breaking inheritance) + // Replace with jQuery to keep inheritance intact if (this.has_custom_image()) { - this.$el.find('.oe_form_binary_file_clear').removeClass('col-md-offset-5'); + this.$el.find('.oe_form_binary_file_clear') + .removeClass('col-md-offset-5'); } $widget.attr('href', this.imgSrc); }, + has_custom_image: function () { - // check if the image of the widget is different from the default placeholder - return this.imgSrc && !this.imgSrc.includes('/placeholder.png'); - } + return this.imgSrc != this.placeholder; + }, }); -} +});