From 2295cffb7094480c994912eb2ed183a765b12c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Honor=C3=A9=20=28Acsone=29?= <30529208+acsonefho@users.noreply.github.com> Date: Thu, 19 Oct 2017 09:12:30 +0200 Subject: [PATCH 01/25] [CLA] Add acsonefho into Acsone CCLA Closes #20291 --- doc/cla/corporate/acsone.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/cla/corporate/acsone.md b/doc/cla/corporate/acsone.md index cb97dc6b20d..1060d7ccc02 100644 --- a/doc/cla/corporate/acsone.md +++ b/doc/cla/corporate/acsone.md @@ -25,3 +25,4 @@ Philippe Schmidt philippe.schmidt@acsone.eu https://github.com/phschmidt Stéphane Bidoul stephane.bidoul@acsone.eu https://github.com/sbidoul Thomas Binsfeld thomas.binsfeld@acsone.eu https://github.com/ThomasBinsfeld Benjamin Willig benjamin.willig@acsone.eu https://github.com/benwillig +François Honoré francois.honore@acsone.eu https://github.com/acsonefho From 3f3e41e9f5b89f2b079204ce3adee73d48aba541 Mon Sep 17 00:00:00 2001 From: Joao Alfredo Gama Batista Date: Thu, 19 Oct 2017 03:24:53 -0400 Subject: [PATCH 02/25] [CLA] Update Savoir-faire Linux CLA Add new collaborators, remove old ones Closes #20258 --- doc/cla/corporate/savoirfairelinux.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/doc/cla/corporate/savoirfairelinux.md b/doc/cla/corporate/savoirfairelinux.md index 784518b093e..6dca085c4ce 100644 --- a/doc/cla/corporate/savoirfairelinux.md +++ b/doc/cla/corporate/savoirfairelinux.md @@ -1,4 +1,4 @@ -Canada, France, 2017-05-12 +Canada, France, 2017-10-17 Savoir-faire Linux agrees to the terms of the Odoo Corporate Contributor License Agreement v1.0. @@ -8,17 +8,22 @@ declaration. Signed, -Jérome Boisvert-Chouinard jerome.boisvertchouinard@savoirfairelinux.com https://github.com/jbchouinard +João Alfredo Gama Batista joao.gama@savoirfairelinux.com https://github.com/joaoalf List of contributors: Agathe Mollé agathe.molle@savoirfairelinux.com https://github.com/Ehtaga Bruno Joliveau bruno.joliveau@savoirfairelinux.com https://github.com/bjoliveau David Dufresne david.dufresne@savoirfairelinux.com https://github.com/dufresnedavid -Jérome Boisvert-Chouinard jerome.boisvertchouinard@savoirfairelinux.com https://github.com/jbchouinard -Joao Alfredo Gama Batista joao.gama@savoirfairelinux.com https://github.com/joaoalf -Julie Moussu julie.mousse@savoirfairelinux.com https://github.com/JulieSFL -Pierre Lamarche pierre.lamarche@savoirfairelinux.com https://github.com/plamarche +Istvan SZALAÏ istvan.szalai@savoirfairelinux.com https://github.com/ventilooo +João Alfredo Gama Batista joao.gama@savoirfairelinux.com https://github.com/joaoalf +Julien Jezequel-Breard julien.jezequel-breard@savoirfairelinux.com https://github.com/jjbreard +Quentin Lavallée-Bourdeau quentin.lavallee@savoirfairelinux.com https://github.com/qtiplb +Rim Ben Dhaou rim.bendhaou@savoirfairelinux.com https://github.com/rimbendhaou +Yasmine El Mrini yasmine.elmrini@savoirfairelinux.com https://github.com/yasmineelmrini +Jérome Boisvert-Chouinard jerome.boisvertchouinard@savoirfairelinux.com https://github.com/jbchouinard (up to 2017-10-17) +Julie Moussu julie.mousse@savoirfairelinux.com https://github.com/JulieSFL (up to 2017-10-17) +Pierre Lamarche pierre.lamarche@savoirfairelinux.com https://github.com/plamarche (up to 2017-10-17) David Cormier david.cormier@savoirfairelinux.com https://github.com/cormier (up to 2017-05-12) Davin Baragiotta davin.baragiotta@savoirfairelinux.com https://github.com/giotta (up to 2017-05-12) El Hadji Dem elhadji.dem@savoirfairelinux.com https://github.com/ehdem (up to 2017-05-12) From 4f921d668aba626475c2acf75ecc28af16905d52 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Wed, 18 Oct 2017 10:50:18 +0200 Subject: [PATCH 03/25] [FIX] account_asset: asset on refund - Create a vendor bill with a line linked to an asset category - Validate the bill => an asset is created - Refund the bill The refund is also linked to an asset category. Therefore, upon validation, a negative asset will be created. The refund should not be linked to the asset category in a first place. The user should cancel/modify the asset manually. opw-775933 --- addons/account_asset/models/account_invoice.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/addons/account_asset/models/account_invoice.py b/addons/account_asset/models/account_invoice.py index f3726a798c0..7d20127b969 100644 --- a/addons/account_asset/models/account_invoice.py +++ b/addons/account_asset/models/account_invoice.py @@ -12,6 +12,16 @@ import odoo.addons.decimal_precision as dp class AccountInvoice(models.Model): _inherit = 'account.invoice' + @api.model + def _refund_cleanup_lines(self, lines): + result = super(AccountInvoice, self)._refund_cleanup_lines(lines) + for i, line in enumerate(lines): + for name, field in line._fields.items(): + if name == 'asset_category_id': + result[i][2][name] = False + break + return result + @api.multi def action_cancel(self): res = super(AccountInvoice, self).action_cancel() From f18f8e401baf4762f1c9ceb4f1a89fee4b1a599b Mon Sep 17 00:00:00 2001 From: Denis Vermylen Date: Wed, 18 Oct 2017 19:00:24 +0200 Subject: [PATCH 04/25] [FIX] sale: pricelist price base Fine tuning of 1108c150d9a61bc437a07f03a809c8907714edf4 When setting a pricelist to show the public price discount, it ignored the pricelist item's base field (if not 'Other Pricelist') and set it by default on the lst_price instead. This did not work when you based your discount on the standard_price (= cost price) with public price discount. Now it does. opw:775275 --- addons/sale/models/sale.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 2c24bee1549..3fef7117eb0 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -857,7 +857,8 @@ class SaleOrderLine(models.Model): return price else: from_currency = self.order_id.company_id.currency_id - return from_currency.compute(pricelist_item and product[pricelist_item.base] or product.lst_price, self.order_id.pricelist_id.currency_id) + product_price = product[pricelist_item.base] if (pricelist_item and pricelist_item.base != 'pricelist') else product.lst_price + return from_currency.compute(product_price, self.order_id.pricelist_id.currency_id) @api.multi @api.onchange('product_id') From 1e9adb89713905229d02e0383412f883fb5bd3ce Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Thu, 19 Oct 2017 11:07:50 +0200 Subject: [PATCH 05/25] [FIX] web: domain field should never be considered unset Backport of https://github.com/odoo/odoo/commit/841f41f95b7cf7d8f13ddce724d60d1d1149886d Does not have to be forward-ported in saas-16. --- addons/web/static/src/js/views/form_widgets.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index c3fafb1646f..fc9b7c268db 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -505,6 +505,9 @@ var FieldDomain = common.AbstractField.extend(common.ReinitializeFieldMixin).ext this.$errorMessage.toggleClass("hidden", this.valid); }).bind(this)); }, + is_false: function () { + return false; + }, is_syntax_valid: function() { return this.field_manager.get("actual_mode") === "view" || this.valid; }, From e72fc9a7f370d3e0fa6bd26c9b9e9c4608786c97 Mon Sep 17 00:00:00 2001 From: amoyaux Date: Wed, 18 Oct 2017 16:16:10 +0200 Subject: [PATCH 06/25] [FIX] stock: pack operation lots truncate decimal precision A bug happens when you enter a number with more than 2 decimal if you unfocus/focus the field it will truncate it. This commit change the decimal precision and use the same digits than other fields used in stock. opw-775791 --- addons/stock/models/stock_pack_operation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/models/stock_pack_operation.py b/addons/stock/models/stock_pack_operation.py index b06a977a90b..f82109c170f 100644 --- a/addons/stock/models/stock_pack_operation.py +++ b/addons/stock/models/stock_pack_operation.py @@ -268,10 +268,10 @@ class PackOperationLot(models.Model): _description = "Lot/Serial number for pack ops" operation_id = fields.Many2one('stock.pack.operation') - qty = fields.Float('Done', default=1.0) + qty = fields.Float('Done', default=1.0, digits=dp.get_precision('Product Unit of Measure')) lot_id = fields.Many2one('stock.production.lot', 'Lot/Serial Number') lot_name = fields.Char('Lot/Serial Number') - qty_todo = fields.Float('To Do', default=0.0) + qty_todo = fields.Float('To Do', default=0.0, digits=dp.get_precision('Product Unit of Measure')) plus_visible = fields.Boolean(compute='_compute_plus_visible', default=True) _sql_constraints = [ From 2deb95b852208a8dbfb9640ac8947533c1ad428b Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 17 Oct 2017 09:49:22 +0200 Subject: [PATCH 07/25] [FIX] base_vat, website_sale: Verification of vat number in EU country We have problems when trying to validate our EU VAT report because some vat number are wrongly encoded in Odoo. There are 2 problems: 1) We use vatnumber library to check the validity of the VAT number entered by the user on website. That library removes the following characters '.' and '-' in order to perform the check and thus can return True for a number like 123.123.123.13 or -123-3454-34 And those VAT number are then saved in our database but are rejected by the state as VAT number should only contains alphanumeric character -> Solution: prevent entering vat number with other characters than alphanumeric for users that are located in EUROPE! 2) Usually VAT is prefixed by country code, however some people in europe managed to bypass the system by prefixing their VAT number with CC instead of their country code, CC is consider valid in odoo (it means Country Code) but is not a valid European country code in general, which means that those people that should have pay some tax have not. Which is a huge problem. -> Solution: prevent the use of CC as country code by the user when entering a vatnumber only if the user country is in EUROPE! source: https://en.wikipedia.org/wiki/VAT_identification_number opw:772621 --- addons/base_vat/base_vat.py | 22 ++++++++++++++++++++++ addons/website_sale/controllers/main.py | 2 ++ 2 files changed, 24 insertions(+) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 9e1dcba46e4..98a988beae7 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -14,10 +14,17 @@ except ImportError: "Install it to support more countries, for example with `easy_install vatnumber`.") vatnumber = None +from openerp import api from openerp.osv import osv from openerp.tools.misc import ustr from openerp.tools.translate import _ +_eu_country_vat = { + 'GR': 'EL' +} + +_eu_country_vat_inverse = {v: k for k, v in _eu_country_vat.items()} + _ref_vat = { 'at': 'ATU12345675', 'be': 'BE0477472701', @@ -79,6 +86,7 @@ class res_partner(osv.osv): # may have a VATIN starting with "EU" instead of a country code. return True res_country = self.pool.get('res.country') + country_code = _eu_country_vat_inverse.get(country_code, country_code) return bool(res_country.search(cr, uid, [('code', '=ilike', country_code)], context=context)) return check_func(vat_number) @@ -95,6 +103,20 @@ class res_partner(osv.osv): # country code or empty VAT number), so we fall back to the simple check. return self.simple_vat_check(cr, uid, country_code, vat_number, context=context) + @api.model + def fix_eu_vat_number(self, country_id, vat): + in_europe = False + europe = self.env.ref('base.europe') + country = self.env["res.country"].browse(country_id) + if not europe: + europe = self.env["res.country.group"].search([('name', '=', 'Europe')], limit=1) + if europe and country and country.id in europe.country_ids.ids: + vat = re.sub('[^A-Za-z0-9]', '', vat).upper() + country_code = _eu_country_vat.get(country.code, country.code).upper() + if vat[:2] != country_code: + vat = country_code + vat + return vat + def check_vat(self, cr, uid, ids, context=None): user_company = self.pool.get('res.users').browse(cr, uid, uid).company_id if user_company.vat_check_vies: diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index e7820976747..44c35ff3c1f 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -569,6 +569,8 @@ class website_sale(http.Controller): # vat validation if data.get("vat") and hasattr(registry["res.partner"], "check_vat"): + if data.get("country_id"): + data["vat"] = registry["res.partner"].fix_eu_vat_number(cr, uid, data.get("country_id"), data.get("vat"), context) if request.website.company_id.vat_check_vies: # force full VIES online check check_func = registry["res.partner"].vies_vat_check From c57fb01a3e779cd292152bf5e4c894bf7bcd1f41 Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Thu, 19 Oct 2017 12:45:47 +0200 Subject: [PATCH 08/25] [FIX] web: iOS content in modal disappear As can be seen in https://github.com/scottjehl/Device-Bugs/issues/8 a combination of "-webkit-overflow-scrolling:touch", "position:relative" and "overflow:auto" can have unexpected behavior on iOS. The issue solved here is that writing in a form view inside a modal in iOS (at least version 10.3) would make the whole form body invisible until edition is ended. This commit fixes this by adding a CSS rule which avoid the iOS bug. opw-774396 closes #20314 --- addons/web/static/src/less/modal.less | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/web/static/src/less/modal.less b/addons/web/static/src/less/modal.less index bca950796fc..ec12c47381c 100644 --- a/addons/web/static/src/less/modal.less +++ b/addons/web/static/src/less/modal.less @@ -52,6 +52,8 @@ .modal-body { overflow: auto; + // fix iOS issue https://github.com/scottjehl/Device-Bugs/issues/8 + -webkit-transform: translate3d(0, 0, 0); } } } From 59b010ac366e0826fb314b2a89ca47f26906e185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon=20=28ACSONE=29?= Date: Thu, 19 Oct 2017 15:00:52 +0200 Subject: [PATCH 09/25] [FIX] sale_stock: refactor badly written method causing performances issues (#20193) --- addons/sale_stock/models/sale_order.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 5ae2b039839..5ce3be00b9a 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -109,11 +109,13 @@ class SaleOrderLine(models.Model): @api.multi @api.depends('product_id') def _compute_qty_delivered_updateable(self): - for line in self: - if line.product_id.type not in ('consu', 'product'): - super(SaleOrderLine, line)._compute_qty_delivered_updateable() - else: - line.qty_delivered_updateable = False + # prefetch field before filtering + self.mapped('product_id') + # on consumable or stockable products, qty_delivered_updateable defaults + # to False; on other lines use the original computation + lines = self.filtered(lambda line: line.product_id.type not in ('consu', 'product')) + lines = lines.with_prefetch(self._prefetch) + super(SaleOrderLine, lines)._compute_qty_delivered_updateable() @api.onchange('product_id') def _onchange_product_id_set_customer_lead(self): From 2c829870f12c969c43782ae88ea2c140eb8ca37c Mon Sep 17 00:00:00 2001 From: Dharmang Soni Date: Mon, 31 Jul 2017 13:01:42 +0530 Subject: [PATCH 10/25] [FIX] web: prevent iOS from zooming in on input fields When a user clicks on an input or a select field in Safari on IOS, Safari has a behavior of zooming-in on the field when the keyboard opens. Even after the user dismisses the keyboard, the screen still stays zoomed-in. The user has to then zoom out manually. Now, the user is not allow to zoom-in at all. This is already the case with the Android application. We now have the same behavior between the two apps. --- addons/web/views/webclient_templates.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index cffc4321808..4b5c4c8bdc7 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -193,7 +193,7 @@ - + <link type="image/x-icon" rel="shortcut icon" t-att-href="x_icon or '/web/static/src/img/favicon.ico'"/> From d49983b23dd5ff12382d5c9eaa47291822ea42a7 Mon Sep 17 00:00:00 2001 From: qsm-odoo <qsm@odoo.com> Date: Thu, 19 Oct 2017 11:58:18 +0200 Subject: [PATCH 11/25] [FIX] web_editor: open link dialog on dblclick on real links When double-clicking on a link/button, the link dialog is opened. The problem was that the "btn" class is sometimes used on non-link elements. While this should not be, the editor can easily be adapted to this. --- addons/web_editor/static/src/js/rte.summernote.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web_editor/static/src/js/rte.summernote.js b/addons/web_editor/static/src/js/rte.summernote.js index a3bf079aa30..866d0d68e84 100644 --- a/addons/web_editor/static/src/js/rte.summernote.js +++ b/addons/web_editor/static/src/js/rte.summernote.js @@ -771,7 +771,7 @@ eventHandler.attach = function (oLayoutInfo, options) { * Open Link Dialog on double click on a link/button. * Shows a tooltip on click to say to the user he can double click. */ - create_dblclick_feature("a[href], .btn", function () { + create_dblclick_feature("a[href], a.btn, button.btn", function () { eventHandler.modules.linkDialog.show(oLayoutInfo); }); From 8ead5f9610b94d2e9e4305d6baf2b21d9729896f Mon Sep 17 00:00:00 2001 From: Christophe Simonis <chs@odoo.com> Date: Thu, 19 Oct 2017 21:03:00 +0200 Subject: [PATCH 12/25] [FIX] sale_stock: do not mix indentation with tab & spaces --- addons/sale_stock/models/sale_order.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 5ce3be00b9a..06f1ef715ba 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -110,12 +110,12 @@ class SaleOrderLine(models.Model): @api.depends('product_id') def _compute_qty_delivered_updateable(self): # prefetch field before filtering - self.mapped('product_id') - # on consumable or stockable products, qty_delivered_updateable defaults - # to False; on other lines use the original computation - lines = self.filtered(lambda line: line.product_id.type not in ('consu', 'product')) - lines = lines.with_prefetch(self._prefetch) - super(SaleOrderLine, lines)._compute_qty_delivered_updateable() + self.mapped('product_id') + # on consumable or stockable products, qty_delivered_updateable defaults + # to False; on other lines use the original computation + lines = self.filtered(lambda line: line.product_id.type not in ('consu', 'product')) + lines = lines.with_prefetch(self._prefetch) + super(SaleOrderLine, lines)._compute_qty_delivered_updateable() @api.onchange('product_id') def _onchange_product_id_set_customer_lead(self): From 4af5e03d803831ee6c6a8f47974bfb01118b24da Mon Sep 17 00:00:00 2001 From: Christophe Simonis <chs@odoo.com> Date: Thu, 19 Oct 2017 22:25:31 +0200 Subject: [PATCH 13/25] [ADD] hw_proxy: do not mix indentation with tab & spaces --- addons/hw_proxy/controllers/main.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/hw_proxy/controllers/main.py b/addons/hw_proxy/controllers/main.py index cd90ffd16ed..d79d4bdf8be 100644 --- a/addons/hw_proxy/controllers/main.py +++ b/addons/hw_proxy/controllers/main.py @@ -17,9 +17,9 @@ _logger = logging.getLogger(__name__) # Those are the builtin raspberry pi USB modules, they should # not appear in the list of connected devices. BANNED_DEVICES = set([ - "0424:9514", # Standard Microsystem Corp. Builtin Ethernet module - "1d6b:0002", # Linux Foundation 2.0 root hub - "0424:ec00", # Standard Microsystem Corp. Other Builtin Ethernet module + "0424:9514", # Standard Microsystem Corp. Builtin Ethernet module + "1d6b:0002", # Linux Foundation 2.0 root hub + "0424:ec00", # Standard Microsystem Corp. Other Builtin Ethernet module ]) @@ -106,7 +106,7 @@ class Proxy(http.Controller): device_name = device[device.find('ID')+2:] device_id = device_name.split()[0] if not (device_id in BANNED_DEVICES): - resp+= "<div class='device' data-device='"+device+"'>"+device_name+"</div>\n" + resp+= "<div class='device' data-device='"+device+"'>"+device_name+"</div>\n" count += 1 if count == 0: From 9b4447e9aa5f172fb9fd35ba4213a925288c74ef Mon Sep 17 00:00:00 2001 From: Christophe Simonis <chs@odoo.com> Date: Thu, 19 Oct 2017 22:33:37 +0200 Subject: [PATCH 14/25] [IMP] test_pylint: check for mixed-indentation --- odoo/addons/test_pylint/tests/test_pylint.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/odoo/addons/test_pylint/tests/test_pylint.py b/odoo/addons/test_pylint/tests/test_pylint.py index 38fa4c3d51a..22573c699a2 100644 --- a/odoo/addons/test_pylint/tests/test_pylint.py +++ b/odoo/addons/test_pylint/tests/test_pylint.py @@ -25,6 +25,8 @@ class TestPyLint(TransactionCase): 'E0601', # using variable before assignment 'W0123', # eval used 'W0101', # unreachable code + + 'mixed-indentation', ] def _skip_test(self, reason): From beed2d2ed9356c1e8d56e28d9f47c023190981e7 Mon Sep 17 00:00:00 2001 From: Christophe Simonis <chs@odoo.com> Date: Thu, 19 Oct 2017 23:35:00 +0200 Subject: [PATCH 15/25] [IMP] sale{,_stock}: do not mix indentation with tabs & spaces --- addons/sale/__init__.py | 4 ++-- addons/sale_stock/models/procurement.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/sale/__init__.py b/addons/sale/__init__.py index 7e12dedf6a4..c157ebbd148 100644 --- a/addons/sale/__init__.py +++ b/addons/sale/__init__.py @@ -19,6 +19,6 @@ def uninstall_hook(cr, registry): if 'crm.team' in env: recs = env['crm.team'].search([]) for rec in recs: - rec._onchange_team_type() + rec._onchange_team_type() - cr.after("commit", partial(update_dashboard_graph_model, cr.dbname)) \ No newline at end of file + cr.after("commit", partial(update_dashboard_graph_model, cr.dbname)) diff --git a/addons/sale_stock/models/procurement.py b/addons/sale_stock/models/procurement.py index 5710bff5af6..f6b51ae6473 100644 --- a/addons/sale_stock/models/procurement.py +++ b/addons/sale_stock/models/procurement.py @@ -14,5 +14,5 @@ class ProcurementOrder(models.Model): return vals class ProcurementGroup(models.Model): - _inherit = 'procurement.group' - sale_order_id = fields.Many2one('sale.order', string='Sale Order') + _inherit = 'procurement.group' + sale_order_id = fields.Many2one('sale.order', string='Sale Order') From 023b195eefe41678763dc39a544adea264eb9181 Mon Sep 17 00:00:00 2001 From: Adrian Torres <adt@odoo.com> Date: Fri, 20 Oct 2017 08:21:43 +0200 Subject: [PATCH 16/25] [FIX] website_sale: don't unlink website_description This is a hotfix/hack for a conflict between website_sale and website_quote, on the field website_description. The conflict happens when both modules are installed. Fixes #20118 Completes rev 333a236 --- addons/website_sale/models/__init__.py | 1 + addons/website_sale/models/ir_model_fields.py | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 addons/website_sale/models/ir_model_fields.py diff --git a/addons/website_sale/models/__init__.py b/addons/website_sale/models/__init__.py index a40ad2379a6..a54c1194068 100644 --- a/addons/website_sale/models/__init__.py +++ b/addons/website_sale/models/__init__.py @@ -4,3 +4,4 @@ import product import sale_order import crm_team import res_config +import ir_model_fields diff --git a/addons/website_sale/models/ir_model_fields.py b/addons/website_sale/models/ir_model_fields.py new file mode 100644 index 00000000000..e109ab809b5 --- /dev/null +++ b/addons/website_sale/models/ir_model_fields.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models + +# !! Attention, this is a hack of a hack, do not try this at home !! +# This is done because website_sale defines the website_description +# field which is also defined by website_quote, but these two modules +# are independent of each other, the part of the ORM that generates +# xmlids does not support this case therefore it only creates a single +# pair of xmlids for whichever module is installed first, therefore +# when uninstalling any of the two modules the website_descripion field +# will be deleted from the db and the other module won't be able to +# use this field, resulting in a crash and data-loss. +# See opw-776464 for more details. +# +# This is hotfixed by overriding the unlink method so as to not delete +# the website_description field if website_sale is uninstalled, it's +# an ugly hack but it works and big changes can't be done to the ORM +# in stable versions, Odoo v12+ will properly fix this + + +class IrModelFields(models.Model): + _inherit = "ir.model.fields" + + @api.multi + def unlink(self): + # Prevent the deletion of the field "website_description" + self = self.filtered( + lambda rec: not ( + rec.model in ('product.product', 'product.template') and + rec.name == 'website_description' + ) + ) + return super(IrModelFields, self).unlink() From af6baac9c76f576e2fe5bba8344b88f23337d91a Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" <lpe@odoo.com> Date: Thu, 19 Oct 2017 10:51:52 +0200 Subject: [PATCH 17/25] [FIX] account, sale: fix notification templates inline style Before this commit, Sale order and invoice notification email templates broke when doing any action on them (duplicating, open preview etc...) This is because the model is saved during those operation, and the css style gets converted to inline style. The table tag present in those templates, was wrongly associated with the bootstrap rule for tables, collapsing their border, hence the break of the templates. After this commit, we force the borders not to collapse, and the templates don't break OPW 774323 --- addons/account/data/invoice_action_data.xml | 8 ++++---- addons/sale/data/mail_template_data.xml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/account/data/invoice_action_data.xml b/addons/account/data/invoice_action_data.xml index 4752247b988..3e552f01486 100644 --- a/addons/account/data/invoice_action_data.xml +++ b/addons/account/data/invoice_action_data.xml @@ -65,13 +65,13 @@ from ${object.company_id.name}. % set record = ctx.get('record') % set company = record and record.company_id or user.company_id <body style="margin: 0; padding: 0;"> - <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" summary="o_mail_notification"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;" summary="o_mail_notification"> <tbody> <!-- HEADER --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> <tr> <td valign="middle"> <span style="font-size:20px; color:white; font-weight: bold;"> @@ -89,7 +89,7 @@ from ${object.company_id.name}. <!-- CONTENT --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> <tbody> <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> ${object.body | safe} @@ -102,7 +102,7 @@ from ${object.company_id.name}. <!-- FOOTER --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> <tr> <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> ${company.name}<br/> diff --git a/addons/sale/data/mail_template_data.xml b/addons/sale/data/mail_template_data.xml index 7bc9804bdb1..c3a61e0b421 100644 --- a/addons/sale/data/mail_template_data.xml +++ b/addons/sale/data/mail_template_data.xml @@ -66,13 +66,13 @@ from ${object.company_id.name}. % set record = ctx.get('record') % set company = record and record.company_id or user.company_id <body style="margin: 0; padding: 0;"> - <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" summary="o_mail_notification"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;" summary="o_mail_notification"> <tbody> <!-- HEADER --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> <tr> <td valign="middle"> <span style="font-size:20px; color:white; font-weight: bold;"> @@ -90,7 +90,7 @@ from ${object.company_id.name}. <!-- CONTENT --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> <tbody> <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> ${object.body | safe} @@ -103,7 +103,7 @@ from ${object.company_id.name}. <!-- FOOTER --> <tr> <td align="center" style="min-width: 590px;"> - <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> <tr> <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> ${company.name}<br/> From e3f05496b1f5966aeaf773a5f07997488f9ec69e Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" <lpe@odoo.com> Date: Thu, 19 Oct 2017 10:56:53 +0200 Subject: [PATCH 18/25] [FIX] mail: fix template preview wizard view Before this commit, when on a mail.template form, click on the Preview smart button. A wizard popped up with two buttons, as the default for form views. First this made no sense since the wizard doesn't represent a model that can be modified Second, the button discard was unable to close the wizard. After this commit, only a discard button is present which does its job. --- addons/mail/wizard/email_template_preview_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/mail/wizard/email_template_preview_view.xml b/addons/mail/wizard/email_template_preview_view.xml index 7d5cd1cb6d6..67068f5dc84 100644 --- a/addons/mail/wizard/email_template_preview_view.xml +++ b/addons/mail/wizard/email_template_preview_view.xml @@ -28,6 +28,9 @@ <field name="body_html" widget="html" readonly="1" nolabel="1" options='{"safe": True}'/> <field name="attachment_ids" widget="many2many_binary" readonly="1"/> + <footer> + <button string="Discard" class="btn-default" special="cancel"/> + </footer> </form> </field> </record> From e180a03af8b8dd26dacb7f1a8dac058542034e2d Mon Sep 17 00:00:00 2001 From: Martin Trigaux <mat@odoo.com> Date: Fri, 20 Oct 2017 09:20:00 +0200 Subject: [PATCH 19/25] [I18N] base: export source terms Now that 8f1d889e50 has been forward ported to 10.0 Add missing enterprise module description --- odoo/addons/base/i18n/base.pot | 1917 +++++++++++++++++++++++++++++++- 1 file changed, 1866 insertions(+), 51 deletions(-) diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index 0023a213f7f..31f15fbcd37 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-23 13:27+0000\n" -"PO-Revision-Date: 2017-06-23 13:27+0000\n" +"POT-Creation-Date: 2017-10-20 07:12+0000\n" +"PO-Revision-Date: 2017-10-20 07:12+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -52,6 +52,19 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_pos_loyalty +msgid "\n" +"\n" +"=======================\n" +"\n" +"This module allows you to define a loyalty program in\n" +"the point of sale, where the customers earn loyalty points\n" +"and get rewards.\n" +"\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_hu msgid "\n" @@ -158,6 +171,18 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_deferred_revenue +msgid "\n" +"\n" +"Revenue recognitions\n" +"===================\n" +"Manage revenue recognitions on product sales.\n" +"Keeps track of the revenue recognition installments, and creates corresponding journal entries.\n" +"\n" +" " +msgstr "" + #. module: base #: code:addons/base/res/res_config.py:332 #, python-format @@ -166,6 +191,14 @@ msgid "\n" "This addon is already installed on your system" msgstr "" +#. module: base +#: code:addons/model.py:140 +#, python-format +msgid "\n" +"\n" +"[object with reference: %s - %s]" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_be_invoice_bba msgid "\n" @@ -202,12 +235,105 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_reports +msgid "\n" +" Accounting reports for Belgium\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_br_reports +msgid "\n" +" Accounting reports for Brazilian\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_cl_reports +msgid "\n" +" Accounting reports for Chile\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_hu_reports +msgid "\n" +" Accounting reports for Hungarian\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_nl_reports +msgid "\n" +" Accounting reports for Netherlands\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ro_reports +msgid "\n" +" Accounting reports for Romania\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_si_reports +msgid "\n" +" Accounting reports for Slovenian\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_es_reports +msgid "\n" +" Accounting reports for Spain\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ch_reports +msgid "\n" +" Accounting reports for Switzerland\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_uk_reports +msgid "\n" +" Accounting reports for UK\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_uy_reports +msgid "\n" +" Accounting reports for Uruguay\n" +"\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_extension +msgid "\n" +" Adapt base accounting module for Enterprise Edition.\n" +"\n" +" This module will be auto installed if account module and enterprise edition are present\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_account_tax_python msgid "\n" " Allows to use python code to define taxes" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_crm_voip +msgid "\n" +" Automate calls transfers, logs and emails" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hr_maintenance msgid "\n" @@ -221,12 +347,43 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_taxcloud +msgid "\n" +" Compute sales tax automatically using TaxCloud based on customer address in United States.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_pos_cache msgid "\n" " Enable a cache on products for a lower POS loading time." msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_hr_expense_sepa +msgid "\n" +" Enable the SEPA features in the payments of expenses\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_sepa +msgid "\n" +" Generate payment orders as recommended by the SEPA norm, thanks to pain.001 messages. Supported pain version (countries) are pain.001.001.03 (generic), pain.001.001.03.ch.02 (Switzerland) and pain.001.003.03 (Germany). The generated XML file can then be uploaded to your bank.\n" +"\n" +" This module follow the implementation guidelines issued by the European Payment Council.\n" +" For more informations about the SEPA standards : http://www.iso20022.org/ and http://www.europeanpaymentscouncil.eu/\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_voip +msgid "\n" +" Long description of module's purpose\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hr_expense_check msgid "\n" @@ -234,6 +391,20 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_voip +msgid "\n" +" Technical core for all the modules using the VOIP system." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_voip +msgid "\n" +" Technical core for all the modules using the VOIP system. \n" +" Contains the library needed in order to make the VOIP usable by other modules.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_stock_calendar msgid "\n" @@ -269,12 +440,52 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_stock_barcode +msgid "\n" +" This module adds support for barcodes scanning to the warehouse management system.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_online_sync +msgid "\n" +" This module is used for Online bank synchronization." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_online_sync +msgid "\n" +" This module is used for Online bank synchronization. It provides basic methods to synchronize bank statement.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_mobile +msgid "\n" +" This module provides the core of the Odoo Mobile App.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_maintenance msgid "\n" " Track equipment and manage maintenance requests." msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_account_plaid +msgid "\n" +" Use Plaid.com to retrieve bank statements" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_plaid +msgid "\n" +" Use Plaid.com to retrieve bank statements.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hr_recruitment_survey msgid "\n" @@ -284,6 +495,14 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_timesheet_grid_sale +msgid "\n" +" When invoicing timesheets, allows invoicing either all timesheets\n" +" linked to an SO, or only the validated timesheets\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_multilang msgid "\n" @@ -303,6 +522,13 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_quality_mrp +msgid "\n" +" Adds workcenters to Quality Control\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_test_documentation_examples msgid "\n" @@ -319,6 +545,13 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_hr_holidays_gantt +msgid "\n" +" Gantt view for Leaves Dashboard\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hr_timesheet_attendance msgid "\n" @@ -335,6 +568,26 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_project_forecast +msgid "\n" +" Resource management for Project\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_sale_ebay +msgid "\n" +" Publish your products on eBay" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_forecast_sale +msgid "\n" +"* Automatically enables forecasting on projects created from sale orders\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_report_intrastat msgid "\n" @@ -356,6 +609,17 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_contract_dashboard +msgid "\n" +"Accounting Contract Dashboard\n" +"========================\n" +"It adds dashboards to :\n" +"1) Analyse the recurrent revenue and other metrics for contracts\n" +"2) Analyse the contracts modifications by salesman and compute their value.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_be_hr_payroll_account msgid "\n" @@ -364,6 +628,153 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_reports +msgid "\n" +"Accounting Reports\n" +"====================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ar_reports +msgid "\n" +"Accounting reports for Argentina\n" +"================================\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_bo_reports +msgid "\n" +"Accounting reports for Bolivia\n" +"================================\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_co_reports +msgid "\n" +"Accounting reports for Colombia\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_hr_reports +msgid "\n" +"Accounting reports for Croatia\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_de_skr03_reports +msgid "\n" +"Accounting reports for Deutschland\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_de_skr04_reports +msgid "\n" +"Accounting reports for Deutschland SKR04\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_et_reports +msgid "\n" +"Accounting reports for Ethiopia\n" +"================================\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_fr_reports +msgid "\n" +"Accounting reports for France\n" +"================================\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_gr_reports +msgid "\n" +"Accounting reports for Greece\n" +"=============================\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_in_reports +msgid "\n" +"Accounting reports for India\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_jp_reports +msgid "\n" +"Accounting reports for Japan\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_lu_reports +msgid "\n" +"Accounting reports for Luxembourg\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ma_reports +msgid "\n" +"Accounting reports for Maroc\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_no_reports +msgid "\n" +"Accounting reports for Norway\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_pl_reports +msgid "\n" +"Accounting reports for Poland\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_sg_reports +msgid "\n" +"Accounting reports for Singapore\n" +"================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_th_reports +msgid "\n" +"Accounting reports for Thailand\n" +"================================\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_mass_mailing msgid "\n" @@ -522,6 +933,16 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_account +msgid "\n" +"Analytic Accounting in MRP\n" +"==========================\n" +"\n" +"* Cost structure report\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_ar msgid "\n" @@ -588,6 +1009,16 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_l10n_au_reports +msgid "\n" +"Australian Accounting Reports\n" +"=============================\n" +"\n" +"GST Reporting for Australian Accounting.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_base_gengo msgid "\n" @@ -671,6 +1102,17 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_batch_deposit +msgid "\n" +"Batch Deposit\n" +"=============\n" +"Batch deposits allows you to group received checks before you deposit them to the bank.\n" +"The amount deposited to your bank will then appear as a single transaction on your bank statement.\n" +"When you proceed with the reconciliation, simply select the corresponding batch deposit to reconcile the payments.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_be_hr_payroll msgid "\n" @@ -689,6 +1131,28 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_pos_blackbox_be +msgid "\n" +"Belgian Registered Cash Register\n" +"================================\n" +"\n" +"This module turns the Point Of Sale module into a certified Belgian cash register.\n" +"\n" +"More info:\n" +" * http://www.systemedecaisseenregistreuse.be/\n" +" * http://www.geregistreerdkassasysteem.be/\n" +"\n" +"Legal\n" +"-----\n" +"**The use of pos_blackbox_be sources is only certified on odoo.com SaaS platform\n" +"for version 9.0.**\n" +"An obfuscated and certified version of the pos_blackbox_be may be provided on\n" +"requests for on-premise installations.\n" +"No modified version is certified and supported by Odoo SA.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_bo msgid "\n" @@ -921,6 +1385,13 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mass_mailing_themes +msgid "\n" +"Design gorgeous mails\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_de #: model:ir.module.module,description:base.module_l10n_de_skr03 @@ -1181,6 +1652,18 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mail_push +msgid "\n" +"Google Firebase Messaging Integration\n" +"=====================================\n" +"This module allows to send FCM push notification on registered mobiles\n" +"for every message in chatter.\n" +"\n" +"**Configure your API keys from General Setting**\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hw_proxy msgid "\n" @@ -1195,6 +1678,35 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_helpdesk +msgid "\n" +"Helpdesk - Ticket Management App\n" +"================================\n" +"\n" +"Features:\n" +"\n" +" - Process tickets through different stages to solve them.\n" +" - Add priorities, types, descriptions and tags to define your tickets.\n" +" - Use the chatter to communicate additional information and ping co-workers on tickets.\n" +" - Enjoy the use of an adapted dashboard, and an easy-to-use kanban view to handle your tickets.\n" +" - Make an in-depth analysis of your tickets through the pivot view in the reports menu.\n" +" - Create a team and define its members, use an automatic assignation method if you wish.\n" +" - Use a mail alias to automatically create tickets and communicate with your customers.\n" +" - Add Service Level Agreement deadlines automatically to your tickets.\n" +" - Get customer feedback by using ratings.\n" +" - Install additional features easily using your team form view.\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_timesheet_sheet_timesheet_grid +msgid "\n" +"Hide hr_timesheet_sheet menu items.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_hr msgid "\n" @@ -1344,6 +1856,19 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_maintenance +msgid "\n" +"Maintenance in MRP\n" +"==================\n" +"* Preventive vs corrective maintenance\n" +"* Define different stages for your maintenance requests\n" +"* Plan maintenance requests (also recurring preventive)\n" +"* Equipments related to workcenters\n" +"* MTBF, MTTR, ...\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_stock_dropshipping msgid "\n" @@ -1553,6 +2078,25 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_mps +msgid "\n" +"Master Production Schedule\n" +"==========================\n" +"\n" +"Sometimes you need to create the purchase orders for the components of\n" +"manufacturing orders that will only be created later. Or for production orders\n" +"where you will only have the sale orders later. The solution is to predict\n" +"your sale forecasts and based on that you will already create some production\n" +"orders or purchase orders.\n" +"\n" +"You need to choose the products you want to add to the report. You can choose\n" +"the period for the report: day, week, month, ... It is also possible to define\n" +"safety stock, min/max to supply and to manually override the amount you will\n" +"procure.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_mx msgid "\n" @@ -1600,6 +2144,133 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_reports_followup +msgid "\n" +"Module to automate letters for unpaid invoices, with multi-level recalls.\n" +"=========================================================================\n" +"\n" +"You can define your multiple levels of recall through the menu:\n" +"---------------------------------------------------------------\n" +" Configuration / Follow-up / Follow-up Levels\n" +" \n" +"Once it is defined, you can automatically print recalls every day through simply clicking on the menu:\n" +"------------------------------------------------------------------------------------------------------\n" +" Payment Follow-Up / Send Email and letters\n" +"\n" +"It will generate a PDF / send emails / set manual actions according to the the different levels \n" +"of recall defined. You can define different policies for different companies. \n" +"\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_bank_statement_import_camt +msgid "\n" +"Module to import CAMT bank statements.\n" +"======================================\n" +"\n" +"Improve the import of bank statement feature to support the SEPA recommanded Cash Management format (CAMT.053).\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_coda +msgid "\n" +"Module to import CODA bank statements.\n" +"======================================\n" +"\n" +"Supported are CODA flat files in V2 format from Belgian bank accounts.\n" +"----------------------------------------------------------------------\n" +" * CODA v1 support.\n" +" * CODA v2.2 support.\n" +" * Foreign Currency support.\n" +" * Support for all data record types (0, 1, 2, 3, 4, 8, 9).\n" +" * Parsing & logging of all Transaction Codes and Structured Format\n" +" Communications.\n" +" * Automatic Financial Journal assignment via CODA configuration parameters.\n" +" * Support for multiple Journals per Bank Account Number.\n" +" * Support for multiple statements from different bank accounts in a single\n" +" CODA file.\n" +" * Support for 'parsing only' CODA Bank Accounts (defined as type='info' in\n" +" the CODA Bank Account configuration records).\n" +" * Multi-language CODA parsing, parsing configuration data provided for EN,\n" +" NL, FR.\n" +"\n" +"The machine readable CODA Files are parsed and stored in human readable format in\n" +"CODA Bank Statements. Also Bank Statements are generated containing a subset of\n" +"the CODA information (only those transaction lines that are required for the\n" +"creation of the Financial Accounting records). The CODA Bank Statement is a\n" +"'read-only' object, hence remaining a reliable representation of the original\n" +"CODA file whereas the Bank Statement will get modified as required by accounting\n" +"business processes.\n" +"\n" +"CODA Bank Accounts configured as type 'Info' will only generate CODA Bank Statements.\n" +"\n" +"A removal of one object in the CODA processing results in the removal of the\n" +"associated objects. The removal of a CODA File containing multiple Bank\n" +"Statements will also remove those associated statements.\n" +"\n" +"Instead of a manual adjustment of the generated Bank Statements, you can also\n" +"re-import the CODA after updating the OpenERP database with the information that\n" +"was missing to allow automatic reconciliation.\n" +"\n" +"Remark on CODA V1 support:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"In some cases a transaction code, transaction category or structured\n" +"communication code has been given a new or clearer description in CODA V2.The\n" +"description provided by the CODA configuration tables is based upon the CODA\n" +"V2.2 specifications.\n" +"If required, you can manually adjust the descriptions via the CODA configuration menu.\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_bank_statement_import_csv +msgid "\n" +"Module to import CSV bank statements.\n" +"======================================\n" +"\n" +"This module allows you to import CSV Files in Odoo: they are parsed and stored in human readable format in\n" +"Accounting \\ Bank and Cash \\ Bank Statements.\n" +"\n" +"Important Note\n" +"---------------------------------------------\n" +"Because of the CSV format limitation, we cannot ensure the same transactions aren't imported several times or handle multicurrency.\n" +"Whenever possible, you should use a more appropriate file format like OFX.\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_bank_statement_import_ofx +msgid "\n" +"Module to import OFX bank statements.\n" +"======================================\n" +"\n" +"This module allows you to import the machine readable OFX Files in Odoo: they are parsed and stored in human readable format in\n" +"Accounting \\ Bank and Cash \\ Bank Statements.\n" +"\n" +"Bank Statements may be generated containing a subset of the OFX information (only those transaction lines that are required for the\n" +"creation of the Financial Accounting records).\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_bank_statement_import_qif +msgid "\n" +"Module to import QIF bank statements.\n" +"======================================\n" +"\n" +"This module allows you to import the machine readable QIF Files in Odoo: they are parsed and stored in human readable format in\n" +"Accounting \\ Bank and Cash \\ Bank Statements.\n" +"\n" +"Important Note\n" +"---------------------------------------------\n" +"Because of the QIF format limitation, we cannot ensure the same transactions aren't imported several times or handle multicurrency.\n" +"Whenever possible, you should use a more appropriate file format like OFX.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_sale_expense msgid "\n" @@ -1700,6 +2371,26 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_web_enterprise +msgid "\n" +"Odoo Enterprise Web Client.\n" +"===========================\n" +"\n" +"This module modifies the web addon to provide Enterprise design and responsiveness.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_website_form_editor +msgid "\n" +"Odoo Form Editor\n" +"====================\n" +"\n" +"Allows you to build web forms on the website using the website builder.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_mail_channel msgid "\n" @@ -1837,6 +2528,24 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_web_gantt +msgid "\n" +"OpenERP Web Gantt chart view.\n" +"=============================\n" +"\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_website_version +msgid "\n" +"OpenERP Website CMS\n" +"===================\n" +"\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_web_diagram msgid "\n" @@ -1871,6 +2580,13 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_enterprise +msgid "\n" +"Override community website features\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_pa msgid "\n" @@ -1892,6 +2608,27 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_hr_appraisal +msgid "\n" +"Periodical Employees appraisal\n" +"==============================================\n" +"\n" +"By using this application you can maintain the motivational process by doing periodical appraisals of your employees performance. The regular assessment of human resources can benefit your people as well your organization.\n" +"\n" +"An appraisal plan can be assigned to each employee. These plans define the frequency and the way you manage your periodic personal appraisal.\n" +"\n" +"Key Features\n" +"------------\n" +"* Ability to create employee's appraisal(s).\n" +"* An appraisal can be created by an employee's manager or automatically based on schedule which is defined in the employee form.\n" +"* The appraisal is done according to a plan in which various surveys can be created. Each survey can be answered by a particular level in the employees hierarchy. The final review and appraisal is done by the manager.\n" +"* Manager, colleague, collaborator, and employee himself/herself receives email to perform a periodical appraisal.\n" +"* Every Appraisal Form filled by employees, colleague, collaborator, can be viewed in a PDF form.\n" +"* Meeting Requests are created manually according to employees appraisals.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_pe msgid "\n" @@ -1943,6 +2680,18 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_plm +msgid "\n" +"Product Life Management\n" +"=======================\n" +"\n" +"* Versioning of Bill of Materials and Routings\n" +"* Different approval flows possible depending on the type of change order\n" +"\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_product_extended msgid "\n" @@ -1960,6 +2709,39 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_sale_ebay +msgid "\n" +"Publish your products on eBay\n" +"==============================================================\n" +"\n" +"The eBay integrator gives you the opportunity to manage your Odoo's products on eBay.\n" +"\n" +"Key Features\n" +"------------\n" +"* Publish products on eBay\n" +"* Revise, relist, end items on eBay\n" +"* Integration with the stock moves\n" +"* Automatic creation of sales order and invoices\n" +"\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_quality +msgid "\n" +"Quality Control\n" +"===============\n" +"\n" +"* Define quality points that will generate quality checks on pickings,\n" +" manufacturing orders or work orders (quality_mrp)\n" +"* Quality alerts can be created independently or related to quality checks\n" +"* Possibility to add a measure to the quality check with a min/max tolerance\n" +"* Define your stages for the quality alerts\n" +"\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_point_of_sale msgid "\n" @@ -2095,6 +2877,15 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_sign +msgid "\n" +"Sign and complete your documents easily. Customize your documents with text and signature fields and send them to your recipients.\n" +"\n" +"Let your customers follow the signature process easily.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_sg msgid "\n" @@ -2132,6 +2923,22 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_web_studio +msgid "\n" +"Studio - Customize Odoo\n" +"=======================\n" +"\n" +"This addon allows the user to customize most element of the user interface, in a\n" +"simple and graphical way. It has two main features:\n" +"\n" +"* create a new application (add module, top level menu item, and default action)\n" +"* customize an existing application (edit menus, actions, views, translations, ...)\n" +"\n" +"Note: Only the admin user is allowed to make those customizations.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_survey_crm msgid "\n" @@ -2176,6 +2983,26 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_account_yodlee +msgid "\n" +"Sync your bank feeds with Yodlee\n" +"================================\n" +"\n" +"Yodlee interface.\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_timesheet_synchro +msgid "\n" +"Synchronization of timesheet entries with the external timesheet application.\n" +"====================================================================\n" +"\n" +"If you use the external timesheet application, this module alows you to synchronize timesheet entries between Odoo and the application.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_account_voucher msgid "\n" @@ -2369,6 +3196,18 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_l10n_do_reports +msgid "\n" +"This is the base module to manage the accounting chart for Dominican Republic.\n" +"==============================================================================\n" +"\n" +"* Chart of Accounts.\n" +"* The Tax Code Chart for Domincan Republic\n" +"* The main taxes used in Domincan Republic\n" +"* Fiscal position for local " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_ec msgid "\n" @@ -2586,6 +3425,18 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_l10n_vn_reports +msgid "\n" +"This is the module to manage the accounting reports for Vietnam in Odoo.\n" +"=========================================================================\n" +"\n" +"This module applies to companies based in Vietnamese Accounting Standard (VAS).\n" +"\n" +"**Credits:** General Solutions.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_rating_project msgid "\n" @@ -2623,6 +3474,14 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_portal_followup +msgid "\n" +"This module adds a followup menu and features to your portal if followup and portal are installed.\n" +"==================================================================================================\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_sale_crm msgid "\n" @@ -2687,6 +3546,15 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_event_barcode +msgid "\n" +"This module adds support for barcodes scanning to the Event management system.\n" +"A barcode is generated for each attendee and printed on the badge. When scanned,\n" +"the registration is confirmed.\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_sale_margin msgid "\n" @@ -2789,6 +3657,21 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_l10n_us_check_printing +msgid "\n" +"This module allows to print your payments on pre-printed check paper.\n" +"You can configure the output (layout, stubs informations, etc.) in company settings, and manage the\n" +"checks numbering (if you use pre-printed checks without numbers) in journal settings.\n" +"\n" +"Supported formats\n" +"-----------------\n" +"- Check on top : Quicken / QuickBooks standard\n" +"- Check on middle: Peachtree standard\n" +"- Check on bottom: ADP standard\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_note msgid "\n" @@ -2839,6 +3722,17 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_sale_contract +msgid "\n" +"This module allows you to manage subscriptions.\n" +"Features:\n" +" - Create & edit subscriptions\n" +" - Modify subscriptions with sales orders\n" +" - Generate invoice automatically at fixed intervals\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_purchase_requisition msgid "\n" @@ -2869,6 +3763,21 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_print_docsaway +msgid "\n" +"This module allows you to send your documents through postal mail, thanks to Docsaway.\n" +"======================================================================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_contract_asset +msgid "\n" +"This module allows you to set a deferred revenue on your subscription contracts.\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_rating_project_issue msgid "\n" @@ -3012,6 +3921,7 @@ msgstr "" #. module: base #: model:ir.module.module,description:base.module_l10n_at +#: model:ir.module.module,description:base.module_l10n_at_reports msgid "\n" "This module provides the standard Accounting Chart for Austria which is based on the Template from BMF.gv.at.\n" "============================================================================================================= \n" @@ -3132,6 +4042,17 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_contract +msgid "\n" +"Use this app to manage Subscriptions:\n" +"Features:\n" +" - Create & edit susbcriptions with sales orders (automatic creation on confirmation)\n" +" - Generate invoice and credit card payments automatically at fixed intervals\n" +" - Let your customer edit their subscriptions themselves (options, close their contract) with granular control\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_sales_team msgid "\n" @@ -3212,6 +4133,18 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_helpdesk_forum +msgid "\n" +"Website Forum integration for the helpdesk module\n" +"===============================================\n" +"\n" +" Allow your teams to have a related forum to answer customer questions.\n" +" Transform tickets into questions on the forum with a single click.\n" +"\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_gengo msgid "\n" @@ -3222,6 +4155,20 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_helpdesk_livechat +msgid "\n" +"Website IM Livechat integration for the helpdesk module\n" +"====================================================\n" +"\n" +"Features:\n" +"\n" +" - Have a team-related livechat channel to answer your customer's questions.\n" +" - Create new tickets with ease using commands in the channel.\n" +"\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_im_livechat msgid "\n" @@ -3236,6 +4183,17 @@ msgid "\n" " " msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_helpdesk_slides +msgid "\n" +"Website Slides integration for the helpdesk module\n" +"===============================================\n" +"\n" +" Add slide presentations to your team so customers seeking help can see them those before submitting new tickets.\n" +"\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_membership msgid "\n" @@ -3244,6 +4202,17 @@ msgid "\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_helpdesk_form +msgid "\n" +"Website form integration for the helpdesk module\n" +"===============================================\n" +"\n" +" Allow customers to easily submit tickets through a form on your website.\n" +"\n" +" " +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_links msgid "\n" @@ -3282,6 +4251,27 @@ msgid "\n" "payments acquirer using Worldline SIPS." msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_crm_score +msgid " Lead Scoring\n" +"===================\n" +"\n" +"This module allows you to...\n" +" - Track specific page view on your website.\n" +" - Assign score on lead: sort your lead automatically and consider the more important at first.\n" +" - Assign lead to salesteams: define your own filters and sort automatically your leads by saleteam.\n" +" - Assign lead to salesmen: define filter by saleman and dispatch automatically your leads to the right saleman.\n" +"" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_inter_company_rules +msgid " Module for synchronization of Documents between several companies. For example, this allow you to have a Sale Order created automatically when a Purchase Order is validated with another company of the system as vendor, and inversely.\n" +"\n" +" Supported documents are SO, PO and invoices/refunds.\n" +"" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.res_lang_form msgid "%A - Full weekday name." @@ -3849,6 +4839,16 @@ msgstr "" msgid "Account Charts" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_contract_dashboard +msgid "Account Contract Dashboard" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_extension +msgid "Account Extension" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_partner_bank_partner_id msgid "Account Holder" @@ -3879,6 +4879,21 @@ msgstr "" msgid "Account Tax Cash Basis" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_taxcloud +msgid "Account TaxCloud" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_sale_account_taxcloud +msgid "Account TaxCloud - Ecommerce" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_account_taxcloud +msgid "Account TaxCloud - Sale" +msgstr "" + #. module: base #: model:ir.module.category,name:base.module_category_accounting msgid "Accounting" @@ -3894,11 +4909,21 @@ msgstr "" msgid "Accounting & Finance" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_account +msgid "Accounting - MRP" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_account_test msgid "Accounting Consistency Tests" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_reports +msgid "Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_account_accountant msgid "Accounting and Finance" @@ -4086,11 +5111,31 @@ msgstr "" msgid "Add Delivery Costs to Online Sales" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_project_forecast_grid +msgid "Add Grid view on Project Forecasts" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_report_xml_header msgid "Add RML Header" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_stock_barcode +msgid "Add barcode scanning facilities to Warehouse Management." +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_mrp_barcode +msgid "Add barcode scanning facilities to manufacturing" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_event_barcode +msgid "Add barcode scanning feature to event management." +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_server_action_form msgid "Add in the 'More' menu" @@ -4292,6 +5337,16 @@ msgstr "" msgid "Allow to have cash basis on tax" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_website_version +msgid "Allow to save all the versions of your website and allow to perform AB testing." +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_website_helpdesk_form +msgid "Allow website visitors to submit tickets through a form" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_users_form msgid "Allowed Companies" @@ -4307,6 +5362,11 @@ msgstr "" msgid "Allows you to create your invoices and track the payments. It is an easier version of the accounting module for managers who are not accountants." msgstr "" +#. module: base +#: model:ir.actions.act_window,help:base.action_attachment +msgid "Also you will find here all the related documents and download it by clicking on any individual document." +msgstr "" + #. module: base #: code:addons/base/ir/ir_fields.py:378 #, python-format @@ -4333,6 +5393,11 @@ msgstr "" msgid "Analytic Accounting" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mrp_account +msgid "Analytic accounting in Manufacturing" +msgstr "" + #. module: base #: selection:workflow.activity,join_mode:0 #: selection:workflow.activity,split_mode:0 @@ -4498,6 +5563,11 @@ msgstr "" msgid "Argentina - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ar_reports +msgid "Argentina - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_cron_args msgid "Arguments" @@ -4603,6 +5673,11 @@ msgstr "" msgid "Australian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_au_reports +msgid "Australian - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.at msgid "Austria" @@ -4610,6 +5685,7 @@ msgstr "" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_at +#: model:ir.module.module,shortdesc:base.module_l10n_at_reports msgid "Austria - Accounting" msgstr "" @@ -4676,6 +5752,12 @@ msgstr "" msgid "Azerbaijan" msgstr "" +#. module: base +#: code:addons/translate.py:1069 +#, python-format +msgid "Bad file format: %s" +msgstr "" + #. module: base #: model:res.country,name:base.bs msgid "Bahamas" @@ -4741,12 +5823,6 @@ msgstr "" msgid "Banks" msgstr "" -#. module: base -#: model:ir.model.fields,help:base.field_res_partner_barcode -#: model:ir.model.fields,help:base.field_res_users_barcode -msgid "BarCode" -msgstr "" - #. module: base #: model:res.country,name:base.bb msgid "Barbados" @@ -4838,6 +5914,16 @@ msgstr "" msgid "Base view" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_grid +msgid "Basic 2D Grid view for odoo" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_batch_deposit +msgid "Batch Deposit" +msgstr "" + #. module: base #: selection:res.currency,position:0 msgid "Before Amount" @@ -4853,6 +5939,11 @@ msgstr "" msgid "Belgian Intrastat Declaration" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_pos_blackbox_be +msgid "Belgian Registered Cash Register" +msgstr "" + #. module: base #: model:res.country,name:base.be msgid "Belgium" @@ -4863,6 +5954,16 @@ msgstr "" msgid "Belgium - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_reports +msgid "Belgium - Accounting Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_coda +msgid "Belgium - Import Bank CODA Statements" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll msgid "Belgium - Payroll" @@ -4898,6 +5999,11 @@ msgstr "" msgid "Bhutan" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mrp_plm +msgid "Bill of Materials, Routings, Versions, Engineering Change Orders" +msgstr "" + #. module: base #: selection:ir.property,type:0 #: model:ir.ui.view,arch_db:base.view_attachment_search @@ -4924,6 +6030,11 @@ msgstr "" msgid "Bolivia - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_bo_reports +msgid "Bolivia - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.bq msgid "Bonaire, Sint Eustatius and Saba" @@ -4964,11 +6075,28 @@ msgstr "" msgid "Brazilian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_br_reports +msgid "Brazilian - Accounting Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_forecast_grid +msgid "Bridge module between Project Forecast and Grid View\n" +"" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_payment msgid "Bridge module for acquirers and website." msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_website_helpdesk +#: model:ir.module.module,summary:base.module_website_helpdesk +msgid "Bridge module for helpdesk modules using the website." +msgstr "" + #. module: base #: model:res.country,name:base.io msgid "British Indian Ocean Territory" @@ -5000,6 +6128,11 @@ msgstr "" msgid "Build Your Enterprise Website" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_website_form_editor +msgid "Build custom web forms using the website builder" +msgstr "" + #. module: base #: model:res.country,name:base.bg msgid "Bulgaria" @@ -5350,6 +6483,11 @@ msgstr "" msgid "Chile - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_cl_reports +msgid "Chile - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.cn msgid "China" @@ -5391,13 +6529,13 @@ msgid "City" msgstr "" #. module: base -#: model:ir.actions.act_window,help:base.action_attachment -msgid "Click here to attach a new document." +#: model:ir.actions.act_window,help:base.action_ui_view_custom +msgid "Click here to create a customized view" msgstr "" #. module: base -#: model:ir.actions.act_window,help:base.action_ui_view_custom -msgid "Click here to create a customized view" +#: model:ir.actions.act_window,help:base.action_attachment +msgid "Click here to create new documents." msgstr "" #. module: base @@ -5494,6 +6632,11 @@ msgstr "" msgid "Colombian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_co_reports +msgid "Colombian - Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_co msgid "Colombian Accounting and Tax Preconfiguration" @@ -5717,6 +6860,11 @@ msgstr "" msgid "Configuration Wizards" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_timesheet_grid_sale +msgid "Configure timesheet invoicing" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_base_module_upgrade msgid "Confirm" @@ -5973,11 +7121,6 @@ msgstr "" msgid "Create Access Right" msgstr "" -#. module: base -#: model:ir.model.fields,field_description:base.field_res_users_create_date -msgid "Create Date" -msgstr "" - #. module: base #: model:ir.module.module,summary:base.module_website_issue msgid "Create Issues From Contact Form" @@ -6200,6 +7343,7 @@ msgstr "" #: model:ir.model.fields,field_description:base.field_res_partner_create_date #: model:ir.model.fields,field_description:base.field_res_partner_title_create_date #: model:ir.model.fields,field_description:base.field_res_request_link_create_date +#: model:ir.model.fields,field_description:base.field_res_users_create_date #: model:ir.model.fields,field_description:base.field_res_users_log_create_date #: model:ir.model.fields,field_description:base.field_wizard_ir_model_menu_create_create_date #: model:ir.model.fields,field_description:base.field_wkf_activity_create_date @@ -6244,6 +7388,11 @@ msgstr "" msgid "Croatia - Accounting (RRIF 2012)" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_hr_reports +msgid "Croatia - RRIF 2012 COA - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.cu msgid "Cuba" @@ -6411,6 +7560,11 @@ msgstr "" msgid "Czech Republic" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery_dhl +msgid "DHL Shipping" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_board #: model:ir.ui.menu,name:base.menu_board_root @@ -6519,18 +7673,6 @@ msgstr "" msgid "Days" msgstr "" -#. module: base -#: model:res.company,overdue_msg:base.main_company -msgid "Dear Sir/Madam,\n" -"\n" -"Our records indicate that some payments on your account are still due. Please find details below.\n" -"If the amount has already been paid, please disregard this notice. Otherwise, please forward us the total amount stated below.\n" -"If you have any queries regarding your account, Please contact us.\n" -"\n" -"Thank you in advance for your cooperation.\n" -"Best Regards," -msgstr "" - #. module: base #: model:ir.model.fields,field_description:base.field_ir_mail_server_smtp_debug msgid "Debugging" @@ -6587,6 +7729,11 @@ msgstr "" msgid "Default website theme to showcase customization possibilities." msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_contract_asset +msgid "Deferred revenue management for contracts" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_account_tax_python msgid "Define Taxes as Python Code" @@ -6668,6 +7815,11 @@ msgstr "" msgid "Description HTML" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mass_mailing_themes +msgid "Design gorgeous mails" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_mass_mailing msgid "Design, send and track emails" @@ -6709,16 +7861,31 @@ msgstr "" msgid "Deutschland SKR03 - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_de_skr03_reports +msgid "Deutschland SKR03 - Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_de_skr04 msgid "Deutschland SKR04 - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_de_skr04_reports +msgid "Deutschland SKR04 - Accounting Reports" +msgstr "" + #. module: base #: selection:ir.ui.view,type:0 msgid "Diagram" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_sign +msgid "Digital Signatures" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_lang_direction msgid "Direction" @@ -6933,6 +8100,7 @@ msgstr "" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_do +#: model:ir.module.module,shortdesc:base.module_l10n_do_reports msgid "Dominican Republic - Accounting" msgstr "" @@ -7066,6 +8234,11 @@ msgstr "" msgid "Employee" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_appraisal +msgid "Employee Appraisals" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_hr_contract msgid "Employee Contracts" @@ -7093,6 +8266,15 @@ msgstr "" msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_workorder +msgid "Enterprise extension for MRP\n" +"\n" +"* Work order planning. Check planning by Gantt views grouped by production order / work center\n" +"* Traceability report\n" +"* Cost Structure report (mrp_account)" +msgstr "" + #. module: base #: model:res.country,name:base.gq msgid "Equatorial Guinea" @@ -7166,11 +8348,21 @@ msgstr "" msgid "Ethiopia - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_et_reports +msgid "Ethiopia - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_server_object_lines_type msgid "Evaluation Type" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_event_barcode +msgid "Event Barcode Scanning" +msgstr "" + #. module: base #: model:ir.module.category,name:base.module_category_event_management msgid "Events" @@ -7273,6 +8465,16 @@ msgstr "" msgid "Export Translations" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_hr_expense_sepa +msgid "Export expenses payments as SEPA Credit Transfer files" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_sepa +msgid "Export payments as SEPA Credit Transfer files" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_server_write_expression msgid "Expression" @@ -7386,6 +8588,11 @@ msgstr "" msgid "Fed. States" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery_fedex +msgid "Fedex Shipping" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_l10n_fr_fec msgid "Fichier d'Échange Informatisé (FEC) for France" @@ -7644,6 +8851,11 @@ msgstr "" msgid "Finland" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mail_push +msgid "Firebase Cloud Messaging" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_fleet msgid "Fleet Management" @@ -7723,19 +8935,24 @@ msgid "For relationship fields, the technical name of the target model" msgstr "" #. module: base -#: code:addons/base/ir/ir_model.py:477 +#: code:addons/base/ir/ir_model.py:531 #, python-format msgid "For selection fields, the Selection Options must be given!" msgstr "" #. module: base -#: code:addons/models.py:3294 +#: code:addons/models.py:3309 #, python-format msgid "For this kind of document, you may only access records you created yourself.\n" "\n" "(Document type: %s)" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_forecast_grid +msgid "Forecast Grid View" +msgstr "" + #. module: base #: selection:ir.actions.act_window,view_type:0 #: selection:ir.actions.act_window.view,view_mode:0 @@ -7792,6 +9009,11 @@ msgstr "" msgid "France - Accounting - Certified CGI 286 I-3 bis" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_fr_reports +msgid "France - Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_fr_fec msgid "France - FEC" @@ -7886,6 +9108,11 @@ msgstr "" msgid "Gantt" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_hr_holidays_gantt +msgid "Gantt view for Leaves Dashboard" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_web_kanban_gauge msgid "Gauge Widget for Kanban" @@ -8016,6 +9243,11 @@ msgstr "" msgid "Greece - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_gr_reports +msgid "Greece - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.gl msgid "Greenland" @@ -8026,6 +9258,22 @@ msgstr "" msgid "Grenada" msgstr "" +#. module: base +#: selection:ir.actions.act_window.view,view_mode:0 +#: selection:ir.ui.view,type:0 +msgid "Grid" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_grid +msgid "Grid View" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_timesheet_grid +msgid "Grid View for Timesheets" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_model_access_group_id #: model:ir.ui.view,arch_db:base.ir_access_view_search @@ -8217,6 +9465,17 @@ msgstr "" msgid "Help with Python expressions." msgstr "" +#. module: base +#: model:ir.module.category,name:base.module_category_helpdesk +#: model:ir.module.module,shortdesc:base.module_helpdesk +msgid "Helpdesk" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_helpdesk_forum +msgid "Helpdesk: Knowledge Base" +msgstr "" + #. module: base #: model:ir.module.category,description:base.module_category_point_of_sale msgid "Helps you get the most out of your points of sale with fast sale encoding, simplified payment mode encoding, automatic picking lists generation and more." @@ -8416,6 +9675,11 @@ msgstr "" msgid "Hungarian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_hu_reports +msgid "Hungarian - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.hu msgid "Hungary" @@ -8525,11 +9789,6 @@ msgstr "" msgid "ID" msgstr "" -#. module: base -#: model:ir.model.fields,help:base.field_ir_act_server_xml_id -msgid "ID of the action if defined in a XML file" -msgstr "" - #. module: base #: model:ir.model.fields,help:base.field_ir_model_data_res_id msgid "ID of the target record in the database" @@ -8709,11 +9968,36 @@ msgstr "" msgid "Implementation" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_pos_blackbox_be +msgid "Implements the registered cash system, adhering to guidelines by FPS Finance." +msgstr "" + #. module: base #: model:ir.ui.menu,name:base.menu_translation_export msgid "Import / Export" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_bank_statement_import_camt +msgid "Import CAMT Bank Statement" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_bank_statement_import_csv +msgid "Import CSV Bank Statement" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_bank_statement_import_ofx +msgid "Import OFX Bank Statement" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_bank_statement_import_qif +msgid "Import QIF Bank Statement" +msgstr "" + #. module: base #: model:ir.actions.act_window,name:base.action_view_base_import_language #: model:ir.ui.menu,name:base.menu_view_base_import_language @@ -8721,6 +10005,12 @@ msgstr "" msgid "Import Translation" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_currency_rate_live +msgid "Import exchange rates from the Internet.\n" +"" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_model_fields_modules #: model:ir.model.fields,field_description:base.field_ir_model_modules @@ -8777,6 +10067,11 @@ msgstr "" msgid "Indian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_in_reports +msgid "Indian - Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_in_schedule6 msgid "Indian - Schedule VI Accounting" @@ -8924,11 +10219,21 @@ msgstr "" msgid "Integer" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_inter_company_rules +msgid "Inter Company Module for Sale/Purchase Orders and Invoices" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_rule_form msgid "Interaction between rules" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_inter_company_rules +msgid "Intercompany SO/PO/INV rules" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_groups_search msgid "Internal Groups" @@ -9187,6 +10492,11 @@ msgstr "" msgid "Japan - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_jp_reports +msgid "Japan - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.je msgid "Jersey" @@ -9272,6 +10582,11 @@ msgstr "" msgid "Kiribati" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_website_helpdesk_forum +msgid "Knowledge base for helpdesk based on Odoo Forum" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_l10n_si msgid "Kontni načrt za gospodarske družbe" @@ -9649,6 +10964,11 @@ msgstr "" msgid "Lead Automation" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_crm_score +msgid "Lead Scoring" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_crm_project_issue msgid "Lead to Issue" @@ -9664,6 +10984,11 @@ msgstr "" msgid "Leave Management" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_holidays_gantt +msgid "Leaves Gantt" +msgstr "" + #. module: base #: model:res.country,name:base.lb msgid "Lebanon" @@ -9735,6 +11060,11 @@ msgstr "" msgid "Link Tracker" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_forecast_sale +msgid "Link module between project_forecast and sale(_timesheet)" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_server_link_field_id msgid "Link using field" @@ -9760,6 +11090,11 @@ msgstr "" msgid "Lithuania" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_currency_rate_live +msgid "Live Currency Exchange Rate" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_base_language_install msgid "Load" @@ -9810,6 +11145,16 @@ msgstr "" msgid "Logs" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_pos_loyalty +msgid "Loyalty Program" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_pos_loyalty +msgid "Loyalty Program for the Point of Sale " +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_lunch msgid "Lunch" @@ -9830,11 +11175,21 @@ msgstr "" msgid "Luxembourg - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_lu_reports +msgid "Luxembourg - Accounting Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_mrp_byproduct msgid "MRP Byproducts" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_quality_mrp +msgid "MRP features for Quality Control" +msgstr "" + #. module: base #: model:res.country,name:base.mo msgid "Macau" @@ -9894,6 +11249,11 @@ msgstr "" msgid "Maintainer" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_maintenance +msgid "Maintenance - MRP" +msgstr "" + #. module: base #: model:res.country,name:base.mw msgid "Malawi" @@ -9968,6 +11328,11 @@ msgstr "" msgid "Manufacturing" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_barcode +msgid "Manufacturing Barcode Scanning" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_mrp msgid "Manufacturing Orders, Bill of Materials, Routings" @@ -10028,6 +11393,11 @@ msgstr "" msgid "Maroc - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ma_reports +msgid "Maroc - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.mh msgid "Marshall Islands" @@ -10048,6 +11418,17 @@ msgstr "" msgid "Mass Mailing Campaigns" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mass_mailing_themes +msgid "Mass Mailing Themes" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_mps +#: model:ir.module.module,summary:base.module_mrp_mps +msgid "Master Production Schedule" +msgstr "" + #. module: base #: model:res.country,name:base.mr msgid "Mauritania" @@ -10221,6 +11602,8 @@ msgstr "" #. module: base #: model:ir.model.fields,field_description:base.field_res_partner_mobile #: model:ir.model.fields,field_description:base.field_res_users_mobile +#: model:ir.module.category,name:base.module_category_mobile +#: model:ir.module.module,shortdesc:base.module_web_mobile msgid "Mobile" msgstr "" @@ -10401,6 +11784,13 @@ msgstr "" msgid "Module dependency" msgstr "" +#. module: base +#: code:addons/convert.py:895 +#, python-format +msgid "Module loading %s failed: file %s could not be processed:\n" +" %s" +msgstr "" + #. module: base #: model:ir.model.fields,help:base.field_ir_translation_module msgid "Module this term belongs to" @@ -10478,6 +11868,11 @@ msgstr "" msgid "Mr." msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_workorder +msgid "Mrp Workorder" +msgstr "" + #. module: base #: model:res.partner.title,shortcut:base.res_partner_title_madam msgid "Mrs." @@ -10586,6 +11981,11 @@ msgstr "" msgid "Netherlands - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_nl_reports +msgid "Netherlands - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.an msgid "Netherlands Antilles" @@ -10760,6 +12160,11 @@ msgstr "" msgid "Norway - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_no_reports +msgid "Norway - Accounting Reports" +msgstr "" + #. module: base #: selection:ir.module.module,state:0 #: selection:ir.module.module.dependency,state:0 @@ -10825,6 +12230,12 @@ msgstr "" msgid "Object" msgstr "" +#. module: base +#: code:addons/model.py:152 +#, python-format +msgid "Object %s doesn't exist" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_model_fields_model msgid "Object Name" @@ -10846,6 +12257,11 @@ msgstr "" msgid "Odoo Enterprise Edition License v1.0" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_web_mobile +msgid "Odoo Mobile Core module" +msgstr "" + #. module: base #: selection:ir.module.module,license:0 msgid "Odoo Proprietary License v1.0" @@ -10856,6 +12272,11 @@ msgstr "" msgid "Odoo Settings Dashboard" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_voip +msgid "Odoo VOIP" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_web_diagram msgid "Odoo Web Diagram" @@ -11378,6 +12799,11 @@ msgstr "" msgid "Payment Acquirer: Transfer Implementation" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_reports_followup +msgid "Payment Follow-up Management" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_payment #: model:ir.module.module,summary:base.module_website_payment @@ -11406,6 +12832,11 @@ msgstr "" msgid "PayuMoney Payment Acquirer" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_hr_appraisal +msgid "Periodical Appraisal" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_calendar msgid "Personal & Shared Calendar" @@ -11543,6 +12974,11 @@ msgstr "" msgid "Poland - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pl_reports +msgid "Poland - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.pf msgid "Polynesia (French)" @@ -11640,11 +13076,56 @@ msgstr "" msgid "Price Accuracy" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_print +msgid "Print Invoice" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_print_docsaway +msgid "Print Provider : DocsAway" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_print_sale +msgid "Print Sale" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_l10n_us_check_printing +msgid "Print US Checks" +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_hr_expense_check msgid "Print amount in words on checks issued for expenses" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_print_docsaway +msgid "Print and Send Invoices with DocsAway.com" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_print +msgid "Print and Send Provider Base Module" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_print +msgid "Print and Send Provider Base Module. Print and send your invoice with a Postal Provider. This required to install a module implementing a provider." +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_print_sale +msgid "Print and Send Sale Orders" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_print_sale +msgid "Print and Send your Sale Order by Post" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_cron_priority #: model:ir.model.fields,field_description:base.field_ir_mail_server_sequence @@ -11668,6 +13149,11 @@ msgstr "" msgid "Product Email Template" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_plm +msgid "Product Lifecycle Management (PLM)" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_product_extended msgid "Product extension to track sales and purchases" @@ -11706,6 +13192,11 @@ msgstr "" msgid "Project" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_forecast +msgid "Project Forecast" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_rating_project msgid "Project Rating" @@ -11821,6 +13312,11 @@ msgstr "" msgid "Purchases" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mail_push +msgid "Push notification for mobile app" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_wkf_activity_action msgid "Python Action" @@ -11853,6 +13349,21 @@ msgstr "" msgid "Qualifier" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_quality +msgid "Quality Alerts and Control Points" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_quality +msgid "Quality Control" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_quality_mrp +msgid "Quality Management with MRP" +msgstr "" + #. module: base #: model:ir.module.module,description:base.module_website_event_questions #: model:ir.module.module,shortdesc:base.module_website_event_questions @@ -12268,6 +13779,11 @@ msgstr "" msgid "Resource Object" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_project_forecast +msgid "Resource management for Project" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_pos_restaurant msgid "Restaurant" @@ -12298,6 +13814,11 @@ msgstr "" msgid "Reunion (French)" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_deferred_revenue +msgid "Revenue Recognitions Management" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_partner_category_parent_right msgid "Right parent" @@ -12323,6 +13844,11 @@ msgstr "" msgid "Romania - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ro_reports +msgid "Romania - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_currency_rounding msgid "Rounding Factor" @@ -12382,6 +13908,16 @@ msgstr "" msgid "Rwanda" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_sepa +msgid "SEPA Credit Transfer" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_expense_sepa +msgid "SEPA Credit Transfer in Expenses" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_mail_server_smtp_port msgid "SMTP Port" @@ -12468,6 +14004,11 @@ msgstr "" msgid "Sale & Purchase Vouchers" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_ebay +msgid "Sale Ebay" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_sale_service_rating msgid "Sale Service Rating" @@ -12506,6 +14047,11 @@ msgstr "" msgid "Sales Timesheet" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_timesheet_grid_sale +msgid "Sales Timesheet: Grid Support" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_sale_mrp msgid "Sales and MRP Management" @@ -12558,6 +14104,11 @@ msgstr "" msgid "Save as Attachment Prefix" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mrp_maintenance +msgid "Schedule and manage maintenance on machine and tools." +msgstr "" + #. module: base #: model:ir.module.module,summary:base.module_website_event msgid "Schedule, Promote and Sell Events" @@ -12637,6 +14188,12 @@ msgstr "" msgid "See all possible values" msgstr "" +#. module: base +#: code:addons/common.py:42 +#, python-format +msgid "See http://openerp.com" +msgstr "" + #. module: base #: model:ir.model.fields,help:base.field_ir_act_server_model_object_field msgid "Select target field from the related document model.\n" @@ -12701,6 +14258,36 @@ msgstr "" msgid "Send Invoices and Track Payments" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_website_sign +msgid "Send documents to sign online, receive and archive filled copies (esign)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery_dhl +msgid "Send your shippings through DHL and track them online" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery_fedex +msgid "Send your shippings through Fedex and track them online" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery_temando +msgid "Send your shippings through Temando and track them online" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery_ups +msgid "Send your shippings through UPS and track them online" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_delivery_usps +msgid "Send your shippings through USPS and track them online" +msgstr "" + #. module: base #: model:res.country,name:base.sn msgid "Senegal" @@ -12928,6 +14515,11 @@ msgstr "" msgid "Singapore - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_sg_reports +msgid "Singapore - Accounting Reports" +msgstr "" + #. module: base #: model:res.country,name:base.sx msgid "Sint Maarten (Dutch part)" @@ -12968,6 +14560,11 @@ msgstr "" msgid "Slovenian - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_si_reports +msgid "Slovenian - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_partner_image_small #: model:ir.model.fields,field_description:base.field_res_users_image_small @@ -13092,6 +14689,11 @@ msgstr "" msgid "Spain - Accounting (PGCE 2008)" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_es_reports +msgid "Spain - Accounting (PGCE 2008) Reports" +msgstr "" + #. module: base #: model:ir.module.category,name:base.module_category_specific_industry_applications msgid "Specific Industry Applications" @@ -13200,6 +14802,16 @@ msgstr "" msgid "Stock" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_barcode_mobile +msgid "Stock Barcode in Mobile" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_stock_barcode_mobile +msgid "Stock Barcode scan in Mobile" +msgstr "" + #. module: base #: selection:workflow.activity,kind:0 msgid "Stop All" @@ -13253,6 +14865,11 @@ msgstr "" msgid "Stripe Payment Acquirer" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_studio +msgid "Studio" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_server_sub_model_object_field msgid "Sub-field" @@ -13281,6 +14898,21 @@ msgstr "" msgid "Submenus" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_contract +msgid "Subscription Management" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_contract +msgid "Subscription Management (without frontend)" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_website_contract +msgid "Subscriptions Management Frontend for your customers" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_sequence_date_range_ids msgid "Subsequences" @@ -13367,6 +14999,11 @@ msgstr "" msgid "Switzerland - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ch_reports +msgid "Switzerland - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_currency_symbol msgid "Symbol" @@ -13377,6 +15014,11 @@ msgstr "" msgid "Symbol Position" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_timesheet_synchro +msgid "Synchronization with the external timesheet application" +msgstr "" + #. module: base #: model:ir.actions.act_window,name:base.action_wizard_update_translations #: model:ir.ui.menu,name:base.menu_wizard_update_translations @@ -13511,6 +15153,11 @@ msgstr "" msgid "Tax Identification Number. Fill it if the company is subjected to taxes. Used by the some of the legal statements." msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_account_taxcloud +msgid "TaxCloud make it easy for business to comply with sales tax law" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_hr msgid "Team Page" @@ -13555,6 +15202,11 @@ msgstr "" msgid "Technical guide" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery_temando +msgid "Temando Shipping" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_report_xml_report_name msgid "Template Name" @@ -13607,6 +15259,11 @@ msgstr "" msgid "Thailand - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_th_reports +msgid "Thailand - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,help:base.field_res_country_code msgid "The ISO country code in two chars. \n" @@ -13844,6 +15501,14 @@ msgstr "" msgid "The only predefined variables are" msgstr "" +#. module: base +#: code:addons/model.py:125 +#, python-format +msgid "The operation cannot be completed, probably due to the following:\n" +"- deletion: you may be trying to delete a record while other records still reference it\n" +"- creation/update: a mandatory field is not correctly set" +msgstr "" + #. module: base #: model:ir.model.fields,help:base.field_ir_model_fields_domain msgid "The optional domain to restrict possible values for relationship fields, specified as a Python expression defining a list of triplets. For example: [('color','=','red')]" @@ -13911,7 +15576,14 @@ msgid "The state code." msgstr "" #. module: base -#: code:addons/base/ir/ir_model.py:393 +#: code:addons/custom.py:518 +#, python-format +msgid "The sum of the data (2nd field) is null.\n" +"We can't draw a pie chart !" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:419 #, python-format msgid "The table %r if used for other, possibly incompatible fields." msgstr "" @@ -14001,6 +15673,11 @@ msgid "This is the module to manage the accounting chart for Norway in Odoo.\n" "" msgstr "" +#. module: base +#: model:ir.module.module,description:base.module_mrp_barcode +msgid "This module adds support for barcodes scanning to the manufacturing system." +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_base_module_upgrade msgid "This module will trigger the uninstallation of below modules." @@ -14016,11 +15693,31 @@ msgstr "" msgid "Thousands Separator" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_helpdesk +msgid "Ticketing, Support, Issues" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_website_helpdesk_livechat +msgid "Ticketing, Support, Livechat" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_website_helpdesk_slides +msgid "Ticketing, Support, Slides" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_lang_time_format msgid "Time Format" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_timesheet_grid +msgid "Timesheet grid view definition" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_project_timesheet msgid "Timesheet in Website Portal" @@ -14392,6 +16089,16 @@ msgstr "" msgid "UK - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_uk_reports +msgid "UK - Accounting Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery_ups +msgid "UPS Shipping" +msgstr "" + #. module: base #: selection:ir.attachment,type:0 #: model:ir.model.fields,field_description:base.field_ir_module_module_url @@ -14399,6 +16106,11 @@ msgstr "" msgid "URL" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_us_check_printing +msgid "US Check Printing" +msgstr "" + #. module: base #: selection:res.company,rml_paper_format:0 msgid "US Letter" @@ -14491,35 +16203,46 @@ msgstr "" msgid "United States - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_delivery_usps +msgid "United States Postal Service (USPS) Shipping" +msgstr "" + #. module: base #: selection:ir.module.module.dependency,state:0 msgid "Unknown" msgstr "" #. module: base -#: code:addons/models.py:1023 +#: code:addons/models.py:1037 #, python-format msgid "Unknown database identifier '%s'" msgstr "" #. module: base -#: code:addons/models.py:884 +#: code:addons/models.py:898 #, python-format msgid "Unknown error during import:" msgstr "" #. module: base -#: code:addons/base/ir/ir_model.py:338 +#: code:addons/base/ir/ir_model.py:364 #, python-format msgid "Unknown field %r in dependency %r" msgstr "" #. module: base -#: code:addons/base/ir/ir_model.py:295 +#: code:addons/base/ir/ir_model.py:321 #, python-format msgid "Unknown field name '%s' in related field '%s'" msgstr "" +#. module: base +#: code:addons/report_sxw.py:370 +#, python-format +msgid "Unknown report type: %s" +msgstr "" + #. module: base #: code:addons/base/ir/ir_fields.py:349 #, python-format @@ -14532,6 +16255,12 @@ msgstr "" msgid "Unknown value '%s' for boolean field '%%(field)s', assuming '%s'" msgstr "" +#. module: base +#: code:addons/translate.py:690 +#, python-format +msgid "Unrecognized extension: must be one of .csv, .po, or .tgz (received .%s)." +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_translation_search msgid "Untranslated" @@ -14616,6 +16345,11 @@ msgstr "" msgid "Uruguay" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_uy_reports +msgid "Uruguay - Accounts Reports" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_uy msgid "Uruguay - Chart of Accounts" @@ -14769,6 +16503,11 @@ msgstr "" msgid "VAT Number Validation" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_voip +msgid "VOIP Core" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_config_parameter_value #: model:ir.model.fields,field_description:base.field_ir_server_object_lines_value @@ -14870,6 +16609,11 @@ msgstr "" msgid "Vietnam - Accounting" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_vn_reports +msgid "Vietnam - Accounting Reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_act_window_view_view_id #: selection:ir.translation,type:0 @@ -14914,6 +16658,11 @@ msgstr "" msgid "View Type" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_account_reports +msgid "View and create reports" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_ui_view_mode msgid "View inheritance mode" @@ -14997,6 +16746,11 @@ msgstr "" msgid "Warehouse" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_barcode +msgid "Warehouse Management Barcode Scanning" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_stock_picking_wave msgid "Warehouse Management: Waves" @@ -15044,6 +16798,16 @@ msgstr "" msgid "Web Editor" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_enterprise +msgid "Web Enterprise" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_gantt +msgid "Web Gantt" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_ir_ui_menu_web_icon msgid "Web Icon File" @@ -15080,6 +16844,26 @@ msgstr "" msgid "Website Builder" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_enterprise +msgid "Website Enterprise" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_portal_followup +msgid "Website Followup" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_form_editor +msgid "Website Form Builder" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_helpdesk_form +msgid "Website Form Helpdesk" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_gengo msgid "Website Gengo Translator" @@ -15090,6 +16874,16 @@ msgstr "" msgid "Website Google Map" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_helpdesk +msgid "Website Helpdesk" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_helpdesk_livechat +msgid "Website IM Livechat Helpdesk" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_links msgid "Website Link Tracker" @@ -15165,11 +16959,21 @@ msgstr "" msgid "Website Sale Stock - Website Delivery Information" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_helpdesk_slides +msgid "Website Slides Helpdesk" +msgstr "" + #. module: base #: model:ir.module.module,shortdesc:base.module_website_theme_install msgid "Website Theme Install" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_website_version +msgid "Website Versioning" +msgstr "" + #. module: base #: model:ir.model.fields,help:base.field_res_company_website #: model:ir.model.fields,help:base.field_res_partner_website @@ -15279,6 +17083,11 @@ msgstr "" msgid "Work Days" msgstr "" +#. module: base +#: model:ir.module.module,summary:base.module_mrp_workorder +msgid "Work Orders, Planing, Stock Reports." +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_wkf_activity_wkf_id #: model:ir.model.fields,field_description:base.field_wkf_instance_wkf_id @@ -15390,6 +17199,16 @@ msgstr "" msgid "Yemen" msgstr "" +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_yodlee +msgid "Yodlee" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_yodlee +msgid "Yodlee Finance" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_users_simple_form msgid "You are creating a new user. After saving, the user will receive an invite email containing a link to set its password." @@ -16018,6 +17837,12 @@ msgstr "" msgid "no" msgstr "" +#. module: base +#: code:addons/amount_to_text_en.py:98 +#, python-format +msgid "no translation function found for lang: '%s'" +msgstr "" + #. module: base #: model:ir.ui.view,arch_db:base.view_attachment_form msgid "on" @@ -16078,11 +17903,6 @@ msgstr "" msgid "res.users.log" msgstr "" -#. module: base -#: model:ir.ui.view,arch_db:base.view_server_action_form -msgid "self: ORM model of the record on which the action is triggered" -msgstr "" - #. module: base #: model:ir.module.module,shortdesc:base.module_test_mimetypes msgid "test mimetypes-guessing" @@ -16153,11 +17973,6 @@ msgstr "" msgid "test_convert" msgstr "" -#. module: base -#: model:res.groups,comment:base.group_user -msgid "the user will be able to manage his own human resources stuff (leave request, timesheets, ...), if he is linked to an employee in the system." -msgstr "" - #. module: base #: model:ir.ui.view,arch_db:base.view_server_action_form msgid "time, datetime, timezone: Python module" From e414bae770208d5e3530bfb2a502092cb2dc2a0c Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli <nim@odoo.com> Date: Mon, 9 Oct 2017 12:59:13 +0200 Subject: [PATCH 20/25] [FIX] mail: company logo - Activate multi-company, create companies A and B - Set 2 companies on a user When a message is sent (for example, thanks to the chatter), the notification email always contains the logo of the same company, whatever the company of the user or the company of the object. This is a complement of commit 7a03f9ce93, applied to notifications. Closes #20088 opw-772405 --- addons/mail/data/mail_data.xml | 3 ++- addons/mail/models/res_partner.py | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/mail/data/mail_data.xml b/addons/mail/data/mail_data.xml index 4ca940fecd1..32e97f23948 100644 --- a/addons/mail/data/mail_data.xml +++ b/addons/mail/data/mail_data.xml @@ -66,6 +66,7 @@ <field name="model_id" ref="mail.model_mail_message"/> <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ +% set company = ctx.get('company', user.company_id) <div> % if ctx.get('has_button_access'): <div itemscope itemtype="http://schema.org/EmailMessage"> @@ -105,7 +106,7 @@ % endif </td> <td valign="center" align="right"> - <img src="/logo.png" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${user.company_id.name}"> + <img src="/logo.png?company=${company.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${company.name}"> </td> </tr> <tr> diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index 46139dd4e65..fb6041e544a 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -61,7 +61,6 @@ class Partner(models.Model): website_url = 'http://%s' % user.company_id.website if not user.company_id.website.lower().startswith(('http:', 'https:')) else user.company_id.website else: website_url = False - company_name = user.company_id.name model_name = False if message.model: @@ -81,9 +80,15 @@ class Partner(models.Model): if message.res_id and message.model in self.env: record = self.env[message.model].browse(message.res_id) + company = user.company_id; + if record and hasattr(record, 'company_id'): + company = record.company_id; + company_name = company.name; + return { 'signature': signature, 'website_url': website_url, + 'company': company, 'company_name': company_name, 'model_name': model_name, 'record': record, From 3e5189e62803d7580e367301e19b7e3f9664fd90 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli <nim@odoo.com> Date: Thu, 19 Oct 2017 11:04:12 +0200 Subject: [PATCH 21/25] [FIX] product: allow multiple values for same attribute - Create a product attribute, e.g. 'Recommanded Age' - Create several values for this attribute - Try to associate more than attribute value to the same variant => contraint which prevents to do it We should allow this use case as long as the product attribute doesn't create a variant. opw-776344 --- addons/product/models/product.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/product/models/product.py b/addons/product/models/product.py index 6b0c04275bc..c3c79628e5c 100644 --- a/addons/product/models/product.py +++ b/addons/product/models/product.py @@ -303,7 +303,8 @@ class ProductProduct(models.Model): for value in product.attribute_value_ids: if value.attribute_id in attributes: raise ValidationError(_('Error! It is not allowed to choose more than one value for a given attribute.')) - attributes |= value.attribute_id + if value.attribute_id.create_variant: + attributes |= value.attribute_id return True @api.onchange('uom_id', 'uom_po_id') From 3be3c6f532fafff30c243d849e04e99547b4cad5 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi <fme@odoo.com> Date: Tue, 28 Feb 2017 12:20:36 +0100 Subject: [PATCH 22/25] [FIX] qweb2.js: fix erratic object type detection in foreach (Fixes #15655) Could not add a test as the qweb js testsuite is broken and it's xml test files have been modified in order to test qweb.py specific cases. --- addons/web/static/lib/qweb/qweb2.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index b1bf280f516..25c3ef94d1b 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -147,14 +147,15 @@ var QWeb2 = { foreach: function(context, enu, as, old_dict, callback) { if (enu != null) { var index, jlen, cur; - var size, new_dict = this.extend({}, old_dict); + var new_dict = this.extend({}, old_dict); new_dict[as + "_all"] = enu; var as_value = as + "_value", as_index = as + "_index", as_first = as + "_first", as_last = as + "_last", as_parity = as + "_parity"; - if (size = enu.length) { + if (enu instanceof Array) { + var size = enu.length; new_dict[as + "_size"] = size; for (index = 0, jlen = enu.length; index < jlen; index++) { cur = enu[index]; From c6a9bab074492beffeddcb320cfdc042f021a285 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli <nim@odoo.com> Date: Thu, 19 Oct 2017 23:53:48 +0200 Subject: [PATCH 23/25] [FIX] account: tax included - Create a tax included of 21 % - Create a product sold 7.00, set the 21 % tax - Add the product in a SO Amount w/o tax: 5.79 Amount tax: 1.22 Total: 7.01 We defer the base rounding to the end of the method so that the rounding doesn't impact the tax computation of included taxes. Complement of 6e46ba7b460b5f155735c91f957a4dca3dec8f96 opw-777221 --- addons/account/models/account.py | 6 +++--- addons/account/tests/test_tax.py | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/addons/account/models/account.py b/addons/account/models/account.py index 4630ece0eeb..02ff42a09f3 100644 --- a/addons/account/models/account.py +++ b/addons/account/models/account.py @@ -758,7 +758,7 @@ class AccountTax(models.Model): # (145 - 15) / (1.0 + ((10 + 20) / 100.0)) = 130 / 1.3 = 100 if fixed_amount == 0.0 and percent_amount == 0.0: return base_amount - return round((base_amount - fixed_amount) / (1.0 + percent_amount / 100.0), prec) + return (base_amount - fixed_amount) / (1.0 + percent_amount / 100.0) base = round(price_unit * quantity, prec) @@ -822,7 +822,7 @@ class AccountTax(models.Model): 'id': tax.id, 'name': tax.with_context(**{'lang': partner.lang} if partner else {}).name, 'amount': sign * tax_amount, - 'base': sign * tax_base, + 'base': round(sign * tax_base, prec), 'sequence': tax.sequence, 'account_id': tax.account_id.id, 'refund_account_id': tax.refund_account_id.id, @@ -833,7 +833,7 @@ class AccountTax(models.Model): 'taxes': taxes_vals, 'total_excluded': sign * (currency.round(total_excluded) if round_total else total_excluded), 'total_included': sign * (currency.round(total_included) if round_total else total_included), - 'base': sign * base, + 'base': round(sign * base, prec), } @api.v7 diff --git a/addons/account/tests/test_tax.py b/addons/account/tests/test_tax.py index 5b6361bf69c..df12bb1dd3a 100644 --- a/addons/account/tests/test_tax.py +++ b/addons/account/tests/test_tax.py @@ -28,6 +28,12 @@ class TestTax(AccountTestUsers): 'amount': 10, 'sequence': 3, }) + self.percent_tax_bis = self.tax_model.create({ + 'name': "Percent tax bis", + 'amount_type': 'percent', + 'amount': 21, + 'sequence': 3, + }) self.division_tax = self.tax_model.create({ 'name': "Division tax", 'amount_type': 'division', @@ -172,6 +178,21 @@ class TestTax(AccountTestUsers): ], res_percent ) + self.percent_tax_bis.price_include = True + self.percent_tax_bis.include_base_amount = True + res_percent = self.percent_tax_bis.compute_all(7.0) + self._check_compute_all_results( + 7.0, # 'base' + 7.0, # 'total_included' + 5.79, # 'total_excluded' + [ + # base , amount | seq | amount | incl | incl_base + # --------------------------------------------------- + (5.79, 1.21), # | 3 | 21% | t | t + # --------------------------------------------------- + ], + res_percent + ) def test_tax_sequence_normalized_set(self): self.division_tax.sequence = 1 From 31c1be1fac29cb0298827e1d686d956b0339df24 Mon Sep 17 00:00:00 2001 From: rde <rde@odoo.com> Date: Tue, 17 Oct 2017 11:27:20 +0200 Subject: [PATCH 24/25] [IMP] auth_oauth: prevent portal users to land on /web after login Before this commit, a portal user would land on /web after login in with oauth. He would then just see the "Website" app. He should then click on it to land on website instead of landing directly on it after login in, which is not convenient, especially since theses users doesn't know Odoo (in case of sale customers manually created for instance). Now, if users has no 'base.group_user' right, it will be redirected to the website directly instead of /web. --- addons/auth_oauth/controllers/main.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py index b7c1f13cf6b..3c3ddf84559 100644 --- a/addons/auth_oauth/controllers/main.py +++ b/addons/auth_oauth/controllers/main.py @@ -151,7 +151,11 @@ class OAuthController(http.Controller): url = '/web#action=%s' % action elif menu: url = '/web#menu_id=%s' % menu - return login_and_redirect(*credentials, redirect_url=url) + resp = login_and_redirect(*credentials, redirect_url=url) + #Since /web is hardcoded, verify user has right to land on it + if urlparse.urlparse(resp.location).path == '/web' and not request.registry['res.users'].has_group(request.cr, request.uid, 'base.group_user'): + resp.location = '/' + return resp except AttributeError: # auth_signup is not installed _logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,)) From bdaa3b88e471c3c0ec686e7ef4f2fe2cca595da2 Mon Sep 17 00:00:00 2001 From: rde <rde@odoo.com> Date: Fri, 20 Oct 2017 10:31:32 +0200 Subject: [PATCH 25/25] [FIX] website: settings-add enterprise label to website_version Enterprise label was missing on website_version --- addons/website/views/res_config_views.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website/views/res_config_views.xml b/addons/website/views/res_config_views.xml index d21eb063a8b..55454059f37 100644 --- a/addons/website/views/res_config_views.xml +++ b/addons/website/views/res_config_views.xml @@ -131,7 +131,7 @@ </div> <div class="col-xs-12 col-md-6 o_setting_box"> <div class="o_setting_left_pane"> - <field name="module_website_version"/> + <field name="module_website_version" widget="upgrade_boolean"/> </div> <div class="o_setting_right_pane"> <label for="module_website_version"/>