From 1ba1b9266907d6bf58c9e635cde24557fe59bf0d Mon Sep 17 00:00:00 2001 From: Angel Moya Date: Fri, 30 Sep 2016 14:28:25 +0200 Subject: [PATCH] MIG 9.0 support_branding --- support_branding/README.rst | 19 ++- support_branding/__openerp__.py | 28 +---- .../static/src/js/support_branding.js | 119 +++++++----------- 3 files changed, 72 insertions(+), 94 deletions(-) diff --git a/support_branding/README.rst b/support_branding/README.rst index 52810827..a4341742 100644 --- a/support_branding/README.rst +++ b/support_branding/README.rst @@ -1,6 +1,8 @@ .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: License: AGPL-3 + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +================ Support branding ================ @@ -52,6 +54,20 @@ add the following XML:: Note that the email button is only visible if you configure an email address, the default is empty! +Usage +===== + +To use this module, you need to: + +#. On developer mode go to Settings > Technical > Paremeters > System Parameters +#. Configure parameters related with support branding +#. Support branding is showed on left menu and when raises an exception + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/162/9.0 + + Bug Tracker =========== @@ -69,6 +85,7 @@ Contributors * Holger Brunn * Stefan Rijnhart +* Angel Moya Icon ---- diff --git a/support_branding/__openerp__.py b/support_branding/__openerp__.py index b8349808..f25b60c5 100644 --- a/support_branding/__openerp__.py +++ b/support_branding/__openerp__.py @@ -1,30 +1,14 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2012-2015 Therp BV (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# Copyright 2012-2015 Therp BV () +# Copyright 2016 - Tecnativa - Angel Moya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Support branding", "summary": "Adds your branding to an Odoo instance", "category": "Dependecy/Hidden", - "version": "8.0.2.0.0", + "version": "9.0.2.0.0", "license": "AGPL-3", - "author": "Therp BV,Odoo Community Association (OCA)", + "author": "Therp BV,Tecnativa,Odoo Community Association (OCA)", "website": 'http://therp.nl', "depends": [ 'web', @@ -36,5 +20,5 @@ "data/ir_config_parameter.xml", 'views/qweb.xml', ], - 'installable': False, + 'installable': True, } diff --git a/support_branding/static/src/js/support_branding.js b/support_branding/static/src/js/support_branding.js index f37eb012..b0967b10 100644 --- a/support_branding/static/src/js/support_branding.js +++ b/support_branding/static/src/js/support_branding.js @@ -1,109 +1,86 @@ -/* +/* Copyright 2012-2015 Therp + * Copyright 2016 - Tecnativa - Angel Moya + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ - Copyright (C) 2012-2015 Therp BV - License: GNU AFFERO GENERAL PUBLIC LICENSE - Version 3 or any later version - - Usage: if you run an OpenERP support company and you support - customers without an OPW, you can brand the OpenERP instance - accordingly using this module. Please enter the two variables - in the code below, 'support_name' and 'support_link'. They will - replace the unfriendly message about the OpenERP instance not - being supported. - - */ - -openerp.support_branding = function(instance) { - var QWeb = instance.web.qweb, - _t = instance.web._t; - - instance.web.CrashManager.include({ - init: function() - { +odoo.define('web.support_branding', function(require) { + var CrashManager = require('web.CrashManager'); + var core = require('web.core'); + var Model = require('web.Model') + var _t = core._t; + CrashManager.extend({ + init: function() { var self = this, - ir_config_parameter = new openerp.web.Model('ir.config_parameter'); + ir_config_parameter = new Model('ir.config_parameter'); ir_config_parameter.call( 'get_param', ['support_branding.support_email']).then( - function(email) - { + function(email) { self.support_branding_support_email = email; }); ir_config_parameter.call( 'get_param', ['support_branding.company_name']).then( - function(name) - { + function(name) { self.support_branding_company_name = name; }); return this._super(this, arguments); }, - show_error: function(error) - { + show_error: function(error) { var self = this; this._super.apply(this, arguments); - jQuery('.support-branding-submit-form').each(function() - { + jQuery('.support-branding-submit-form').each(function() { var $form = jQuery(this), $button = $form.find('button'), $description = $form.find('textarea[name="description"]'), $subject = $form.find('input[name="subject"]'), $body = $form.find('input[name="body"]'); - if(self.support_branding_support_email) - { + if (self.support_branding_support_email) { $form.attr( 'action', 'mailto:' + self.support_branding_support_email); $form.parents('.modal').find('.modal-body') .css('max-height', '70vh'); - $button.click(function(ev) - { - var mail_mail = new instance.web.Model('mail.mail'); - if(!$description.val()) - { + $button.click(function(ev) { + var mail_mail = new Model('mail.mail'); + if (!$description.val()) { $description.parent().addClass('oe_form_invalid'); ev.preventDefault(); return; } mail_mail.call( - 'create', - [{ - state: 'outgoing', - auto_delete: true, - email_to: self.support_branding_support_email, - subject: $subject.val(), - body_html: jQuery('
').append( - jQuery('
').text($description.val()), - jQuery('
').text($body.val())
-                                ).html(),
-                            }])
-                        .then(function(mail_id)
-                        {
-                            return mail_mail.call('send', [[mail_id]]);
-                        }, function()
-                        {
-                            // if the call failed, fire the mailto link
-                            // hoping there is a properly configured email
-                            // client
-                            $body.val($description.val() + '\n' + $body.val())
-                            $button.unbind('click');
-                            $button.click();
-                        })
-                        .then(function()
-                        {
-                            $form.parents('.modal').modal('hide');
-                        });
+                                'create', [{
+                                    state: 'outgoing',
+                                    auto_delete: true,
+                                    email_to: self.support_branding_support_email,
+                                    subject: $subject.val(),
+                                    body_html: jQuery('
').append( + jQuery('
').text($description.val()), + jQuery('
').text($body.val())
+                                    ).html(),
+                                }])
+                            .then(function(mail_id) {
+                                return mail_mail.call('send', [
+                                    [mail_id]
+                                ]);
+                            }, function() {
+                                // if the call failed, fire the mailto link
+                                // hoping there is a properly configured email
+                                // client
+                                $body.val($description.val() + '\n' + $body.val())
+                                $button.unbind('click');
+                                $button.click();
+                            })
+                            .then(function() {
+                                $form.parents('.modal').modal('hide');
+                            });
                         ev.preventDefault();
                     });
-                }
-                else
-                {
+                } else {
                     $description.hide();
                     $button.hide();
                 }
-                if(self.support_branding_company_name)
-                {
+                if (self.support_branding_company_name) {
                     $button.text(
                         _.str.sprintf(
-                            openerp.web._t('Email to %s'),
+                            _t('Email to %s'),
                             self.support_branding_company_name));
                 }
                 $form.prependTo(
@@ -111,4 +88,4 @@ openerp.support_branding = function(instance) {
             });
         }
     });
-};
+});