diff --git a/addons/auth_ldap/models/res_company_ldap.py b/addons/auth_ldap/models/res_company_ldap.py index 649cfb7bdf0..dfc9070a2e9 100644 --- a/addons/auth_ldap/models/res_company_ldap.py +++ b/addons/auth_ldap/models/res_company_ldap.py @@ -100,7 +100,7 @@ class CompanyLDAP(models.Model): _logger.warning('Could not format LDAP filter. Your filter should contain one \'%s\'.') return False try: - results = self.query(conf, filter) + results = self.query(conf, tools.ustr(filter)) # Get rid of (None, attrs) for searchResultReference replies results = [i for i in results if i[0]] diff --git a/addons/l10n_be/i18n_extra/nl_BE.po b/addons/l10n_be/i18n_extra/nl_BE.po index 4516f76832a..d40cd32f598 100644 --- a/addons/l10n_be/i18n_extra/nl_BE.po +++ b/addons/l10n_be/i18n_extra/nl_BE.po @@ -701,7 +701,7 @@ msgstr "R.S.Z. 4de kwartaal" #. module: l10n_be #: model:account.account.template,name:l10n_be.a4540 msgid "ONSS. Arriérés" -msgstr "" +msgstr "Achterstallige bijdragen RSZ" #. module: l10n_be #: model:account.account.template,name:l10n_be.a4553 @@ -879,7 +879,7 @@ msgstr "Waardeverminderingen op voorraden" #. module: l10n_be #: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_4 msgid "Régime Cocontractant" -msgstr "" +msgstr "Medecontractant" #. module: l10n_be #: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_2 diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js index 90fbb6ed801..0b7b37ec49f 100644 --- a/addons/mail/static/src/js/chat_manager.js +++ b/addons/mail/static/src/js/chat_manager.js @@ -128,7 +128,8 @@ function make_message (data) { subtype_description: data.subtype_description, is_author: data.author_id && data.author_id[0] === session.partner_id, is_note: data.is_note, - is_system_notification: data.message_type === 'notification' && data.model === 'mail.channel', + is_system_notification: (data.message_type === 'notification' && data.model === 'mail.channel') + || data.info === 'transient_message', attachment_ids: data.attachment_ids || [], subject: data.subject, email_from: data.email_from, diff --git a/addons/maintenance/data/maintenance_data.xml b/addons/maintenance/data/maintenance_data.xml index cc4174756ca..051b72c05e0 100644 --- a/addons/maintenance/data/maintenance_data.xml +++ b/addons/maintenance/data/maintenance_data.xml @@ -69,30 +69,8 @@ category_id - - - Computers - - - - Software - - - - Printers - - - Internal Maintenance - - - Metrology - - - - Subcontractor - diff --git a/addons/maintenance/data/maintenance_demo.xml b/addons/maintenance/data/maintenance_demo.xml index 1abdeb31c83..a5bc8bb02e9 100644 --- a/addons/maintenance/data/maintenance_demo.xml +++ b/addons/maintenance/data/maintenance_demo.xml @@ -2,7 +2,28 @@ + + + + Metrology + + + Subcontractor + + + + Computers + + + + Software + + + + Printers + + Monitors diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py index 40a8207648d..cd73918224e 100644 --- a/addons/mass_mailing/controllers/main.py +++ b/addons/mass_mailing/controllers/main.py @@ -3,7 +3,7 @@ import werkzeug -from odoo import http +from odoo import http, _ from odoo.http import request diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index e7f6c244bff..81f2d7fbb30 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -180,9 +180,7 @@ class SaleOrder(models.Model): """ Trigger the change of fiscal position when the shipping address is modified. """ - fiscal_position = self.env['account.fiscal.position'].get_fiscal_position(self.partner_id.id, self.partner_shipping_id.id) - if fiscal_position: - self.fiscal_position_id = fiscal_position + self.fiscal_position_id = self.env['account.fiscal.position'].get_fiscal_position(self.partner_id.id, self.partner_shipping_id.id) return {} @api.multi diff --git a/addons/sale/wizard/mail_compose_message.py b/addons/sale/wizard/mail_compose_message.py index 784d07dd568..73d81116d50 100644 --- a/addons/sale/wizard/mail_compose_message.py +++ b/addons/sale/wizard/mail_compose_message.py @@ -13,4 +13,5 @@ class MailComposeMessage(models.TransientModel): order = self.env['sale.order'].browse([self._context['default_res_id']]) if order.state == 'draft': order.state = 'sent' - return super(MailComposeMessage, self.with_context(mail_post_autofollow=True)).send_mail(auto_commit=auto_commit) + self = self.with_context(mail_post_autofollow=True) + return super(MailComposeMessage, self).send_mail(auto_commit=auto_commit) diff --git a/addons/stock_account/models/account_invoice.py b/addons/stock_account/models/account_invoice.py index b4149ead98b..9ddc1c686f4 100644 --- a/addons/stock_account/models/account_invoice.py +++ b/addons/stock_account/models/account_invoice.py @@ -48,7 +48,8 @@ class AccountInvoice(models.Model): 'account_id':dacc, 'product_id':i_line.product_id.id, 'uom_id':i_line.uom_id.id, - 'account_analytic_id': False, + 'account_analytic_id': i_line.account_analytic_id.id, + 'analytic_tag_ids': i_line.analytic_tag_ids.ids and [(6, 0, i_line.analytic_tag_ids.ids)] or False, }, { @@ -60,7 +61,8 @@ class AccountInvoice(models.Model): 'account_id':cacc, 'product_id':i_line.product_id.id, 'uom_id':i_line.uom_id.id, - 'account_analytic_id': False, + 'account_analytic_id': i_line.account_analytic_id.id, + 'analytic_tag_ids': i_line.analytic_tag_ids.ids and [(6, 0, i_line.analytic_tag_ids.ids)] or False, }, ] return [] diff --git a/addons/stock_account/views/product_views.xml b/addons/stock_account/views/product_views.xml index fa258bfd4ea..ef1ef186508 100644 --- a/addons/stock_account/views/product_views.xml +++ b/addons/stock_account/views/product_views.xml @@ -8,7 +8,7 @@ - + diff --git a/addons/website_quote/controllers/main.py b/addons/website_quote/controllers/main.py index d7f804a1abe..10518e58ea3 100644 --- a/addons/website_quote/controllers/main.py +++ b/addons/website_quote/controllers/main.py @@ -9,10 +9,11 @@ from odoo.addons.website_mail.controllers.main import _message_post_helper class sale_quote(http.Controller): - @http.route([ - "/quote/", - "/quote//" - ], type='http', auth="public", website=True) + @http.route("/quote/", type='http', auth="user", website=True) + def view_user(self, *args, **kwargs): + return self.view(*args, **kwargs) + + @http.route("/quote//", type='http', auth="public", website=True) def view(self, order_id, pdf=None, token=None, message=False, **post): # use sudo to allow accessing/viewing orders for public user # only if he knows the private token diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index b76340f524a..ab98a1dcb0b 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -586,11 +586,8 @@ class WebsiteSale(http.Controller): order.onchange_partner_id() elif mode[1] == 'shipping': order.partner_shipping_id = partner_id - order.onchange_partner_shipping_id() - order.order_line._compute_tax_id() order.message_partner_ids = [(4, partner_id), (3, request.website.partner_id.id)] - if not errors: return request.redirect(kw.get('callback') or '/shop/checkout') @@ -638,6 +635,9 @@ class WebsiteSale(http.Controller): if redirection: return redirection + + order.onchange_partner_shipping_id() + order.order_line._compute_tax_id() request.session['sale_last_order_id'] = order.id request.website.sale_get_order(update_pricelist=True) extra_step = request.env.ref('website_sale.extra_info_option')