From b78e1f50dc900633eaf2a47334237617e992672e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Valyi?= Date: Tue, 25 Dec 2018 15:29:56 -0200 Subject: [PATCH] [MIG] base_usability: Migration to 12.0 --- base_usability/__init__.py | 2 -- base_usability/__manifest__.py | 9 ++++---- base_usability/company.py | 24 ++++++++------------- base_usability/mail.py | 8 +++---- base_usability/misc.py | 1 - base_usability/partner.py | 23 +++++++------------- base_usability/report_sxw.py | 19 +++++++--------- base_usability/security/ir.model.access.csv | 5 ----- base_usability/users.py | 1 - 9 files changed, 33 insertions(+), 59 deletions(-) delete mode 100644 base_usability/security/ir.model.access.csv diff --git a/base_usability/__init__.py b/base_usability/__init__.py index d77ca0e..d522841 100644 --- a/base_usability/__init__.py +++ b/base_usability/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from . import users from . import partner from . import company diff --git a/base_usability/__manifest__.py b/base_usability/__manifest__.py index 998e8ae..fef0193 100644 --- a/base_usability/__manifest__.py +++ b/base_usability/__manifest__.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- # © 2014-2016 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Base Usability', - 'version': '10.0.0.1.0', + 'version': '12.0.0.1.0', 'category': 'Partner', 'license': 'AGPL-3', 'summary': 'Better usability in base module', @@ -17,19 +16,19 @@ This module adds *track_visibility='onchange'* on all the important fields of th By default, Odoo doesn't display the title field on all the partner form views. This module fixes it (it replaces the module base_title_on_partner). -By default, users in the Partner Contact group also have create/write access on Countries and States. This module removes that: only the users in the *Administration > Configuration* group have create/write/delete access on those objects. - It also adds a log message at INFO level when sending an email via SMTP. It displays the local modules with installable filter. A group by 'State' is added to module search view. + +It provides a _display_report_header method on the res.company object and +_display_full_address on res.partner which are useful for reporting. """, 'author': 'Akretion', 'website': 'http://www.akretion.com', 'depends': ['base'], 'data': [ 'security/group.xml', - 'security/ir.model.access.csv', 'partner_view.xml', 'partner_bank_view.xml', 'users_view.xml', diff --git a/base_usability/company.py b/base_usability/company.py index dfe6e15..650520d 100644 --- a/base_usability/company.py +++ b/base_usability/company.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2015-2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -19,14 +18,14 @@ class ResCompany(models.Model): value = field[0] label = field[1] uicon = False - elif isinstance(field, (str, unicode)) and field in options: + elif isinstance(field, str) and field in options: value = options[field]['value'] label = options[field].get('label') uicon = options[field].get('icon') if value: prefix = icon and uicon or label if prefix: - content.append(u'%s %s' % (prefix, value)) + content.append('%s %s' % (prefix, value)) else: content.append(value) line = separator.join(content) @@ -39,21 +38,16 @@ class ResCompany(models.Model): 'phone': { 'value': self.phone, # http://www.fileformat.info/info/unicode/char/1f4de/index.htm - 'icon': u'\U0001F4DE', + 'icon': '\U0001F4DE', 'label': _('Tel:')}, - 'fax': { - 'value': self.fax, - # http://www.fileformat.info/info/unicode/char/1f5b7/index.htm - 'icon': u'\U0001F5B7', - 'label': _('Fax:')}, 'email': { 'value': self.email, # http://www.fileformat.info/info/unicode/char/2709/index.htm - 'icon': u'\u2709', + 'icon': '\u2709', 'label': _('E-mail:')}, 'website': { 'value': self.website, - 'icon': u'\U0001f310', + 'icon': '\U0001f310', 'label': _('Website:')}, 'vat': { 'value': self.vat, @@ -69,14 +63,14 @@ class ResCompany(models.Model): # for reports @api.multi def _display_report_header( - self, line_details=[['phone', 'fax', 'website'], ['vat']], + self, line_details=[['phone', 'website'], ['vat']], icon=True, line_separator=' - '): self.ensure_one() - res = u'' + res = '' address = self.partner_id._display_address(without_company=True) - address = address.replace('\n', u' - ') + address = address.replace('\n', ' - ') - line1 = u'%s - %s' % (self._report_company_legal_name(), address) + line1 = '%s - %s' % (self._report_company_legal_name(), address) lines = [line1] options = self._prepare_header_options() for details in line_details: diff --git a/base_usability/mail.py b/base_usability/mail.py index ebcc299..35c7093 100644 --- a/base_usability/mail.py +++ b/base_usability/mail.py @@ -1,9 +1,8 @@ -# -*- coding: utf-8 -*- # © 2015-2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import models, api -from odoo.addons.base.ir.ir_mail_server import extract_rfc2822_addresses +from odoo.addons.base.models.ir_mail_server import extract_rfc2822_addresses import logging logger = logging.getLogger(__name__) @@ -16,7 +15,7 @@ class IrMailServer(models.Model): def send_email( self, message, mail_server_id=None, smtp_server=None, smtp_port=None, smtp_user=None, smtp_password=None, - smtp_encryption=None, smtp_debug=False): + smtp_encryption=None, smtp_debug=False, smtp_session=None): # Start copy from native method smtp_from = message['Return-Path'] or\ self._get_default_bounce_address() or message['From'] @@ -32,4 +31,5 @@ class IrMailServer(models.Model): message, mail_server_id=mail_server_id, smtp_server=smtp_server, smtp_port=smtp_port, smtp_user=smtp_user, smtp_password=smtp_password, - smtp_encryption=smtp_encryption, smtp_debug=smtp_debug) + smtp_encryption=smtp_encryption, smtp_debug=smtp_debug, + smtp_session=smtp_session) diff --git a/base_usability/misc.py b/base_usability/misc.py index da6960e..11ef333 100644 --- a/base_usability/misc.py +++ b/base_usability/misc.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2015-2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/base_usability/partner.py b/base_usability/partner.py index d600399..b4349bb 100644 --- a/base_usability/partner.py +++ b/base_usability/partner.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2015-2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -47,7 +46,7 @@ class ResPartner(models.Model): if partner.lang: partner_lg = partner.with_context(lang=partner.lang) title = partner_lg.title.shortcut or partner_lg.title.name - name_title = u' '.join([title, name_title]) + name_title = ' '.join([title, name_title]) partner.name_title = name_title @api.multi @@ -63,7 +62,7 @@ class ResPartner(models.Model): @api.multi def _display_full_address( self, details=[ - 'company', 'name', 'address', 'phone', 'fax', + 'company', 'name', 'address', 'phone', 'mobile', 'email'], icon=True): self.ensure_one() @@ -87,31 +86,25 @@ class ResPartner(models.Model): 'phone': { 'value': self.phone, # http://www.fileformat.info/info/unicode/char/1f4de/index.htm - 'icon': u'\U0001F4DE', + 'icon': '\U0001F4DE', 'label': _('Tel:'), }, - 'fax': { - 'value': self.fax, - # http://www.fileformat.info/info/unicode/char/1f5b7/index.htm - 'icon': u'\U0001F5B7', - 'label': _('Fax:'), - }, 'mobile': { 'value': self.mobile, # http://www.fileformat.info/info/unicode/char/1f4f1/index.htm - 'icon': u'\U0001F4F1', + 'icon': '\U0001F4F1', 'label': _('Mobile:'), }, 'email': { 'value': self.email, # http://www.fileformat.info/info/unicode/char/2709/index.htm - 'icon': u'\u2709', + 'icon': '\u2709', 'label': _('E-mail:'), }, 'website': { 'value': self.website, # http://www.fileformat.info/info/unicode/char/1f310/index.htm - 'icon': u'\U0001f310', + 'icon': '\U0001f310', 'label': _('Website:'), }, 'address': { @@ -124,9 +117,9 @@ class ResPartner(models.Model): entry = options[detail] prefix = icon and entry.get('icon') or entry.get('label') if prefix: - res.append(u'%s %s' % (prefix, entry['value'])) + res.append('%s %s' % (prefix, entry['value'])) else: - res.append(u'%s' % entry['value']) + res.append('%s' % entry['value']) res = '\n'.join(res) return res diff --git a/base_usability/report_sxw.py b/base_usability/report_sxw.py index db90e2f..64e2bd1 100644 --- a/base_usability/report_sxw.py +++ b/base_usability/report_sxw.py @@ -1,22 +1,19 @@ -# -*- coding: utf-8 -*- # © 2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import models, api -from odoo.report import report_sxw -from openerp.tools import float_compare +from odoo.tools import misc +from odoo.tools import float_compare class BaseUsabilityInstalled(models.AbstractModel): _name = "base.usability.installed" -formatLang_original = report_sxw.rml_parse.formatLang +formatLang_original = misc.formatLang - -def formatLang( - self, value, digits=None, date=False, date_time=False, grouping=True, - monetary=False, dp=False, currency_obj=False, int_no_digits=True): +def formatLang(self, value, digits=None, grouping=True, monetary=False, + dp=False, currency_obj=False, int_no_digits=True): with api.Environment.manage(): env = api.Environment(self.cr, self.uid, {}) if ( @@ -30,9 +27,9 @@ def formatLang( digits = 0 dp = False res = formatLang_original( - self, value, digits=digits, date=date, date_time=date_time, - grouping=grouping, monetary=monetary, dp=dp, currency_obj=currency_obj) + self, value, digits=digits, grouping=grouping, monetary=monetary, + dp=dp, currency_obj=currency_obj) return res -report_sxw.rml_parse.formatLang = formatLang +misc.formatLang = formatLang diff --git a/base_usability/security/ir.model.access.csv b/base_usability/security/ir.model.access.csv deleted file mode 100644 index 947087d..0000000 --- a/base_usability/security/ir.model.access.csv +++ /dev/null @@ -1,5 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -base.access_res_country_group_user,Full access on res.country to Settings group,base.model_res_country,base.group_system,1,1,1,1 -base.access_res_country_state_group_user,Full access on res.country.state to Settings group,base.model_res_country_state,base.group_system,1,1,1,1 -base.access_res_country_group_group_user,Full access on res.country.group to Settings group,base.model_res_country_group,base.group_system,1,1,1,1 -base.access_res_partner_title_group_user,Full access on res.partner.title,base.model_res_partner_title,base.group_system,1,1,1,1 diff --git a/base_usability/users.py b/base_usability/users.py index 2621d05..ffebe32 100644 --- a/base_usability/users.py +++ b/base_usability/users.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2018 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).