From 5308c34145fc6bc8e4261e6b714d9a317f6d0d50 Mon Sep 17 00:00:00 2001 From: robert rottermann Date: Wed, 31 May 2017 16:24:15 +0200 Subject: [PATCH] [MIG] support_branding migration to 10 --- support_branding/README.rst | 1 + support_branding/__manifest__.py | 28 +--- .../static/src/js/support_branding.js | 121 ++++++++---------- support_branding/views/qweb.xml | 22 +++- 4 files changed, 75 insertions(+), 97 deletions(-) diff --git a/support_branding/README.rst b/support_branding/README.rst index 52810827..588c3523 100644 --- a/support_branding/README.rst +++ b/support_branding/README.rst @@ -69,6 +69,7 @@ Contributors * Holger Brunn * Stefan Rijnhart +* Robert Rottermann Icon ---- diff --git a/support_branding/__manifest__.py b/support_branding/__manifest__.py index b8349808..f6c62691 100644 --- a/support_branding/__manifest__.py +++ b/support_branding/__manifest__.py @@ -1,28 +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 +# Copyright 2017 - redO2oo - Robert Rottermann +# 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": "10.0.1.0.0", "license": "AGPL-3", "author": "Therp BV,Odoo Community Association (OCA)", "website": 'http://therp.nl', @@ -36,5 +22,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 30534e7d..1e39b954 100644 --- a/support_branding/static/src/js/support_branding.js +++ b/support_branding/static/src/js/support_branding.js @@ -1,109 +1,88 @@ -/* - Copyright (C) 2012-2015 Therp BV - License: GNU AFFERO GENERAL PUBLIC LICENSE - Version 3 or any later version +/* Copyright 2012-2015 Therp + * Copyright 2016 - Tecnativa - Angel Moya + * Copyright 2017 - redO2oo - Robert Rottermann + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ - 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.include({ + 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: false, - 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 +90,6 @@ openerp.support_branding = function(instance) {
             });
         }
     });
-};
+    // this is already instantiated, so we need to call init manually
+    require('web.crash_manager').init();
+});
diff --git a/support_branding/views/qweb.xml b/support_branding/views/qweb.xml
index 10c2fd17..2979a71b 100644
--- a/support_branding/views/qweb.xml
+++ b/support_branding/views/qweb.xml
@@ -1,17 +1,27 @@
 
-
+
     
-