diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-03-01 17:26:43 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-03-01 17:26:43 +0100 |
| commit | b04c8eae6bf8a0da4df734ac8db36cb04aec9802 (patch) | |
| tree | 5f75f4c32e6f2a770cb0de62271d521880dfacca | |
| parent | 9a1d71ce95fd3c0476aee358b37e29fd7cd8edc7 (diff) | |
| parent | 153ae5e8b834345673a1fa23e0724e4c67a66df2 (diff) | |
[MERGE] forward port branch saas-14 up to 153ae5e8b83
| -rw-r--r-- | addons/account/models/account.py | 4 | ||||
| -rw-r--r-- | addons/account/models/account_bank_statement.py | 2 | ||||
| -rw-r--r-- | addons/account/models/account_move.py | 2 | ||||
| -rw-r--r-- | addons/account/views/account_view.xml | 2 | ||||
| -rw-r--r-- | addons/l10n_fr/data/account_chart_template_data.xml | 60 | ||||
| -rw-r--r-- | addons/purchase/models/purchase.py | 2 | ||||
| -rw-r--r-- | addons/sale/wizard/mail_compose_message.py | 2 | ||||
| -rw-r--r-- | addons/stock/__init__.py | 14 | ||||
| -rw-r--r-- | addons/stock/__manifest__.py | 1 | ||||
| -rw-r--r-- | addons/website_form/static/src/js/website_form.js | 4 | ||||
| -rw-r--r-- | addons/website_sale/views/templates.xml | 2 | ||||
| -rw-r--r-- | addons/website_slides/static/src/js/slides_embed.js | 4 | ||||
| -rw-r--r-- | doc/cla/corporate/camptocamp.md | 1 | ||||
| -rw-r--r-- | doc/cla/individual/apesquero.md | 11 | ||||
| -rw-r--r-- | doc/reference/views.rst | 3 | ||||
| -rw-r--r-- | odoo/addons/base/base_data.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/test_pylint/tests/test_pylint.py | 5 | ||||
| -rw-r--r-- | odoo/tools/yaml_import.py | 2 |
18 files changed, 78 insertions, 45 deletions
diff --git a/addons/account/models/account.py b/addons/account/models/account.py index be9a5828f01..797ac91bad9 100644 --- a/addons/account/models/account.py +++ b/addons/account/models/account.py @@ -306,6 +306,8 @@ class AccountJournal(models.Model): if ('company_id' in vals and journal.company_id.id != vals['company_id']): if self.env['account.move'].search([('journal_id', 'in', self.ids)], limit=1): raise UserError(_('This journal already contains items, therefore you cannot modify its company.')) + if self.bank_account_id: + self.bank_account_id.company_id = vals['company_id'] if ('code' in vals and journal.code != vals['code']): if self.env['account.move'].search([('journal_id', 'in', self.ids)], limit=1): raise UserError(_('This journal already contains items, therefore you cannot modify its short name.')) @@ -319,6 +321,8 @@ class AccountJournal(models.Model): self.default_debit_account_id.currency_id = vals['currency_id'] if not 'default_credit_account_id' in vals and self.default_credit_account_id: self.default_credit_account_id.currency_id = vals['currency_id'] + if self.bank_account_id: + self.bank_account_id.currency_id = vals['currency_id'] if 'bank_acc_number' in vals and not vals.get('bank_acc_number') and journal.bank_account_id: raise UserError(_('You cannot empty the account number once set.\nIf you would like to delete the account number, you can do it from the Bank Accounts list.')) result = super(AccountJournal, self).write(vals) diff --git a/addons/account/models/account_bank_statement.py b/addons/account/models/account_bank_statement.py index db1909c71c1..2e8cc115307 100644 --- a/addons/account/models/account_bank_statement.py +++ b/addons/account/models/account_bank_statement.py @@ -338,7 +338,7 @@ class AccountBankStatement(models.Model): def link_bank_to_partner(self): for statement in self: for st_line in statement.line_ids: - if st_line.bank_account_id and st_line.partner_id and st_line.bank_account_id.partner_id != st_line.partner_id: + if st_line.bank_account_id and st_line.partner_id and not st_line.bank_account_id.partner_id: st_line.bank_account_id.partner_id = st_line.partner_id diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index c13cac6c352..8021a51941f 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -100,7 +100,7 @@ class AccountMove(models.Model): default=lambda self: self.env.user.company_id) matched_percentage = fields.Float('Percentage Matched', compute='_compute_matched_percentage', digits=0, store=True, readonly=True, help="Technical field used in cash basis method") # Dummy Account field to search on account.move by account_id - dummy_account_id = fields.Many2one('account.account', related='line_ids.account_id', string='Account', store=False) + dummy_account_id = fields.Many2one('account.account', related='line_ids.account_id', string='Account', store=False, readonly=True) tax_cash_basis_rec_id = fields.Many2one( 'account.partial.reconcile', string='Tax Cash Basis Entry of', diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index c55ee9503e9..a6765f9fc05 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -16,7 +16,7 @@ <field name="code" placeholder="code"/> <field name="name"/> <field name="user_type_id" widget="selection"/> - <field name="tax_ids" widget="many2many_tags"/> + <field name="tax_ids" widget="many2many_tags" domain="[('company_id','=',company_id)]"/> <field name="tag_ids" widget="many2many_tags" domain="[('applicability', '!=', 'taxes')]" context="{'default_applicability': 'accounts'}" options=" {'no_create_edit': True}"/> <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> diff --git a/addons/l10n_fr/data/account_chart_template_data.xml b/addons/l10n_fr/data/account_chart_template_data.xml index 6e2120f6c14..7d14cd2d9eb 100644 --- a/addons/l10n_fr/data/account_chart_template_data.xml +++ b/addons/l10n_fr/data/account_chart_template_data.xml @@ -2814,98 +2814,98 @@ <record id="pcg_501" model="account.account.template"> <field name="name">Valeurs mobilières de placement - Parts dans entreprises liées</field> <field name="code">501</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_502" model="account.account.template"> <field name="name">Valeurs mobilières de placement - Actions propres</field> <field name="code">502</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5031" model="account.account.template"> <field name="name">Valeurs mobilières de placement - Titres cotés</field> <field name="code">5031</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5035" model="account.account.template"> <field name="name">Valeurs mobilières de placement - Titres non cotés</field> <field name="code">5035</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_504" model="account.account.template"> <field name="name">Valeurs mobilières de placement - Autres titres conférant un droit de propriété</field> <field name="code">504</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_505" model="account.account.template"> <field name="name">Obligations et bons émis par la société et rachetés par elle</field> <field name="code">505</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5061" model="account.account.template"> <field name="name">Obligations cotés</field> <field name="code">5061</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5065" model="account.account.template"> <field name="name">Obligations non cotés</field> <field name="code">5065</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_507" model="account.account.template"> <field name="name">Bons du Trésor et bons de caisse à court terme</field> <field name="code">507</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5081" model="account.account.template"> <field name="name">Autres valeurs mobilières de placement</field> <field name="code">5081</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5082" model="account.account.template"> <field name="name">Bons de souscription</field> <field name="code">5082</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5088" model="account.account.template"> <field name="name">Intérêts courus sur obligations, bons et valeurs assimilées</field> <field name="code">5088</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_509" model="account.account.template"> <field name="name">Versements restant à effectuer sur valeurs mobilières de placement non libérées</field> <field name="code">509</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5111" model="account.account.template"> <field name="name">Coupons échus à l'encaissement</field> <field name="code">5111</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="reconcile" eval="True"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> @@ -2913,7 +2913,7 @@ <record id="pcg_5112" model="account.account.template"> <field name="name">Chèques à encaisser</field> <field name="code">5112</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="reconcile" eval="True"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> @@ -2921,7 +2921,7 @@ <record id="pcg_5113" model="account.account.template"> <field name="name">Effets à l'encaissement</field> <field name="code">5113</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="reconcile" eval="True"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> @@ -2929,7 +2929,7 @@ <record id="pcg_5114" model="account.account.template"> <field name="name">Effets à l'escompte</field> <field name="code">5114</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="reconcile" eval="True"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> @@ -2958,56 +2958,56 @@ <record id="pcg_516" model="account.account.template"> <field name="name">Sociétés de bourse</field> <field name="code">516</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_517" model="account.account.template"> <field name="name">Autres organismes financiers</field> <field name="code">517</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5181" model="account.account.template"> <field name="name">Intérêts courus à payer</field> <field name="code">5181</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5188" model="account.account.template"> <field name="name">Intérêts courus à recevoir</field> <field name="code">5188</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5191" model="account.account.template"> <field name="name">Concours bancaires courants - Crédit de mobilisation de créances commerciales (CMCC)</field> <field name="code">5191</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5193" model="account.account.template"> <field name="name">Concours bancaires courants - Mobilisation de créances nées à l'étranger</field> <field name="code">5193</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5198" model="account.account.template"> <field name="name">Concours bancaires courants - Intérêts courus sur concours bancaires courants</field> <field name="code">5198</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_52" model="account.account.template"> <field name="name">Instruments de trésorerie</field> <field name="code">52</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> @@ -3042,35 +3042,35 @@ <record id="pcg_54" model="account.account.template"> <field name="name">Régies d'avances et accréditifs</field> <field name="code">54</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5903" model="account.account.template"> <field name="name">Provisions pour dépréciation des actions</field> <field name="code">5903</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5904" model="account.account.template"> <field name="name">Provisions pour dépréciation des autres titres conférant un droit de propriété</field> <field name="code">5904</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5906" model="account.account.template"> <field name="name">Provisions pour dépréciation des obligations</field> <field name="code">5906</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> <record id="pcg_5908" model="account.account.template"> <field name="name">Provisions pour dépréciation des autres valeurs mobilières de placement et créances assimilées (provisions)</field> <field name="code">5908</field> - <field name="user_type_id" ref="account.data_account_type_liquidity"/> + <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> </record> diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index 36adc53f5bd..7886a7a8e69 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -319,7 +319,7 @@ class PurchaseOrder(models.Model): @api.multi def button_approve(self, force=False): - self.write({'state': 'purchase'}) + self.write({'state': 'purchase', 'date_approve': fields.Date.context_today(self)}) self._create_picking() if self.company_id.po_lock == 'lock': self.write({'state': 'done'}) diff --git a/addons/sale/wizard/mail_compose_message.py b/addons/sale/wizard/mail_compose_message.py index 73d81116d50..9ec46b48308 100644 --- a/addons/sale/wizard/mail_compose_message.py +++ b/addons/sale/wizard/mail_compose_message.py @@ -12,6 +12,6 @@ class MailComposeMessage(models.TransientModel): if self._context.get('default_model') == 'sale.order' and self._context.get('default_res_id') and self._context.get('mark_so_as_sent'): order = self.env['sale.order'].browse([self._context['default_res_id']]) if order.state == 'draft': - order.state = 'sent' + order.with_context(tracking_disable=True).state = 'sent' self = self.with_context(mail_post_autofollow=True) return super(MailComposeMessage, self).send_mail(auto_commit=auto_commit) diff --git a/addons/stock/__init__.py b/addons/stock/__init__.py index ddac13e1a0e..bb5953c4834 100644 --- a/addons/stock/__init__.py +++ b/addons/stock/__init__.py @@ -4,4 +4,16 @@ import controllers import models import report -import wizard
\ No newline at end of file +import wizard + + +from odoo import api, SUPERUSER_ID + + +# TODO: Apply proper fix & remove in master +def pre_init_hook(cr): + env = api.Environment(cr, SUPERUSER_ID, {}) + env['ir.model.data'].search([ + ('model', 'like', '%stock%'), + ('module', '=', 'stock') + ]).unlink() diff --git a/addons/stock/__manifest__.py b/addons/stock/__manifest__.py index 9729e82be32..8f9a088fbf9 100644 --- a/addons/stock/__manifest__.py +++ b/addons/stock/__manifest__.py @@ -101,4 +101,5 @@ Dashboard / Reports for Inventory Management will include: 'installable': True, 'application': True, 'auto_install': False, + 'pre_init_hook': 'pre_init_hook', } diff --git a/addons/website_form/static/src/js/website_form.js b/addons/website_form/static/src/js/website_form.js index 431250907c3..716c49ed685 100644 --- a/addons/website_form/static/src/js/website_form.js +++ b/addons/website_form/static/src/js/website_form.js @@ -56,7 +56,7 @@ odoo.define('website_form.animation', function (require) { send: function(e) { e.preventDefault(); // Prevent the default submit behavior - this.$target.find('.o_website_form_send').off(); // Prevent users from crazy clicking + this.$target.find('.o_website_form_send').off().addClass('disabled'); // Prevent users from crazy clicking var self = this; @@ -225,7 +225,7 @@ odoo.define('website_form.animation', function (require) { update_status: function(status) { var self = this; if (status != 'success') { // Restore send button behavior if result is an error - this.$target.find('.o_website_form_send').on('click',function(e) {self.send(e);}); + this.$target.find('.o_website_form_send').on('click',function(e) {self.send(e);}).removeClass('disabled'); } var $result = this.$('#o_website_form_result'); this.templates_loaded.done(function () { diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 02bb081c3a5..2a54de0395f 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -166,7 +166,7 @@ <t t-set="additional_title">Shop</t> <div id="wrap" class="js_sale"> <div class="oe_structure" /> - <div class="container oe_website_sale"> + <div t-attf-class="container oe_website_sale #{'oe_website_sale_search' if search else None}"> <div class="products_pager"> <div class="row" style="width: 100%;"> <t t-call="website_sale.search"> diff --git a/addons/website_slides/static/src/js/slides_embed.js b/addons/website_slides/static/src/js/slides_embed.js index 4e7d3e71652..d3d1321e6c8 100644 --- a/addons/website_slides/static/src/js/slides_embed.js +++ b/addons/website_slides/static/src/js/slides_embed.js @@ -50,12 +50,12 @@ $(document).ready(function () { }, // page switching render_page: function (page_number) { - this.pdf_viewer.renderPage(page_number).then(this.on_rendered_page); + this.pdf_viewer.renderPage(page_number).then(this.on_rendered_page.bind(this)); }, change_page: function () { var page_asked = parseInt(this.$('#page_number').val(), 10); if(1 <= page_asked && page_asked <= this.pdf_viewer.pdf_page_total){ - this.pdf_viewer.changePage(page_asked).then(this.on_rendered_page); + this.pdf_viewer.changePage(page_asked).then(this.on_rendered_page.bind(this)); }else{ // if page number out of range, reset the page_counter to the actual page this.$('#page_number').val(this.pdf_viewer.pdf_page_current); diff --git a/doc/cla/corporate/camptocamp.md b/doc/cla/corporate/camptocamp.md index c934c831a83..777bb974dc5 100644 --- a/doc/cla/corporate/camptocamp.md +++ b/doc/cla/corporate/camptocamp.md @@ -32,3 +32,4 @@ Denis Leemann denis.leemann@camptocamp.com https://github.com/leemannd Akim Juillerat akim.juillerat@camptocamp.com https://github.com/grindtildeath Damien Crier damien.crier@camptocamp.com https://github.com/damdam-s Simone Orsi simahawk@gmail.com https://github.com/simahawk +Patrick Tombez patrick.tombez@camptocamp.com https://github.com/p-tombez diff --git a/doc/cla/individual/apesquero.md b/doc/cla/individual/apesquero.md new file mode 100644 index 00000000000..8c04cee5dc7 --- /dev/null +++ b/doc/cla/individual/apesquero.md @@ -0,0 +1,11 @@ +Spain, 2018-02-26 + +I hereby agree to the terms of the Odoo Individual Contributor License +Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this +declaration. + +Signed, + +Amaro Pesquero apesquero@gmail.com https://github.com/apesquero diff --git a/doc/reference/views.rst b/doc/reference/views.rst index 35c4a13dee6..c2fee0f508d 100644 --- a/doc/reference/views.rst +++ b/doc/reference/views.rst @@ -228,8 +228,7 @@ Possible children elements of the list view are: context of the current row's record, if ``True`` the corresponding attribute is set on the cell. - Possible attributes are ``invisible`` (hides the button) and - ``readonly`` (disables the button but still shows it) + Possible attribute is ``invisible`` (hides the button). ``states`` shorthand for ``invisible`` ``attrs``: a list of states, comma separated, requires that the model has a ``state`` field and that it is diff --git a/odoo/addons/base/base_data.xml b/odoo/addons/base/base_data.xml index 322cd3ae324..f2f6ae363c0 100644 --- a/odoo/addons/base/base_data.xml +++ b/odoo/addons/base/base_data.xml @@ -60,7 +60,7 @@ Administrator</span>]]></field> <field name="company_id" ref="main_company"/> </record> - <record id="ir_mail_server_localhost0" model="ir.mail_server"> + <record id="ir_mail_server_localhost0" model="ir.mail_server" forcecreate="0"> <field name="name">localhost</field> <field name="smtp_host">localhost</field> <field eval="25" name="smtp_port"/> diff --git a/odoo/addons/test_pylint/tests/test_pylint.py b/odoo/addons/test_pylint/tests/test_pylint.py index 22573c699a2..fd31bafe161 100644 --- a/odoo/addons/test_pylint/tests/test_pylint.py +++ b/odoo/addons/test_pylint/tests/test_pylint.py @@ -27,8 +27,12 @@ class TestPyLint(TransactionCase): 'W0101', # unreachable code 'mixed-indentation', + 'deprecated-module', ] + BAD_MODULES = [ + ] + list(tools.SUPPORTED_DEBUGGER) + def _skip_test(self, reason): _logger.warn(reason) self.skipTest(reason) @@ -50,6 +54,7 @@ class TestPyLint(TransactionCase): '--enable=%s' % ','.join(self.ENABLED_CODES), '--reports=n', "--msg-template='{msg} ({msg_id}) at {path}:{line}'", + '--deprecated-modules=%s' % ','.join(self.BAD_MODULES), ] try: diff --git a/odoo/tools/yaml_import.py b/odoo/tools/yaml_import.py index a597a8a44fa..3889faa2c80 100644 --- a/odoo/tools/yaml_import.py +++ b/odoo/tools/yaml_import.py @@ -461,7 +461,7 @@ class YamlInterpreter(object): ctx['field_parent'] = fg[field_name]['relation_field'] if default and field_elem.get('context'): ctx.update(safe_eval(field_elem.get('context'), - globals_dict={'parent': dotdict(parent)}, + globals_dict={'parent': dotdict(parent), 'context': ctx}, locals_dict=record_dict)) field_value = self._eval_field(model, field_name, fields[field_name], form_view, parent=record_dict, default=default, context=ctx) |
