summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/models/account_invoice.py4
-rw-r--r--addons/account/models/partner.py1
-rw-r--r--addons/account_bank_statement_import/i18n/cs.po6
-rw-r--r--addons/account_voucher/models/account_voucher.py7
-rw-r--r--addons/auth_signup/i18n/cs.po3
-rw-r--r--addons/barcodes/i18n/cs.po2
-rw-r--r--addons/base_automation/i18n/it.po2
-rw-r--r--addons/base_import/i18n/it.po8
-rw-r--r--addons/delivery/i18n/km.po22
-rw-r--r--addons/event/i18n/cs.po62
-rw-r--r--addons/event/i18n/km.po487
-rw-r--r--addons/event_sale/i18n/km.po14
-rw-r--r--addons/fetchmail/i18n/km.po2
-rw-r--r--addons/fleet/i18n/km.po6
-rw-r--r--addons/gamification/i18n/km.po4
-rw-r--r--addons/gamification_sale_crm/i18n/km.po2
-rw-r--r--addons/hr/i18n/cs.po2
-rw-r--r--addons/hr/i18n/it.po2
-rw-r--r--addons/hr_attendance/i18n/cs.po24
-rw-r--r--addons/hr_attendance/i18n/km.po2
-rw-r--r--addons/hr_expense/i18n/cs.po2
-rw-r--r--addons/hr_expense/i18n/da.po5
-rw-r--r--addons/hr_expense/i18n/km.po18
-rw-r--r--addons/hr_expense_check/i18n/it.po6
-rw-r--r--addons/hr_holidays/i18n/it.po4
-rw-r--r--addons/hr_holidays/i18n/km.po30
-rw-r--r--addons/hr_maintenance/i18n/km.po2
-rw-r--r--addons/hr_payroll/i18n/km.po2
-rw-r--r--addons/hr_recruitment/i18n/it.po2
-rw-r--r--addons/hr_recruitment/i18n/km.po24
-rw-r--r--addons/hr_recruitment/i18n/uk.po2
-rw-r--r--addons/hr_timesheet_attendance/i18n/cs.po9
-rw-r--r--addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py5
-rw-r--r--addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml2
-rwxr-xr-xaddons/hw_drivers/controllers/driver.py2
-rw-r--r--addons/hw_posbox_homepage/views/homepage.html2
-rw-r--r--addons/im_livechat/i18n/km.po2
-rw-r--r--addons/l10n_multilang/i18n/km.po4
-rw-r--r--addons/lunch/i18n/cs.po2
-rw-r--r--addons/lunch/i18n/km.po2
-rw-r--r--addons/mail/i18n/km.po60
-rw-r--r--addons/mail/models/mail_thread.py4
-rw-r--r--addons/maintenance/i18n/km.po18
-rw-r--r--addons/mass_mailing/controllers/main.py2
-rw-r--r--addons/mass_mailing/i18n/ar.po4
-rw-r--r--addons/mass_mailing/i18n/az.po4
-rw-r--r--addons/mass_mailing/i18n/bs.po4
-rw-r--r--addons/mass_mailing/i18n/ca.po4
-rw-r--r--addons/mass_mailing/i18n/da.po4
-rw-r--r--addons/mass_mailing/i18n/de.po4
-rw-r--r--addons/mass_mailing/i18n/el.po4
-rw-r--r--addons/mass_mailing/i18n/es.po4
-rw-r--r--addons/mass_mailing/i18n/et.po4
-rw-r--r--addons/mass_mailing/i18n/fa.po4
-rw-r--r--addons/mass_mailing/i18n/fr.po6
-rw-r--r--addons/mass_mailing/i18n/gu.po4
-rw-r--r--addons/mass_mailing/i18n/he.po4
-rw-r--r--addons/mass_mailing/i18n/hr.po4
-rw-r--r--addons/mass_mailing/i18n/hu.po4
-rw-r--r--addons/mass_mailing/i18n/is.po4
-rw-r--r--addons/mass_mailing/i18n/ja.po4
-rw-r--r--addons/mass_mailing/i18n/mn.po4
-rw-r--r--addons/mass_mailing/i18n/nb.po4
-rw-r--r--addons/mass_mailing/i18n/nl.po6
-rw-r--r--addons/mass_mailing/i18n/pt.po4
-rw-r--r--addons/mass_mailing/i18n/pt_BR.po4
-rw-r--r--addons/mass_mailing/i18n/ro.po4
-rw-r--r--addons/mass_mailing/i18n/ru.po4
-rw-r--r--addons/mass_mailing/i18n/sk.po4
-rw-r--r--addons/mass_mailing/i18n/sr.po4
-rw-r--r--addons/mass_mailing/i18n/sv.po4
-rw-r--r--addons/mass_mailing/i18n/th.po4
-rw-r--r--addons/mass_mailing/i18n/tr.po4
-rw-r--r--addons/mass_mailing/i18n/uk.po10
-rw-r--r--addons/mass_mailing/i18n/vi.po4
-rw-r--r--addons/mass_mailing/i18n/zh_CN.po6
-rw-r--r--addons/mass_mailing_sale/i18n/km.po8
-rw-r--r--addons/membership/i18n/km.po4
-rw-r--r--addons/mrp/i18n/km.po22
-rw-r--r--addons/mrp/models/mrp_production.py14
-rw-r--r--addons/mrp/tests/test_order.py46
-rw-r--r--addons/mrp/wizard/change_production_qty.py11
-rw-r--r--addons/note/i18n/km.po6
-rw-r--r--addons/payment/controllers/portal.py2
-rw-r--r--addons/payment/i18n/de.po4
-rw-r--r--addons/payment/i18n/km.po8
-rw-r--r--addons/payment/models/__init__.py1
-rw-r--r--addons/payment/models/ir_http.py14
-rw-r--r--addons/point_of_sale/i18n/cs.po4
-rw-r--r--addons/point_of_sale/i18n/hu.po2
-rw-r--r--addons/point_of_sale/i18n/it.po2
-rw-r--r--addons/point_of_sale/i18n/km.po20
-rw-r--r--addons/point_of_sale/models/pos_config.py2
-rw-r--r--addons/point_of_sale/models/pos_session.py2
-rwxr-xr-xaddons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd41
-rwxr-xr-xaddons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh1
-rw-r--r--addons/portal/i18n/ar.po7
-rw-r--r--addons/portal/i18n/az.po7
-rw-r--r--addons/portal/i18n/bs.po7
-rw-r--r--addons/portal/i18n/cs.po7
-rw-r--r--addons/portal/i18n/da.po7
-rw-r--r--addons/portal/i18n/et.po7
-rw-r--r--addons/portal/i18n/fa.po7
-rw-r--r--addons/portal/i18n/fi.po7
-rw-r--r--addons/portal/i18n/gu.po7
-rw-r--r--addons/portal/i18n/he.po7
-rw-r--r--addons/portal/i18n/is.po7
-rw-r--r--addons/portal/i18n/it.po7
-rw-r--r--addons/portal/i18n/ja.po7
-rw-r--r--addons/portal/i18n/km.po9
-rw-r--r--addons/portal/i18n/ko.po7
-rw-r--r--addons/portal/i18n/pt.po9
-rw-r--r--addons/portal/i18n/sk.po7
-rw-r--r--addons/portal/i18n/sr.po7
-rw-r--r--addons/portal/i18n/th.po7
-rw-r--r--addons/portal/models/mail_thread.py2
-rw-r--r--addons/portal/models/res_partner.py5
-rw-r--r--addons/portal/views/portal_templates.xml7
-rw-r--r--addons/pos_restaurant/i18n/cs.po6
-rw-r--r--addons/pos_restaurant/i18n/km.po8
-rw-r--r--addons/pos_sale/i18n/cs.po2
-rw-r--r--addons/pos_sale/i18n/km.po6
-rw-r--r--addons/product/i18n/de.po86
-rw-r--r--addons/product/i18n/km.po16
-rw-r--r--addons/product/i18n/ko.po2
-rw-r--r--addons/product/models/res_partner.py2
-rw-r--r--addons/product_margin/i18n/it.po53
-rw-r--r--addons/product_margin/i18n/km.po2
-rw-r--r--addons/project/i18n/km.po42
-rw-r--r--addons/purchase/i18n/km.po20
-rw-r--r--addons/purchase/views/purchase_views.xml1
-rw-r--r--addons/purchase_requisition/i18n/hu.po2
-rw-r--r--addons/purchase_requisition/i18n/km.po2
-rw-r--r--addons/purchase_stock/i18n/hu.po5
-rw-r--r--addons/purchase_stock/i18n/ko.po14
-rw-r--r--addons/repair/i18n/hu.po4
-rw-r--r--addons/repair/i18n/it.po6
-rw-r--r--addons/repair/i18n/km.po12
-rw-r--r--addons/repair/i18n/ko.po2
-rw-r--r--addons/resource/i18n/km.po2
-rw-r--r--addons/resource/i18n/ko.po4
-rw-r--r--addons/sale/i18n/cs.po7
-rw-r--r--addons/sale/i18n/km.po32
-rw-r--r--addons/sale/i18n/uk.po4
-rw-r--r--addons/sale/models/res_partner.py1
-rw-r--r--addons/sale_crm/i18n/km.po8
-rw-r--r--addons/sale_expense/i18n/km.po4
-rw-r--r--addons/sale_management/i18n/cs.po2
-rw-r--r--addons/sale_management/i18n/km.po6
-rw-r--r--addons/sale_margin/i18n/km.po2
-rw-r--r--addons/sale_purchase/i18n/hu.po2
-rw-r--r--addons/sale_purchase/i18n/km.po2
-rw-r--r--addons/sale_purchase/i18n/ko.po8
-rw-r--r--addons/sale_quotation_builder/i18n/km.po2
-rw-r--r--addons/sale_stock/i18n/cs.po3
-rw-r--r--addons/sale_stock/i18n/hu.po2
-rw-r--r--addons/sale_timesheet/i18n/de.po2
-rw-r--r--addons/sale_timesheet/i18n/km.po10
-rw-r--r--addons/sales_team/i18n/it.po2
-rw-r--r--addons/sales_team/i18n/km.po12
-rw-r--r--addons/snailmail_account/i18n/km.po2
-rw-r--r--addons/stock/i18n/hu.po12
-rw-r--r--addons/stock/i18n/km.po22
-rw-r--r--addons/stock/i18n/ko.po24
-rw-r--r--addons/stock/models/product.py3
-rw-r--r--addons/stock/report/report_deliveryslip.xml2
-rw-r--r--addons/stock_account/i18n/km.po2
-rw-r--r--addons/stock_landed_costs/i18n/km.po4
-rw-r--r--addons/survey/i18n/it.po4
-rw-r--r--addons/survey/i18n/ko.po2
-rw-r--r--addons/survey/i18n/nb.po4
-rw-r--r--addons/uom/i18n/km.po4
-rw-r--r--addons/web/i18n/km.po22
-rw-r--r--addons/web/i18n/uk.po2
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js104
-rw-r--r--addons/web/static/src/scss/list_view.scss4
-rw-r--r--addons/web/static/tests/fields/relational_fields_tests.js53
-rw-r--r--addons/web/static/tests/helpers/test_utils_mock.js10
-rw-r--r--addons/web/tests/test_menu.py7
-rw-r--r--addons/web/tests/test_serving_base.py6
-rw-r--r--addons/web_editor/i18n/km.po8
-rw-r--r--addons/web_editor/tests/test_converter.py5
-rw-r--r--addons/web_settings_dashboard/i18n/km.po2
-rw-r--r--addons/website/i18n/km.po8
-rw-r--r--addons/website/i18n/ko.po2
-rw-r--r--addons/website/models/res_config_settings.py3
-rw-r--r--addons/website/tests/test_converter.py10
-rw-r--r--addons/website/views/res_config_settings_views.xml2
-rw-r--r--addons/website_blog/i18n/km.po4
-rw-r--r--addons/website_blog/static/src/js/s_latest_posts_frontend.js5
-rw-r--r--addons/website_crm_partner_assign/i18n/it.po16
-rw-r--r--addons/website_crm_partner_assign/i18n/km.po20
-rw-r--r--addons/website_event/i18n/km.po8
-rw-r--r--addons/website_event_questions/i18n/km.po10
-rw-r--r--addons/website_event_sale/i18n/km.po2
-rw-r--r--addons/website_event_track/i18n/km.po14
-rw-r--r--addons/website_event_track/i18n/uk.po24
-rw-r--r--addons/website_forum/i18n/km.po6
-rw-r--r--addons/website_gengo/i18n/km.po2
-rw-r--r--addons/website_hr_recruitment/i18n/km.po2
-rw-r--r--addons/website_links/i18n/km.po2
-rw-r--r--addons/website_mail/i18n/km.po2
-rw-r--r--addons/website_rating/i18n/km.po2
-rw-r--r--addons/website_sale/i18n/km.po24
-rw-r--r--addons/website_sale/models/website.py2
-rw-r--r--addons/website_sale/views/templates.xml2
-rw-r--r--addons/website_sale_comparison/i18n/km.po2
-rw-r--r--addons/website_sale_delivery/i18n/km.po10
-rw-r--r--addons/website_sale_digital/i18n/km.po4
-rw-r--r--addons/website_sale_link_tracker/i18n/km.po4
-rw-r--r--addons/website_sale_stock/i18n/km.po2
-rw-r--r--addons/website_slides/i18n/km.po2
-rw-r--r--addons/website_theme_install/i18n/ko.po2
-rw-r--r--doc/_extensions/odoo_ext/sub-menu_list.html2
-rw-r--r--doc/cla/corporate/blancomartin.md28
-rw-r--r--doc/cla/corporate/bumanit.md2
-rw-r--r--doc/cla/individual/dorcyv.md11
-rw-r--r--doc/cla/individual/gregory-moka.md9
-rw-r--r--odoo/addons/base/tests/test_base.py6
-rw-r--r--odoo/addons/base/tests/test_db_cursor.py5
-rw-r--r--odoo/addons/base/tests/test_func.py9
-rw-r--r--odoo/addons/base/tests/test_ir_sequence.py14
-rw-r--r--odoo/addons/base/tests/test_mail.py12
-rw-r--r--odoo/addons/base/tests/test_mimetypes.py5
-rw-r--r--odoo/addons/base/tests/test_misc.py9
-rw-r--r--odoo/addons/base/tests/test_osv.py7
-rw-r--r--odoo/addons/base/tests/test_tests_tags.py113
-rw-r--r--odoo/addons/base/tests/test_translate.py8
-rw-r--r--odoo/addons/base/tests/test_uninstall.py5
-rw-r--r--odoo/addons/base/tests/test_view_validation.py6
-rw-r--r--odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py6
-rw-r--r--odoo/tests/common.py105
-rw-r--r--odoo/tools/config.py9
233 files changed, 1838 insertions, 827 deletions
diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py
index ef446d59c7e..dc3e92cd88a 100644
--- a/addons/account/models/account_invoice.py
+++ b/addons/account/models/account_invoice.py
@@ -440,7 +440,7 @@ class AccountInvoice(models.Model):
vendor_display_name = _('From: ') + invoice.source_email
invoice.invoice_icon = '@'
else:
- vendor_display_name = ('Created by: ') + invoice.sudo().create_uid.name
+ vendor_display_name = _('Created by: %s') % invoice.sudo().create_uid.name
invoice.invoice_icon = '#'
invoice.vendor_display_name = vendor_display_name
@@ -1568,6 +1568,8 @@ class AccountInvoice(models.Model):
values['type'] = TYPE2REFUND[invoice['type']]
values['date_invoice'] = date_invoice or fields.Date.context_today(invoice)
+ if values.get('date_due', False) and values['date_invoice'] > values['date_due']:
+ values['date_due'] = values['date_invoice']
values['state'] = 'draft'
values['number'] = False
values['origin'] = invoice.number
diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py
index db91c34a07c..7a6e334b939 100644
--- a/addons/account/models/partner.py
+++ b/addons/account/models/partner.py
@@ -451,6 +451,7 @@ class ResPartner(models.Model):
return {'domain': {'property_account_position_id': [('company_id', 'in', [company.id, False])]}}
def can_edit_vat(self):
+ ''' Can't edit `vat` if there is (non draft) issued invoices. '''
can_edit_vat = super(ResPartner, self).can_edit_vat()
if not can_edit_vat:
return can_edit_vat
diff --git a/addons/account_bank_statement_import/i18n/cs.po b/addons/account_bank_statement_import/i18n/cs.po
index 7c937e76dfe..1519d119f77 100644
--- a/addons/account_bank_statement_import/i18n/cs.po
+++ b/addons/account_bank_statement_import/i18n/cs.po
@@ -225,12 +225,12 @@ msgstr "Vytvořeno"
#. module: account_bank_statement_import
#: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__refund_sequence_id
msgid "Credit Note Entry Sequence"
-msgstr ""
+msgstr "Postup při zadávání dobropisu"
#. module: account_bank_statement_import
#: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__refund_sequence_number_next
msgid "Credit Notes: Next Number"
-msgstr ""
+msgstr "Dobropisy: Další číslo"
#. module: account_bank_statement_import
#: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__currency_id
@@ -363,7 +363,7 @@ msgstr "Chová se jako výchozí účet pro částku Má dáti"
#. module: account_bank_statement_import
#: model:ir.model.fields,help:account_bank_statement_import.field_account_bank_statement_import_journal_creation__alias_name
msgid "It creates draft vendor bill by sending an email."
-msgstr ""
+msgstr "Vytvoří návrh vyúčtování dodavatele odesláním e-mailu."
#. module: account_bank_statement_import
#: model:ir.model,name:account_bank_statement_import.model_account_journal
diff --git a/addons/account_voucher/models/account_voucher.py b/addons/account_voucher/models/account_voucher.py
index f071b6cd187..3cb54bf3b43 100644
--- a/addons/account_voucher/models/account_voucher.py
+++ b/addons/account_voucher/models/account_voucher.py
@@ -353,14 +353,19 @@ class AccountVoucher(models.Model):
temp['amount_currency'] = company_cur._convert(tax_vals['amount'], current_cur, line.company_id, self.account_date or fields.Date.today(), round=True)
self.env['account.move.line'].create(temp)
- self.env['account.move.line'].create(move_line)
# When global rounding is activated, we must wait until all tax lines are computed to
# merge them.
if tax_calculation_rounding_method == 'round_globally':
+ # _apply_taxes modifies the dict move_line in place to account for included/excluded taxes
tax_lines_vals += self.env['account.move.line'].with_context(round=False)._apply_taxes(
move_line,
move_line.get('debit', 0.0) - move_line.get('credit', 0.0)
)
+ # rounding False means the move_line's amount are not rounded
+ currency = self.env['res.currency'].browse(company_currency)
+ move_line['debit'] = currency.round(move_line['debit'])
+ move_line['credit'] = currency.round(move_line['credit'])
+ self.env['account.move.line'].create(move_line)
# When round globally is set, we merge the tax lines
if tax_calculation_rounding_method == 'round_globally':
diff --git a/addons/auth_signup/i18n/cs.po b/addons/auth_signup/i18n/cs.po
index 727d76c5e03..6f2578093e8 100644
--- a/addons/auth_signup/i18n/cs.po
+++ b/addons/auth_signup/i18n/cs.po
@@ -572,6 +572,9 @@ msgid ""
"list view and click on 'Portal Access Management' option in the dropdown "
"menu *Action*."
msgstr ""
+"Chcete-li posílat pozvánky v režimu B2B, otevřete kontakt nebo vyberte "
+"několik v zobrazení seznamu a klikněte na možnost Správa portálového "
+"přístupu v rozevírací nabídce *Akce*."
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_users
diff --git a/addons/barcodes/i18n/cs.po b/addons/barcodes/i18n/cs.po
index f1f7aff04c8..10df8ec7fba 100644
--- a/addons/barcodes/i18n/cs.po
+++ b/addons/barcodes/i18n/cs.po
@@ -412,7 +412,7 @@ msgstr "UPC/EAN konverze"
#. module: barcodes
#: selection:barcode.rule,type:0
msgid "Unit Product"
-msgstr ""
+msgstr "Jednotkový produkt"
#. module: barcodes
#: model:ir.model.fields,help:barcodes.field_barcode_rule__sequence
diff --git a/addons/base_automation/i18n/it.po b/addons/base_automation/i18n/it.po
index a4763cc04d0..3abaf8fb905 100644
--- a/addons/base_automation/i18n/it.po
+++ b/addons/base_automation/i18n/it.po
@@ -285,7 +285,7 @@ msgstr "Tipo di scadenza"
#. module: base_automation
#: model:ir.model.fields,field_description:base_automation.field_base_automation__template_id
msgid "Email Template"
-msgstr "Template Email"
+msgstr "Modello e-mail"
#. module: base_automation
#: model:ir.model.fields,field_description:base_automation.field_base_automation__xml_id
diff --git a/addons/base_import/i18n/it.po b/addons/base_import/i18n/it.po
index 5ebf5d301ba..9e6616d0855 100644
--- a/addons/base_import/i18n/it.po
+++ b/addons/base_import/i18n/it.po
@@ -309,9 +309,7 @@ msgstr "Sembra tutto corretto."
#: code:addons/base_import/static/src/xml/base_import.xml:82
#, python-format
msgid "Excel files are recommended as fields formatting is automatic."
-msgstr ""
-"File Excel sono raccomandati dato che la formattazione dei campi è "
-"automatica."
+msgstr "Sono consigliati file Excel, la formattazione dei campi è automatica."
#. module: base_import
#: code:addons/base_import/models/base_import.py:169
@@ -570,7 +568,7 @@ msgstr "Ultimo aggiornamento il"
#: code:addons/base_import/static/src/xml/base_import.xml:101
#, python-format
msgid "Load File"
-msgstr "Carica File"
+msgstr "Carica file"
#. module: base_import
#. openerp-web
@@ -651,7 +649,7 @@ msgstr "Res Model"
#: code:addons/base_import/static/src/xml/base_import.xml:79
#, python-format
msgid "Select a CSV or Excel file to import."
-msgstr "Selezionare un file CSV o Excel da importare."
+msgstr "Seleziona un file CSV o Excel da importare."
#. module: base_import
#. openerp-web
diff --git a/addons/delivery/i18n/km.po b/addons/delivery/i18n/km.po
index d212eedeb13..1cfb84dde39 100644
--- a/addons/delivery/i18n/km.po
+++ b/addons/delivery/i18n/km.po
@@ -140,7 +140,7 @@ msgstr ""
#. module: delivery
#: selection:delivery.carrier,delivery_type:0
msgid "Based on Rules"
-msgstr ""
+msgstr "ផ្តោតលើច្បាប់"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_stock_picking__weight_bulk
@@ -160,7 +160,7 @@ msgstr "លុបចោល"
#: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_search
#: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_tree
msgid "Carrier"
-msgstr ""
+msgstr "ក្រុមហ៊ុនដឹកជញ្ជូន"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_delivery_carrier__company_id
@@ -224,7 +224,7 @@ msgstr ""
#. module: delivery
#: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_search
msgid "Delivery Carrier"
-msgstr ""
+msgstr "ក្រុមហ៊ុនដឹកជញ្ជូន"
#. module: delivery
#: model_terms:ir.ui.view,arch_db:delivery.view_delivery_price_rule_form
@@ -255,7 +255,7 @@ msgstr ""
#: model:ir.ui.menu,name:delivery.sale_menu_action_delivery_carrier_form
#: model_terms:ir.ui.view,arch_db:delivery.res_config_settings_view_form
msgid "Delivery Methods"
-msgstr ""
+msgstr "វិធីសាស្ត្រដឹកជញ្ជូន"
#. module: delivery
#: model:ir.model,name:delivery.model_choose_delivery_package
@@ -358,7 +358,7 @@ msgstr ""
#: selection:delivery.carrier,delivery_type:0
#: model:ir.model.fields,field_description:delivery.field_delivery_carrier__fixed_price
msgid "Fixed Price"
-msgstr ""
+msgstr "តំលៃថេរ"
#. module: delivery
#: model:delivery.carrier,name:delivery.free_delivery_carrier
@@ -520,7 +520,7 @@ msgstr "ឈ្មោះ"
#. module: delivery
#: selection:product.packaging,package_carrier_type:0
msgid "No carrier integration"
-msgstr ""
+msgstr "គ្មានការបញ្ចូលក្រុមហ៊ុន"
#. module: delivery
#: code:addons/delivery/models/sale_order.py:80
@@ -623,7 +623,7 @@ msgstr ""
#. module: delivery
#: model:ir.model,name:delivery.model_product_packaging
msgid "Product Packaging"
-msgstr ""
+msgstr "កញ្ជាប់ផលិតផល"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_delivery_carrier__delivery_type
@@ -652,7 +652,7 @@ msgstr ""
#. module: delivery
#: model:ir.model,name:delivery.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_delivery_price_rule__list_price
@@ -772,7 +772,7 @@ msgstr ""
#. module: delivery
#: model_terms:ir.ui.view,arch_db:delivery.view_picking_withcarrier_out_form
msgid "Tracking"
-msgstr ""
+msgstr "ការ​តាមដាន"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_stock_picking__carrier_tracking_ref
@@ -807,7 +807,7 @@ msgstr ""
#: model:product.template,uom_name:delivery.product_product_delivery_poste_product_template
#: model:product.template,uom_name:delivery.product_product_delivery_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_delivery_price_rule__variable
@@ -923,4 +923,4 @@ msgstr ""
#: model:product.template,weight_uom_name:delivery.product_product_delivery_poste_product_template
#: model:product.template,weight_uom_name:delivery.product_product_delivery_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
diff --git a/addons/event/i18n/cs.po b/addons/event/i18n/cs.po
index 0a2c6aafbcf..0ef761f4ffd 100644
--- a/addons/event/i18n/cs.po
+++ b/addons/event/i18n/cs.po
@@ -37,7 +37,7 @@ msgstr "%s (kopie)"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "5 Intensive Days"
-msgstr ""
+msgstr "5 Intenzivních dnů"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
@@ -45,6 +45,8 @@ msgid ""
"<b><i class=\"fa fa-clock-o\"/>\n"
" To</b>"
msgstr ""
+"<b><i class=\"fa fa-clock-o\"/>\n"
+" Do</b>"
#. module: event
#: model:mail.template,body_html:event.event_registration_mail_template_badge
@@ -133,7 +135,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_2
msgid "<strong>Conference for Architects</strong>"
-msgstr ""
+msgstr "<strong>Konference pro Architekty</strong>"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -573,7 +575,7 @@ msgstr ""
#. module: event
#: model_terms:ir.actions.act_window,help:event.action_event_view
msgid "Add a new event"
-msgstr ""
+msgstr "Přidat novou událost"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -590,7 +592,7 @@ msgstr ""
#: selection:event.mail,interval_type:0
#: selection:event.type.mail,interval_type:0
msgid "After the event"
-msgstr ""
+msgstr "Po události"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_search
@@ -609,7 +611,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Arrays"
-msgstr ""
+msgstr "Pole"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__message_attachment_count
@@ -620,7 +622,7 @@ msgstr "Počet příloh"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form
msgid "Attendance"
-msgstr "Účast"
+msgstr "Docházka"
#. module: event
#: selection:event.registration,state:0
@@ -638,7 +640,7 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree
msgid "Attended the Event"
-msgstr ""
+msgstr "zúčastnil se akce"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_mail_registration__registration_id
@@ -650,7 +652,7 @@ msgstr "Účastník"
#: model:ir.model.fields,field_description:event.field_event_registration__name
#: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge
msgid "Attendee Name"
-msgstr ""
+msgstr "Jméno účastníka"
#. module: event
#: model:ir.actions.act_window,name:event.act_event_registration_from_event
@@ -675,7 +677,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__use_mail_schedule
msgid "Automatically Send Emails"
-msgstr ""
+msgstr "Automaticky odesílat e-maily"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_available
@@ -836,7 +838,7 @@ msgstr "Potvrzeno"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
msgid "Confirmed attendees"
-msgstr ""
+msgstr "Potvrzení účastníci"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_search
@@ -911,7 +913,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Day 3"
-msgstr ""
+msgstr "Den 3"
#. module: event
#: selection:event.mail,interval_unit:0
@@ -1060,7 +1062,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__event_logo
msgid "Event Logo"
-msgstr ""
+msgstr "Logo Události"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_mail_form
@@ -1172,7 +1174,7 @@ msgstr ""
#. module: event
#: model:event.type,name:event.event_type_1
msgid "Exhibition"
-msgstr ""
+msgstr "Výstava"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
@@ -1182,7 +1184,7 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
msgid "Expected attendees"
-msgstr ""
+msgstr "Očekávaní účastníci"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_form
@@ -1496,7 +1498,7 @@ msgstr "Manažer"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_availability
msgid "Maximum Attendees"
-msgstr ""
+msgstr "Maximum účastníků"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_max
@@ -1506,7 +1508,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__default_registration_max
msgid "Maximum Registrations"
-msgstr ""
+msgstr "Maximum registrací"
#. module: event
#: code:addons/event/models/event.py:258
@@ -1530,12 +1532,12 @@ msgstr "Zprávy"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_min
msgid "Minimum Attendees"
-msgstr ""
+msgstr "Minimum účastníků"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__default_registration_min
msgid "Minimum Registrations"
-msgstr ""
+msgstr "Minimum registrací"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -1613,7 +1615,7 @@ msgstr "Počet nepřečtených zpráv"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Odoo Official Website"
-msgstr ""
+msgstr "Oficiální webová strana Odoo"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -1641,7 +1643,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_res_config_settings__module_website_event_sale
msgid "Online Ticketing"
-msgstr ""
+msgstr "Online prodej vstupenek"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_type_form
@@ -1776,7 +1778,7 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_mail_form
msgid "Registration mail"
-msgstr ""
+msgstr "Registrační e-mail"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -1875,7 +1877,7 @@ msgstr "Nastavení"
#. module: event
#: model:event.type,name:event.event_type_3
msgid "Show"
-msgstr ""
+msgstr "Šou"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_registration__origin
@@ -1943,7 +1945,7 @@ msgstr "Časové pásmo"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "To get more information, visit the"
-msgstr ""
+msgstr "Pro více informací, navštivte "
#. module: event
#: model:ir.model.fields,field_description:event.field_res_config_settings__module_website_event_track
@@ -2036,7 +2038,7 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_search
msgid "Upcoming/Running"
-msgstr ""
+msgstr "Nadcházející / Probíhající"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__use_hashtag
@@ -2088,7 +2090,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "What you will learn?"
-msgstr ""
+msgstr "Co se naučíte?"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -2115,12 +2117,12 @@ msgstr ""
#. module: event
#: model:mail.template,subject:event.event_subscription
msgid "Your registration at ${object.event_id.name}"
-msgstr ""
+msgstr "Vaše registrace na ${object.event_id.name}"
#. module: event
#: model:mail.template,report_name:event.event_registration_mail_template_badge
msgid "badge_of_${(object.event_id.name or '').replace('/','_')}"
-msgstr ""
+msgstr "badge_of_${(object.event_id.name or '').replace('/','_')}"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -2142,13 +2144,13 @@ msgstr ""
#: code:addons/event/models/event.py:530
#, python-format
msgid "next month"
-msgstr ""
+msgstr "příští měsíc"
#. module: event
#: code:addons/event/models/event.py:528
#, python-format
msgid "next week"
-msgstr ""
+msgstr "příští týden"
#. module: event
#: code:addons/event/models/event.py:532
@@ -2160,7 +2162,7 @@ msgstr ""
#: code:addons/event/models/event.py:522
#, python-format
msgid "today"
-msgstr ""
+msgstr "dnes"
#. module: event
#: code:addons/event/models/event.py:524
diff --git a/addons/event/i18n/km.po b/addons/event/i18n/km.po
index 02258aa2c25..5639f782f92 100644
--- a/addons/event/i18n/km.po
+++ b/addons/event/i18n/km.po
@@ -44,6 +44,8 @@ msgid ""
"<b><i class=\"fa fa-clock-o\"/>\n"
" To</b>"
msgstr ""
+"<b><i class=\"fa fa-clock-o\"/>\n"
+" ទៅ</b>"
#. module: event
#: model:mail.template,body_html:event.event_registration_mail_template_badge
@@ -74,6 +76,8 @@ msgid ""
"<font style=\"color: rgb(255, 255, 255); font-size: 24px;\">to learn <i>Odoo"
" Programming</i></font>"
msgstr ""
+"<font style=\"color: rgb(255, 255, 255); font-size: 24px;\">ដើម្បីរៀន "
+"<i>ធ្វើកម្មវិធី Odoo</i></font>"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -98,7 +102,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge
#: model_terms:ir.ui.view,arch_db:event.event_registration_report_template_badge
msgid "<i>to</i>"
-msgstr ""
+msgstr "<i>ទៅ</i>"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -112,6 +116,9 @@ msgid ""
" to\n"
" </span>"
msgstr ""
+"<span attrs=\"{'invisible': [('seats_availability', '=', 'unlimited')]}\" class=\"oe_read_only\">\n"
+" ទៅ\n"
+" </span>"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_confirm
@@ -119,6 +126,9 @@ msgid ""
"<span class=\"o_form_label\">Warning: This Event has not reached its Minimum"
" Registration Limit. Are you sure you want to confirm it?</span>"
msgstr ""
+"<span class=\"o_form_label\">ការព្រមាន​: "
+"ព្រឹត្តការណ៍នេះមិនទាន់ទទួលបានការចុះឈ្មោះដល់កម្រិតអប្បបរមាទេ។ "
+"តើអ្នកពិតជាចង់បញ្ជាក់ពីវាមែនទេ?</span>"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -132,14 +142,14 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_2
msgid "<strong>Conference for Architects</strong>"
-msgstr ""
+msgstr "<strong>សិក្ខាសាលាសម្រាប់ស្ថាបតយ្យកម្ម</strong>"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid ""
"<strong>Having attended this course, participants should be able "
"to:</strong>"
-msgstr ""
+msgstr "<strong>ដើម្បីបានចូលរួមមុខវិជ្ជានេះ, អ្នកចូលរួមគួរតែអាច:</strong>"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -150,22 +160,22 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "<strong>Our prices include:</strong>"
-msgstr ""
+msgstr "<strong>តម្លៃរបស់ពួកយើងរួមបញ្ចូលទាំង:</strong>"
#. module: event
#: model_terms:event.event,description:event.event_2
msgid "<strong>Program:</strong>"
-msgstr ""
+msgstr "<strong>កម្មវិធី:</strong>"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "<strong>Requirements:</strong>"
-msgstr ""
+msgstr "<strong>តម្រូវការ:</strong>"
#. module: event
#: model_terms:event.event,description:event.event_2
msgid "<strong>Where to find us:</strong>"
-msgstr ""
+msgstr "<strong>កន្លែងដែលស្វែងរកពួកយើង:</strong>"
#. module: event
#: model:mail.template,body_html:event.event_subscription
@@ -356,6 +366,191 @@ msgid ""
"</table>\n"
" "
msgstr ""
+"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;\"><tr><td align=\"center\">\n"
+"% set date_begin = format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%SZ')\n"
+"% set date_end = format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%SZ')\n"
+"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"590\" style=\"padding: 16px; background-color: white; color: #454748; border-collapse:separate;\">\n"
+"<tbody>\n"
+" <!-- HEADER -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"middle\">\n"
+" <span style=\"font-size: 10px;\">Your registration</span><br/>\n"
+" <span style=\"font-size: 20px; font-weight: bold;\">\n"
+" ${object.name}\n"
+" </span>\n"
+" </td><td valign=\"middle\" align=\"right\">\n"
+" <img src=\"${'/logo.png?company=%s' % object.company_id.id}\" style=\"padding: 0px; margin: 0px; height: auto; width: 80px;\" alt=\"${'%s' % object.company_id.name}\"/>\n"
+" </td></tr>\n"
+" <tr><td colspan=\"2\" style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+" <!-- EVENT DESCRIPTION -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <div>\n"
+" Hello ${object.name or ''},<br/>\n"
+" We are happy to confirm your registration to the event\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <a href=\"${object.event_id.website_url}\" style=\"color:#875A7B;text-decoration:none;\">${object.event_id.name}</a>\n"
+" % else:\n"
+" <strong>${object.event_id.name}</strong>\n"
+" % endif\n"
+" for attendee ${object.name}.\n"
+" </div>\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <div style=\"margin: 16px 0px 16px 0px;\">\n"
+" <a href=\"${object.event_id.website_url}\" style=\"background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">View Event</a><br/>\n"
+" </div>\n"
+" % endif\n"
+" <div>\n"
+" See you soon,<br/>\n"
+" <span style=\"color: #454748;\">\n"
+" -- <br/>\n"
+" % if object.event_id.organizer_id:\n"
+" ${object.event_id.organizer_id.name}\n"
+" % else:\n"
+" The organizers.\n"
+" % endif\n"
+" </span>\n"
+" </div>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+" <!-- DETAILS -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;\">\n"
+" <tr>\n"
+" <td style=\"vertical-align:top;\">\n"
+" <img src=\"/web_editor/font_to_img/61555/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
+" </td>\n"
+" <td style=\"padding: 0px 10px 0px 10px;width:50%;line-height:20px;vertical-align:top;\">\n"
+" <div><strong>From</strong> ${object.event_id.date_begin_located}</div>\n"
+" <div><strong>To</strong> ${object.event_id.date_end_located}</div>\n"
+" <div style=\"font-size:12px;color:#9e9e9e\"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>\n"
+" </td>\n"
+" % if object.event_id.address_id.country_id.name:\n"
+" <td style=\"vertical-align:top;\">\n"
+" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
+" </td>\n"
+" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
+" % set location = ''\n"
+" % if object.event_id.address_id.name:\n"
+" <div>${object.event_id.address_id.name}</div>\n"
+" % endif\n"
+" % if object.event_id.address_id.street:\n"
+" <div>${object.event_id.address_id.street}</div>\n"
+" % set location = object.event_id.address_id.street\n"
+" % endif\n"
+" % if object.event_id.address_id.street2:\n"
+" <div>${object.event_id.address_id.street2}</div>\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
+" % endif\n"
+" <div>\n"
+" % if object.event_id.address_id.city:\n"
+" ${object.event_id.address_id.city},\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
+" % endif\n"
+" % if object.event_id.address_id.state_id.name:\n"
+" ${object.event_id.address_id.state_id.name},\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
+" % endif\n"
+" % if object.event_id.address_id.zip:\n"
+" ${object.event_id.address_id.zip}\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
+" % endif\n"
+" </div>\n"
+" % if object.event_id.address_id.country_id.name:\n"
+" <div>${object.event_id.address_id.country_id.name}</div>\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
+" % endif\n"
+" </td>\n"
+" % endif\n"
+" </tr>\n"
+" </table>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" % if object.event_id.organizer_id:\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <div>\n"
+" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
+" <div>Please contact the organizer:</div>\n"
+" <ul>\n"
+" <li>${object.event_id.organizer_id.name}</li>\n"
+" % if object.event_id.organizer_id.email\n"
+" <li>Mail: <a href=\"mailto:${object.event_id.organizer_id.email}\" style=\"text-decoration:none;color:#875A7B;\">${object.event_id.organizer_id.email}</a></li>\n"
+" % endif\n"
+" % if object.event_id.organizer_id.phone\n"
+" <li>Phone: ${object.event_id.organizer_id.phone}</li>\n"
+" % endif\n"
+" </ul>\n"
+" </div>\n"
+" </td></tr>\n"
+" % endif\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;border-top:1px solid #e1e1e1;\">\n"
+" <tr>\n"
+" <td style=\"padding:25px 0px;\">\n"
+" <strong>Add this event to your calendar</strong>\n"
+" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
+" <a href=\"https://bay02.calendar.live.com/calendar/calendar.aspx?rru=addevent&amp;summary=${object.event_id.name}&amp;dtstart=${date_begin}&amp;dtend=${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Outlook</a>\n"
+" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%S')}&amp;et=${format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
+" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo</a>\n"
+" </td>\n"
+" </tr>\n"
+" </table>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" % if object.event_id.address_id:\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;\"><tr><td>\n"
+" <div>\n"
+" <a href=\"https://maps.google.com/maps?q=${location}\" target=\"new\">\n"
+" <img src=\"http://maps.googleapis.com/maps/api/staticmap?autoscale=1&amp;size=598x200&amp;maptype=roadmap&amp;format=png&amp;visual_refresh=true&amp;markers=size:mid%7Ccolor:0xa5117d%7Clabel:%7C${location}\" style=\"vertical-align:bottom; width: 100%;\" alt=\"Google Maps\"/>\n"
+" </a>\n"
+" </div>\n"
+" </td></tr></table>\n"
+" </td></tr>\n"
+" % endif\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+"</tbody>\n"
+"</table>\n"
+"</td></tr>\n"
+"<!-- FOOTER BY -->\n"
+"% if object.company_id\n"
+"<tr><td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;\">\n"
+" <tr><td style=\"text-align: center; font-size: 14px;\">\n"
+" Sent by <a target=\"_blank\" href=\"${object.company_id.website}\" style=\"color: #875A7B;\">${object.company_id.name}</a>\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <br/>\n"
+" Discover <a href=\"/event\" style=\"text-decoration:none;color:#717188;\">all our events</a>.\n"
+" % endif\n"
+" </td></tr>\n"
+" </table>\n"
+"</td></tr>\n"
+"% endif\n"
+"</table>\n"
+" "
#. module: event
#: model:mail.template,body_html:event.event_reminder
@@ -545,6 +740,190 @@ msgid ""
"</table>\n"
" "
msgstr ""
+"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;\"><tr><td align=\"center\">\n"
+"% set date_begin = format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%SZ')\n"
+"% set date_end = format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%SZ')\n"
+"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"590\" style=\"padding: 16px; background-color: white; color: #454748; border-collapse:separate;\">\n"
+"<tbody>\n"
+" <!-- HEADER -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"middle\">\n"
+" <span style=\"font-size: 10px;\">Your registration</span><br/>\n"
+" <span style=\"font-size: 20px; font-weight: bold;\">\n"
+" ${object.name}\n"
+" </span>\n"
+" </td><td valign=\"middle\" align=\"right\">\n"
+" <img src=\"${'/logo.png?company=%s' % object.company_id.id}\" style=\"padding: 0px; margin: 0px; height: auto; width: 80px;\" alt=\"${'%s' % object.company_id.name}\"/>\n"
+" </td></tr>\n"
+" <tr><td colspan=\"2\" style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+" <!-- EVENT DESCRIPTION -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <div>\n"
+" Hello ${object.name},<br/>\n"
+" We are excited to remind you that the event\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <a href=\"${object.event_id.website_url}\" style=\"color:#875A7B;text-decoration:none;\">${object.event_id.name}</a>\n"
+" % else:\n"
+" <strong>${object.event_id.name}</strong>\n"
+" % endif\n"
+" is starting <strong>${object.get_date_range_str()}</strong>.\n"
+" </div>\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <div style=\"margin: 16px 0px 16px 0px;\">\n"
+" <a href=\"${object.event_id.website_url}\" style=\"background-color: #875A7B; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">View Event</a><br/>\n"
+" </div>\n"
+" % endif\n"
+" <div>\n"
+" We confirm your registration and hope to meet you there,<br/>\n"
+" <span style=\"color: #454748;\">\n"
+" -- <br/>\n"
+" % if object.event_id.organizer_id:\n"
+" ${object.event_id.organizer_id.name}\n"
+" % else:\n"
+" The organizers.\n"
+" % endif\n"
+" </span>\n"
+" </div>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+" <!-- DETAILS -->\n"
+" <tr>\n"
+" <td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;\">\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;\">\n"
+" <tr>\n"
+" <td style=\"vertical-align:top;\">\n"
+" <img src=\"/web_editor/font_to_img/61555/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
+" </td>\n"
+" <td style=\"padding: 0px 10px 0px 10px;width:50%;line-height:20px;vertical-align:top;\">\n"
+" <div><strong>From</strong> ${object.event_id.date_begin_located}</div>\n"
+" <div><strong>To</strong> ${object.event_id.date_end_located}</div>\n"
+" <div style=\"font-size:12px;color:#9e9e9e\"><i><strong>TZ</strong> ${object.event_id.date_tz}</i></div>\n"
+" </td>\n"
+" % if object.event_id.address_id.country_id.name:\n"
+" <td style=\"vertical-align:top;\">\n"
+" <img src=\"/web_editor/font_to_img/61505/rgb(81,81,102)/34\" style=\"padding:4px;max-width:inherit;\" height=\"34\" alt=\"\"/>\n"
+" </td>\n"
+" <td style=\"padding: 0px 10px 0px 10px;width:50%;vertical-align:top;\">\n"
+" % set location = ''\n"
+" % if object.event_id.address_id.name:\n"
+" <div>${object.event_id.address_id.name}</div>\n"
+" % endif\n"
+" % if object.event_id.address_id.street:\n"
+" <div>${object.event_id.address_id.street}</div>\n"
+" % set location = object.event_id.address_id.street\n"
+" % endif\n"
+" % if object.event_id.address_id.street2:\n"
+" <div>${object.event_id.address_id.street2}</div>\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n"
+" % endif\n"
+" <div>\n"
+" % if object.event_id.address_id.city:\n"
+" ${object.event_id.address_id.city},\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n"
+" % endif\n"
+" % if object.event_id.address_id.state_id.name:\n"
+" ${object.event_id.address_id.state_id.name},\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n"
+" % endif\n"
+" % if object.event_id.address_id.zip:\n"
+" ${object.event_id.address_id.zip}\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n"
+" % endif\n"
+" </div>\n"
+" % if object.event_id.address_id.country_id.name:\n"
+" <div>${object.event_id.address_id.country_id.name}</div>\n"
+" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n"
+" % endif\n"
+" </td>\n"
+" % endif\n"
+" </tr>\n"
+" </table>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" % if object.event_id.organizer_id:\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <div>\n"
+" <span style=\"font-weight:300;margin:10px 0px\">Questions about this event?</span>\n"
+" <div>Please contact the organizer:</div>\n"
+" <ul>\n"
+" <li>${object.event_id.organizer_id.name}</li>\n"
+" % if object.event_id.organizer_id.email\n"
+" <li>Mail: <a href=\"mailto:${object.event_id.organizer_id.email}\" style=\"text-decoration:none;color:#875A7B;\">${object.event_id.organizer_id.email}</a></li>\n"
+" % endif\n"
+" % if object.event_id.organizer_id.phone\n"
+" <li>Phone: ${object.event_id.organizer_id.phone}</li>\n"
+" % endif\n"
+" </ul>\n"
+" </div>\n"
+" </td></tr>\n"
+" % endif\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;border-top:1px solid #e1e1e1;\">\n"
+" <tr>\n"
+" <td style=\"padding:25px 0px;\">\n"
+" <strong>Add this event to your calendar</strong>\n"
+" <a href=\"https://www.google.com/calendar/render?action=TEMPLATE&amp;text=${object.event_id.name}&amp;dates=${date_begin}/${date_end}&amp;location=${location}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\"><img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Google</a>\n"
+" <a href=\"https://calendar.yahoo.com/?v=60&amp;view=d&amp;type=20&amp;title=${object.event_id.name}&amp;in_loc=${location}&amp;st=${format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%S')}&amp;et=${format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%S')}\" style=\"padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;\" target=\"new\">\n"
+" <img src=\"/web_editor/font_to_img/61525/rgb(135,90,123)/16\" style=\"vertical-align:middle;\" height=\"16\" alt=\"\"/> Yahoo</a>\n"
+" </td>\n"
+" </tr>\n"
+" </table>\n"
+" </td></tr>\n"
+" <tr><td style=\"text-align:center;\">\n"
+" <hr width=\"100%\" style=\"background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;\"/>\n"
+" </td></tr>\n"
+" % if object.event_id.address_id:\n"
+" <tr><td valign=\"top\" style=\"font-size: 14px;\">\n"
+" <table style=\"width:100%;\"><tr><td>\n"
+" <div>\n"
+" <a href=\"https://maps.google.com/maps?q=${location}\" target=\"new\">\n"
+" <img src=\"http://maps.googleapis.com/maps/api/staticmap?autoscale=1&amp;size=598x200&amp;maptype=roadmap&amp;format=png&amp;visual_refresh=true&amp;markers=size:mid%7Ccolor:0xa5117d%7Clabel:%7C${location}\" style=\"vertical-align:bottom; width: 100%;\" alt=\"Google Maps\"/>\n"
+" </a>\n"
+" </div>\n"
+" </td></tr></table>\n"
+" </td></tr>\n"
+" % endif\n"
+" </table>\n"
+" </td>\n"
+" </tr>\n"
+"</tbody>\n"
+"</table>\n"
+"</td></tr>\n"
+"<!-- FOOTER BY -->\n"
+"% if object.company_id\n"
+"<tr><td align=\"center\" style=\"min-width: 590px;\">\n"
+" <table width=\"590\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;\">\n"
+" <tr><td style=\"text-align: center; font-size: 14px;\">\n"
+" Sent by <a target=\"_blank\" href=\"${object.company_id.website}\" style=\"color: #875A7B;\">${object.company_id.name}</a>\n"
+" % if 'website_url' in object.event_id and object.event_id.website_url:\n"
+" <br/>\n"
+" Discover <a href=\"/event\" style=\"text-decoration:none;color:#717188;\">all our events</a>.\n"
+" % endif\n"
+" </td></tr>\n"
+" </table>\n"
+"</td></tr>\n"
+"% endif\n"
+"</table>\n"
+" "
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__message_needaction
@@ -567,12 +946,12 @@ msgstr ""
#. module: event
#: model_terms:ir.actions.act_window,help:event.act_event_registration_from_event
msgid "Add a new attendee"
-msgstr ""
+msgstr "បន្ថែមអ្នកចូលរួមថ្មី"
#. module: event
#: model_terms:ir.actions.act_window,help:event.action_event_view
msgid "Add a new event"
-msgstr ""
+msgstr "បន្ថែមព្រឹត្តិការណ៍ថ្មី"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -583,13 +962,13 @@ msgstr ""
#: selection:event.mail,interval_type:0
#: selection:event.type.mail,interval_type:0
msgid "After each registration"
-msgstr ""
+msgstr "បន្ទាប់ពីរាល់ការចុះឈ្មោះ"
#. module: event
#: selection:event.mail,interval_type:0
#: selection:event.type.mail,interval_type:0
msgid "After the event"
-msgstr ""
+msgstr "បន្ទាប់ពីព្រឹត្តិការណ៍"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_search
@@ -602,6 +981,8 @@ msgid ""
"Are you sure you want to cancel this event? All the linked attendees will be"
" cancelled as well."
msgstr ""
+"តើអ្នកពិតជាចង់លុបចោលព្រឹត្តការណ៍នេះឬ? "
+"តំណភ្ជាប់អ្នកចូលរួមក៏ត្រូវបានលុបចោលដូចគ្នា។"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -617,25 +998,25 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form
msgid "Attendance"
-msgstr ""
+msgstr "វត្តមាន"
#. module: event
#: selection:event.registration,state:0
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_form
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Attended"
-msgstr ""
+msgstr "បានចូលរួម"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_registration__date_closed
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Attended Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទបានចូលរួម"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree
msgid "Attended the Event"
-msgstr ""
+msgstr "ព្រឹត្តិការណ៍បានចូលរួម"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_mail_registration__registration_id
@@ -647,7 +1028,7 @@ msgstr "ចូលរួម"
#: model:ir.model.fields,field_description:event.field_event_registration__name
#: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge
msgid "Attendee Name"
-msgstr ""
+msgstr "ឈ្មោះអ្នកចូលរួម"
#. module: event
#: model:ir.actions.act_window,name:event.act_event_registration_from_event
@@ -667,17 +1048,17 @@ msgstr ""
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__auto_confirm
msgid "Automatically Confirm Registrations"
-msgstr ""
+msgstr "ការបញ្ជាក់ការចុះឈ្មោះដោយស្វ័យប្រវត្តិ"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type__use_mail_schedule
msgid "Automatically Send Emails"
-msgstr ""
+msgstr "សារអេឡិចត្រូនិចផ្ញើរដោយស្វ័យប្រវត្តិ"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__seats_available
msgid "Available Seats"
-msgstr ""
+msgstr "កៅអីនៅសល់"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__badge_back
@@ -708,7 +1089,7 @@ msgstr "Barcode"
#: selection:event.mail,interval_type:0
#: selection:event.type.mail,interval_type:0
msgid "Before the event"
-msgstr ""
+msgstr "មុនព្រឹត្តិការណ៍"
#. module: event
#: model_terms:event.event,description:event.event_2
@@ -723,7 +1104,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Bring your own laptop."
-msgstr ""
+msgstr "យកកុំព្យូទ័រផ្ទាល់ខ្លួនរបស់អ្នក"
#. module: event
#: model_terms:event.event,description:event.event_0
@@ -743,13 +1124,13 @@ msgstr "លុបចោល"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_form
msgid "Cancel Event"
-msgstr ""
+msgstr "លុបចោលព្រឹត្តិការណ៍"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_form
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree
msgid "Cancel Registration"
-msgstr ""
+msgstr "លុបចោលការចុះឈ្មោះ"
#. module: event
#: selection:event.event,state:0 selection:event.registration,state:0
@@ -786,12 +1167,12 @@ msgstr "សរសេរអុីម៉ែល"
#. module: event
#: model:event.type,name:event.event_type_2
msgid "Conference"
-msgstr ""
+msgstr "សិក្ខាសាលា"
#. module: event
#: model:event.event,name:event.event_2
msgid "Conference for Architects"
-msgstr ""
+msgstr "សិក្ខាសាលាសម្រាប់ស្ថាបត្យកម្ម"
#. module: event
#: model:ir.model,name:event.model_res_config_settings
@@ -811,17 +1192,17 @@ msgstr "បញ្ជាក់"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_confirm
msgid "Confirm Anyway"
-msgstr ""
+msgstr "យ៉ាងណាក៏ដោយបញ្ជាក់យល់ព្រម"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_form
msgid "Confirm Event"
-msgstr ""
+msgstr "បញ្ជាក់ព្រឹត្តិការណ៍"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree
msgid "Confirm Registration"
-msgstr ""
+msgstr "បញ្ជាក់ការចុះឈ្មោះ"
#. module: event
#: selection:event.event,state:0 selection:event.registration,state:0
@@ -833,12 +1214,12 @@ msgstr "បញ្ជាក់"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
msgid "Confirmed attendees"
-msgstr ""
+msgstr "បានបញ្ជាក់អ្នកចូលរួម"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_search
msgid "Confirmed events"
-msgstr ""
+msgstr "បានបញ្ជាក់ព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model,name:event.model_res_partner
@@ -859,7 +1240,7 @@ msgstr "ប្រទេស"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Course Summary"
-msgstr ""
+msgstr "សង្ខេបមេរៀន"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_confirm__create_uid
@@ -893,22 +1274,22 @@ msgstr "អតិថិជន"
#: code:addons/event/models/event.py:457
#, python-format
msgid "Customer Email"
-msgstr ""
+msgstr "សារអេឡិចត្រូនិចរបស់អតិថិជន"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Day 1"
-msgstr ""
+msgstr "ថ្ងៃទី1"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Day 2"
-msgstr ""
+msgstr "ថ្ងៃទី2"
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Day 3"
-msgstr ""
+msgstr "ថ្ងៃទី3"
#. module: event
#: selection:event.mail,interval_unit:0
@@ -973,6 +1354,7 @@ msgid ""
"During this conference, our team will give a detailed overview of our "
"business applications. You’ll know all the benefits of using it."
msgstr ""
+"កំឡុងពេលនៃសិក្ខាសាលានេះ,ក្រុមរបស់យើងនឹងផ្តល់ការបង្ហាញពិស្តារនូវកម្មវិធីជំនួញរបស់ពួកយើង។អ្នកនឹងដឹងពីគុណសម្បត្តិនៃការប្រើប្រាស់។"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_registration__email
@@ -983,7 +1365,7 @@ msgstr "អុីម៉ែល"
#: model_terms:ir.ui.view,arch_db:event.view_event_form
#: model_terms:ir.ui.view,arch_db:event.view_event_type_form
msgid "Email Schedule"
-msgstr ""
+msgstr "កាលវិភាគសារអេឡិចត្រូនិច"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_mail__template_id
@@ -1042,17 +1424,17 @@ msgstr ""
#: model:ir.model,name:event.model_event_confirm
#: model_terms:ir.ui.view,arch_db:event.view_event_confirm
msgid "Event Confirmation"
-msgstr ""
+msgstr "ការបញ្ជាក់ព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_registration__event_end_date
msgid "Event End Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទបញ្ចប់ព្រឹត្តិការណ៍"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_form
msgid "Event Information"
-msgstr ""
+msgstr "ពត៌មានព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__event_logo
@@ -1077,7 +1459,7 @@ msgstr "ឈ្មោះព្រឹត្តការណ៍"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_calendar
msgid "Event Organization"
-msgstr ""
+msgstr "ការរៀបចំព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model,name:event.model_event_registration
@@ -1085,7 +1467,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_form
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Event Registration"
-msgstr ""
+msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍"
#. module: event
#: code:addons/event/models/event_mail.py:143
@@ -1109,12 +1491,12 @@ msgstr ""
#: model:ir.model.fields,field_description:event.field_event_registration__event_begin_date
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Event Start Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទចាប់ផ្តើមព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type_mail__event_type_id
msgid "Event Type"
-msgstr ""
+msgstr "ប្រភេទព្រឹត្តិការណ៍"
#. module: event
#: model:ir.actions.server,name:event.event_mail_scheduler_ir_actions_server
@@ -1135,12 +1517,12 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:event.view_event_search
#: model_terms:ir.ui.view,arch_db:event.view_event_tree
msgid "Events"
-msgstr ""
+msgstr "ព្រឹត្តិការណ៍"
#. module: event
#: model:ir.actions.act_window,name:event.event_event_action_pivot
msgid "Events Analysis"
-msgstr ""
+msgstr "ការវិភាគព្រឹត្តិការណ៍"
#. module: event
#: model:ir.actions.act_window,name:event.action_event_mail
@@ -1174,17 +1556,17 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_registration_search
msgid "Expected"
-msgstr ""
+msgstr "បានរំពឹងទុក"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_kanban
msgid "Expected attendees"
-msgstr ""
+msgstr "បានរំពឹងទុកអ្នកចូលរួម"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_form
msgid "Finish Event"
-msgstr ""
+msgstr "បញ្ចប់ព្រឹត្តិការណ៍"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event__message_follower_ids
@@ -1207,7 +1589,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_2
msgid "For any additional information, please contact us at"
-msgstr ""
+msgstr "សម្រាប់ពត៌មានបន្ថែមផ្សេងទៀត,សូមទាក់ទងពួកយើងនៅ"
#. module: event
#: model:ir.model.fields,help:event.field_event_event__seats_max
@@ -1215,6 +1597,9 @@ msgid ""
"For each event you can define a maximum registration of seats(number of "
"attendees), above this numbers the registrations are not accepted."
msgstr ""
+"សម្រាប់រាល់ព្រឹត្តិការណ៍ "
+"អ្នកអាចកំណត់ចំនួនអតិបរមានៃការចុះឈ្មោះកន្លែងអង្គុយ(ចំនួនអ្នកចូលរួម) "
+"លើសពីចំនួននេះការចុះឈ្មោះមិនត្រូវបានទទួលទេ។"
#. module: event
#: model:ir.model.fields,help:event.field_event_event__seats_min
@@ -1248,7 +1633,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_0
msgid "Hello World"
-msgstr ""
+msgstr "សួស្តីពិភពលោក"
#. module: event
#: selection:event.mail,interval_unit:0
@@ -1946,7 +2331,7 @@ msgstr ""
#. module: event
#: model:event.type,name:event.event_type_4
msgid "Training"
-msgstr ""
+msgstr "ការបណ្តុះបណ្តាល"
#. module: event
#: model_terms:event.event,description:event.event_0
diff --git a/addons/event_sale/i18n/km.po b/addons/event_sale/i18n/km.po
index 50a3cd867dc..05896f29758 100644
--- a/addons/event_sale/i18n/km.po
+++ b/addons/event_sale/i18n/km.po
@@ -32,7 +32,7 @@ msgstr ""
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_available
msgid "Available Seats"
-msgstr ""
+msgstr "កៅអីនៅសល់"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form
@@ -126,7 +126,7 @@ msgstr "ឈ្មោះព្រឹត្តការណ៍"
#: model:product.product,name:event_sale.product_product_event
#: model:product.template,name:event_sale.product_product_event_product_template
msgid "Event Registration"
-msgstr ""
+msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍"
#. module: event_sale
#: model:ir.actions.act_window,name:event_sale.action_sale_order_event_registration
@@ -156,7 +156,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:event_sale.event_sale_product_template_form
#: model:product.category,name:event_sale.product_category_events
msgid "Events"
-msgstr ""
+msgstr "ព្រឹត្តិការណ៍"
#. module: event_sale
#: code:addons/event_sale/models/event.py:254
@@ -338,7 +338,7 @@ msgstr ""
#. module: event_sale
#: model:ir.model,name:event_sale.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__deadline
@@ -423,7 +423,7 @@ msgstr ""
#: code:addons/event_sale/models/event.py:256
#, python-format
msgid "To pay"
-msgstr ""
+msgstr "ដើម្បីទូទាត់"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_unconfirmed
@@ -434,7 +434,7 @@ msgstr ""
#: model:product.product,uom_name:event_sale.product_product_event
#: model:product.template,uom_name:event_sale.product_product_event_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: event_sale
#: selection:event.event.ticket,seats_availability:0
@@ -451,7 +451,7 @@ msgstr ""
#: model:product.product,weight_uom_name:event_sale.product_product_event
#: model:product.template,weight_uom_name:event_sale.product_product_event_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form
diff --git a/addons/fetchmail/i18n/km.po b/addons/fetchmail/i18n/km.po
index 009944f9bbe..959e49f03d2 100644
--- a/addons/fetchmail/i18n/km.po
+++ b/addons/fetchmail/i18n/km.po
@@ -37,7 +37,7 @@ msgstr ""
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
msgid "Advanced Options"
-msgstr ""
+msgstr "ជម្រើសកម្រិតខ្ពស់"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__configuration
diff --git a/addons/fleet/i18n/km.po b/addons/fleet/i18n/km.po
index 1289febebb5..a82f457caaf 100644
--- a/addons/fleet/i18n/km.po
+++ b/addons/fleet/i18n/km.po
@@ -880,7 +880,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_search
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_view_search
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: fleet
#: selection:fleet.vehicle,fuel_type:0
@@ -1154,7 +1154,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_search
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_view_search
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: fleet
#: model:fleet.service.type,name:fleet.type_contract_leasing
@@ -1991,7 +1991,7 @@ msgstr "សរុប​"
#: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_log_fuel__amount
#: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_log_services__amount
msgid "Total Price"
-msgstr ""
+msgstr "តំលៃសរុប"
#. module: fleet
#: model:fleet.service.type,name:fleet.type_service_service_14
diff --git a/addons/gamification/i18n/km.po b/addons/gamification/i18n/km.po
index c3a651dfe1b..9df30c2f3c5 100644
--- a/addons/gamification/i18n/km.po
+++ b/addons/gamification/i18n/km.po
@@ -443,7 +443,7 @@ msgstr "សកម្ម"
#. module: gamification
#: model_terms:ir.ui.view,arch_db:gamification.challenge_form_view
msgid "Advanced Options"
-msgstr ""
+msgstr "ជម្រើសកម្រិតខ្ពស់"
#. module: gamification
#: model:ir.model.fields,field_description:gamification.field_gamification_badge__rule_auth
@@ -920,7 +920,7 @@ msgstr ""
#. module: gamification
#: model_terms:ir.ui.view,arch_db:gamification.goal_kanban_view
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: gamification
#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition__full_suffix
diff --git a/addons/gamification_sale_crm/i18n/km.po b/addons/gamification_sale_crm/i18n/km.po
index 28cb02f933f..ccce8ed39bb 100644
--- a/addons/gamification_sale_crm/i18n/km.po
+++ b/addons/gamification_sale_crm/i18n/km.po
@@ -76,7 +76,7 @@ msgstr ""
#: model:gamification.challenge.line,name:gamification_sale_crm.line_crm_sale1
#: model:gamification.goal.definition,name:gamification_sale_crm.definition_crm_tot_invoices
msgid "Total Invoiced"
-msgstr ""
+msgstr "វិក័យប័ត្រសរុប"
#. module: gamification_sale_crm
#: model:gamification.goal.definition,name:gamification_sale_crm.definition_crm_tot_paid_sale_order
diff --git a/addons/hr/i18n/cs.po b/addons/hr/i18n/cs.po
index fc7cddbbe28..1516298149e 100644
--- a/addons/hr/i18n/cs.po
+++ b/addons/hr/i18n/cs.po
@@ -624,7 +624,7 @@ msgstr ""
#. module: hr
#: selection:mail.alias,alias_contact:0
msgid "Followers only"
-msgstr ""
+msgstr "pouze sledující"
#. module: hr
#: model:ir.model.fields,field_description:hr.field_hr_employee__gender
diff --git a/addons/hr/i18n/it.po b/addons/hr/i18n/it.po
index a44d6fb3d75..c1317a75b77 100644
--- a/addons/hr/i18n/it.po
+++ b/addons/hr/i18n/it.po
@@ -650,7 +650,7 @@ msgstr "Followers (Partner)"
#. module: hr
#: selection:mail.alias,alias_contact:0
msgid "Followers only"
-msgstr "Followers soltanto"
+msgstr "Solo follower"
#. module: hr
#: model:ir.model.fields,field_description:hr.field_hr_employee__gender
diff --git a/addons/hr_attendance/i18n/cs.po b/addons/hr_attendance/i18n/cs.po
index 36855ef34dc..70327bf78b2 100644
--- a/addons/hr_attendance/i18n/cs.po
+++ b/addons/hr_attendance/i18n/cs.po
@@ -7,7 +7,7 @@
# Jaroslav Helemik Nemec <nemec@helemik.cz>, 2018
# Jan Horzinka <jan.horzinka@centrum.cz>, 2018
# Michal Veselý <michal@veselyberanek.net>, 2018
-# trendspotter <j.podhorecky@volny.cz>, 2018
+# trendspotter <j.podhorecky@volny.cz>, 2019
#
msgid ""
msgstr ""
@@ -15,7 +15,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-08-24 09:18+0000\n"
-"Last-Translator: trendspotter <j.podhorecky@volny.cz>, 2018\n"
+"Last-Translator: trendspotter <j.podhorecky@volny.cz>, 2019\n"
"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,7 +58,7 @@ msgstr ""
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance
msgid "<span class=\"o_stat_text\">Attendance</span>"
-msgstr ""
+msgstr "<span class=\"o_stat_text\">Docházka</span>"
#. module: hr_attendance
#: model_terms:ir.actions.act_window,help:hr_attendance.hr_employee_attendance_action_kanban
@@ -89,7 +89,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_pivot
#: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance
msgid "Attendance"
-msgstr "Účast"
+msgstr "Docházka"
#. module: hr_attendance
#: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action_graph
@@ -100,7 +100,7 @@ msgstr "Analýza docházky"
#. module: hr_attendance
#: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__attendance_state
msgid "Attendance Status"
-msgstr "Stav účasti"
+msgstr "Stav docházky"
#. module: hr_attendance
#: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action
@@ -111,7 +111,7 @@ msgstr "Stav účasti"
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_department_view_kanban
#: model_terms:ir.ui.view,arch_db:hr_attendance.res_config_settings_view_form
msgid "Attendances"
-msgstr "Účastníci"
+msgstr "Docházející"
#. module: hr_attendance
#. openerp-web
@@ -300,7 +300,7 @@ msgstr "PIN zaměstnance"
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_form
#: model_terms:ir.ui.view,arch_db:hr_attendance.view_attendance_tree
msgid "Employee attendances"
-msgstr "Docházka zaměstnance"
+msgstr "Docházky zaměstnanců"
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_kanban_inherit_hr_attendance
@@ -455,7 +455,7 @@ msgstr ""
#. module: hr_attendance
#: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__last_attendance_id
msgid "Last Attendance"
-msgstr "Poslední účast"
+msgstr "Poslední docházka"
#. module: hr_attendance
#: model:ir.model.fields,field_description:hr_attendance.field_hr_attendance____last_update
@@ -475,7 +475,7 @@ msgstr "Naposled upraveno"
#. module: hr_attendance
#: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance_manage_attendances
msgid "Manage Attendances"
-msgstr ""
+msgstr "Spravovat Docházky"
#. module: hr_attendance
#: model:res.groups,name:hr_attendance.group_hr_attendance_manager
@@ -486,7 +486,7 @@ msgstr "Manažer"
#: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__manual_attendance
#: model:res.groups,name:hr_attendance.group_hr_attendance
msgid "Manual Attendance"
-msgstr ""
+msgstr "Ručně zapsaná docházka"
#. module: hr_attendance
#: model:ir.actions.client,name:hr_attendance.hr_attendance_action_greeting_message
@@ -496,7 +496,7 @@ msgstr "Zpráva"
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_filter
msgid "My Attendances"
-msgstr "Moje účast"
+msgstr "Moje docházka"
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_filter
@@ -755,7 +755,7 @@ msgstr ""
#. module: hr_attendance
#: model:ir.model.fields,help:hr_attendance.field_hr_employee__attendance_ids
msgid "list of attendances for the employee"
-msgstr "seznam návštěv zaměstnanců"
+msgstr "seznam docházek zaměstnanců"
#. module: hr_attendance
#. openerp-web
diff --git a/addons/hr_attendance/i18n/km.po b/addons/hr_attendance/i18n/km.po
index faa5a339431..e795946c2d2 100644
--- a/addons/hr_attendance/i18n/km.po
+++ b/addons/hr_attendance/i18n/km.po
@@ -86,7 +86,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_pivot
#: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance
msgid "Attendance"
-msgstr ""
+msgstr "វត្តមាន"
#. module: hr_attendance
#: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action_graph
diff --git a/addons/hr_expense/i18n/cs.po b/addons/hr_expense/i18n/cs.po
index 704a50e21c8..4a54533d66f 100644
--- a/addons/hr_expense/i18n/cs.po
+++ b/addons/hr_expense/i18n/cs.po
@@ -1362,7 +1362,7 @@ msgstr "Ke schválení"
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_pay
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "To Pay"
-msgstr ""
+msgstr "K platbě"
#. module: hr_expense
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post
diff --git a/addons/hr_expense/i18n/da.po b/addons/hr_expense/i18n/da.po
index f70f44d4fbd..980b93e518e 100644
--- a/addons/hr_expense/i18n/da.po
+++ b/addons/hr_expense/i18n/da.po
@@ -15,6 +15,7 @@
# Ejner Sønniksen <ejner@vkdata.dk>, 2018
# lhmflexerp <lhm@flexerp.dk>, 2018
# Sanne Kristensen <sanne@vkdata.dk>, 2018
+# Rasmus Værum <rasmus@niova.dk>, 2019
#
msgid ""
msgstr ""
@@ -22,7 +23,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-08 06:48+0000\n"
"PO-Revision-Date: 2018-08-24 09:18+0000\n"
-"Last-Translator: Sanne Kristensen <sanne@vkdata.dk>, 2018\n"
+"Last-Translator: Rasmus Værum <rasmus@niova.dk>, 2019\n"
"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1387,7 +1388,7 @@ msgstr "Til betaling"
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "To Post"
-msgstr ""
+msgstr "Til bogføring"
#. module: hr_expense
#: selection:hr.expense,state:0
diff --git a/addons/hr_expense/i18n/km.po b/addons/hr_expense/i18n/km.po
index 54148a37492..71ff2703613 100644
--- a/addons/hr_expense/i18n/km.po
+++ b/addons/hr_expense/i18n/km.po
@@ -397,7 +397,7 @@ msgstr ""
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.res_config_settings_view_form
msgid "Email Alias"
-msgstr ""
+msgstr "អ៊ីម៉ែល"
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.res_config_settings_view_form
@@ -435,7 +435,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_form
msgid "Expense"
-msgstr ""
+msgstr "ចំណាយ"
#. module: hr_expense
#: model:mail.activity.type,name:hr_expense.mail_act_expense_approval
@@ -665,7 +665,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.product_product_expense_form_view
@@ -778,7 +778,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_res_config_settings__use_mailgateway
@@ -1029,12 +1029,12 @@ msgstr "ដៃគូ"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__amount
msgid "Payment Amount"
-msgstr ""
+msgstr "ចំនួនទឹកប្រាក់ទូទាត់"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__payment_date
msgid "Payment Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទបង់ប្រាក់"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__journal_id
@@ -1350,7 +1350,7 @@ msgstr ""
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_pay
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "To Pay"
-msgstr ""
+msgstr "ដើម្បីទូទាត់"
#. module: hr_expense
#: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post
@@ -1414,7 +1414,7 @@ msgstr ""
#: model:product.template,uom_name:hr_expense.air_ticket_product_template
#: model:product.template,uom_name:hr_expense.product_product_fixed_cost_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense__message_unread
@@ -1581,7 +1581,7 @@ msgstr ""
#: model:product.template,weight_uom_name:hr_expense.car_travel_product_template
#: model:product.template,weight_uom_name:hr_expense.product_product_fixed_cost_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: hr_expense
#: model:product.product,uom_name:hr_expense.car_travel
diff --git a/addons/hr_expense_check/i18n/it.po b/addons/hr_expense_check/i18n/it.po
index a2b7d576545..27b02c1c896 100644
--- a/addons/hr_expense_check/i18n/it.po
+++ b/addons/hr_expense_check/i18n/it.po
@@ -4,7 +4,7 @@
#
# Translators:
# Paolo Valier, 2018
-# Sergio Zanchetta <primes2h@gmail.com>, 2018
+# Sergio Zanchetta <primes2h@gmail.com>, 2019
#
msgid ""
msgstr ""
@@ -12,7 +12,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-08-24 09:18+0000\n"
-"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2018\n"
+"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2019\n"
"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,7 +39,7 @@ msgstr ""
#. module: hr_expense_check
#: model:ir.model,name:hr_expense_check.model_hr_expense_sheet_register_payment_wizard
msgid "Expense Register Payment Wizard"
-msgstr ""
+msgstr "Procedura registrazione pagamento nota spese"
#. module: hr_expense_check
#: model:ir.model.fields,field_description:hr_expense_check.field_hr_expense_sheet_register_payment_wizard__check_manual_sequencing
diff --git a/addons/hr_holidays/i18n/it.po b/addons/hr_holidays/i18n/it.po
index 628eb295e2d..0ae783b0533 100644
--- a/addons/hr_holidays/i18n/it.po
+++ b/addons/hr_holidays/i18n/it.po
@@ -2140,8 +2140,8 @@ msgid ""
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
-"Stato basato sulle attività:\n"
-"In ritardo: la data pianificata è scaduta\n"
+"Stato basato sulle attività\n"
+"In ritardo: la data di scadenza è superata\n"
"Oggi: la data dell'attività è oggi\n"
"Pianificata: attività future."
diff --git a/addons/hr_holidays/i18n/km.po b/addons/hr_holidays/i18n/km.po
index 749556a064e..380dcf68bf9 100644
--- a/addons/hr_holidays/i18n/km.po
+++ b/addons/hr_holidays/i18n/km.po
@@ -844,7 +844,7 @@ msgstr ""
#: model_terms:ir.actions.act_window,help:hr_holidays.hr_leave_action_payroll
#: model_terms:ir.actions.act_window,help:hr_holidays.open_company_allocation
msgid "Create a new leave request"
-msgstr ""
+msgstr "បង្កើតសំណើរឈប់សម្រាកថ្មីមួយ"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_holidays_summary_dept__create_uid
@@ -867,19 +867,19 @@ msgstr "បង្កើតនៅ"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__current_leave_state
msgid "Current Leave Status"
-msgstr ""
+msgstr "ស្ថានភាពឈប់សម្រាកថ្មី"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__current_leave_id
msgid "Current Leave Type"
-msgstr ""
+msgstr "ប្រភេទការឈប់សម្រាកថ្មី"
#. module: hr_holidays
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter_report
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter
msgid "Current Year"
-msgstr ""
+msgstr "ឆ្នាំថ្មីៗ"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__request_unit_hours
@@ -899,7 +899,7 @@ msgstr ""
#. module: hr_holidays
#: selection:hr.leave.type,request_unit:0
msgid "Day"
-msgstr ""
+msgstr "ថ្ងៃ"
#. module: hr_holidays
#: selection:hr.leave.allocation,unit_per_interval:0
@@ -1000,7 +1000,7 @@ msgstr ""
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__number_of_days_display
msgid "Duration in days"
-msgstr ""
+msgstr "រយៈពេលក្នុងថ្ងៃ"
#. module: hr_holidays
#: model:ir.model.fields,help:hr_holidays.field_hr_leave_allocation__number_of_days
@@ -1010,7 +1010,7 @@ msgstr ""
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__number_of_hours_display
msgid "Duration in hours"
-msgstr ""
+msgstr "រយៈពេលក្នុងម៉ោង"
#. module: hr_holidays
#: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_allocation_view_kanban
@@ -1036,7 +1036,7 @@ msgstr "បុគ្គលិក"
#. module: hr_holidays
#: selection:hr.leave.type,validation_type:0
msgid "Employee Manager"
-msgstr ""
+msgstr "អ្នកគ្រប់គ្រងបុគ្គលិក"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__category_id
@@ -1124,18 +1124,18 @@ msgstr ""
#: model:ir.model.fields,field_description:hr_holidays.field_hr_holidays_summary_employee__date_from
#: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_view_form
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__leave_date_from
msgid "From Date"
-msgstr ""
+msgstr "ចាប់ពីកាលបរិច្ឆេទ"
#. module: hr_holidays
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: hr_holidays
#: model:ir.model.fields,help:hr_holidays.field_hr_leave__payslip_status
@@ -1178,7 +1178,7 @@ msgstr ""
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__request_unit_half
msgid "Half Day"
-msgstr ""
+msgstr "កន្លះថ្ងៃ"
#. module: hr_holidays
#: model:ir.model,name:hr_holidays.model_report_hr_holidays_report_holidayssummary
@@ -1316,7 +1316,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: hr_holidays
#: selection:hr.leave.type,color_name:0
@@ -1735,7 +1735,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_report_tree
#: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_view_tree
msgid "Number of Days"
-msgstr ""
+msgstr "ចំនួនថ្ងៃ"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__leaves_count
@@ -1869,7 +1869,7 @@ msgstr ""
#. module: hr_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_hr_holidays_dashboard
msgid "Overview"
-msgstr ""
+msgstr "ទិដ្ឋភាពទូទៅ"
#. module: hr_holidays
#: model:hr.leave.type,name:hr_holidays.holiday_status_cla
diff --git a/addons/hr_maintenance/i18n/km.po b/addons/hr_maintenance/i18n/km.po
index aeb13fdae34..4c8eec6be26 100644
--- a/addons/hr_maintenance/i18n/km.po
+++ b/addons/hr_maintenance/i18n/km.po
@@ -35,7 +35,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_form_inherit_hr
#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_search_inherit_hr
msgid "Created By"
-msgstr ""
+msgstr "បានបង្កើតដោយ"
#. module: hr_maintenance
#: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_request__owner_user_id
diff --git a/addons/hr_payroll/i18n/km.po b/addons/hr_payroll/i18n/km.po
index bddf0edb7a4..ea2ec8614f2 100644
--- a/addons/hr_payroll/i18n/km.po
+++ b/addons/hr_payroll/i18n/km.po
@@ -956,7 +956,7 @@ msgstr "កំណត់សម្គាល់"
#. module: hr_payroll
#: model:ir.model.fields,field_description:hr_payroll.field_hr_payslip_worked_days__number_of_days
msgid "Number of Days"
-msgstr ""
+msgstr "ចំនួនថ្ងៃ"
#. module: hr_payroll
#: model:ir.model.fields,field_description:hr_payroll.field_hr_payslip_worked_days__number_of_hours
diff --git a/addons/hr_recruitment/i18n/it.po b/addons/hr_recruitment/i18n/it.po
index cafdc7c8c9c..f9c3d538dcc 100644
--- a/addons/hr_recruitment/i18n/it.po
+++ b/addons/hr_recruitment/i18n/it.po
@@ -2062,7 +2062,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__email_cc
msgid "Watchers Emails"
-msgstr "Email osservatori"
+msgstr "E-mail analisti"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__website_message_ids
diff --git a/addons/hr_recruitment/i18n/km.po b/addons/hr_recruitment/i18n/km.po
index 5b67e0233b1..8d770e9e262 100644
--- a/addons/hr_recruitment/i18n/km.po
+++ b/addons/hr_recruitment/i18n/km.po
@@ -804,7 +804,7 @@ msgstr ""
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__email_from
@@ -816,7 +816,7 @@ msgstr "អុីម៉ែល"
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_survey
msgid "Email Alias"
-msgstr ""
+msgstr "អ៊ីម៉ែល"
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_survey
@@ -922,7 +922,7 @@ msgstr ""
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_recruitment_degree__sequence
@@ -1151,7 +1151,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__kanban_state
msgid "Kanban State"
-msgstr ""
+msgstr "រដ្ឋកាណាន"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__legend_done
@@ -1181,7 +1181,7 @@ msgstr ""
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__date_last_stage_update
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
msgid "Last Stage Update"
-msgstr ""
+msgstr "ធ្វើឱ្យទាន់សម័យដំណាក់កាលចុងក្រោយ"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__write_uid
@@ -1204,7 +1204,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: hr_recruitment
#: model_terms:ir.actions.act_window,help:hr_recruitment.action_hr_job
@@ -1253,7 +1253,7 @@ msgstr "សារ"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__partner_mobile
msgid "Mobile"
-msgstr ""
+msgstr "ទូរស័ព្ទដៃ"
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
@@ -1338,7 +1338,7 @@ msgstr ""
#: model:ir.ui.menu,name:hr_recruitment.hr_applicant_nmenu_activity
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_tree_activity
msgid "Next Activities"
-msgstr ""
+msgstr "សកម្មភាពបន្ទាប់"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__activity_date_deadline
@@ -1359,7 +1359,7 @@ msgstr ""
#: code:addons/hr_recruitment/models/hr_recruitment.py:389
#, python-format
msgid "No Subject"
-msgstr ""
+msgstr "មិនមានប្រធានបទ"
#. module: hr_recruitment
#: model_terms:ir.actions.act_window,help:hr_recruitment.action_hr_job_applications
@@ -1515,7 +1515,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__probability
msgid "Probability"
-msgstr ""
+msgstr "ប្រូបាប"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__salary_proposed
@@ -1615,7 +1615,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__reference
msgid "Referred By"
-msgstr ""
+msgstr "ធានាដោយ"
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.crm_case_form_view_job
@@ -1990,7 +1990,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__user_email
msgid "User Email"
-msgstr ""
+msgstr "អ្នកប្រើប្រាស់អ៊ីម៉ែល"
#. module: hr_recruitment
#: selection:hr.applicant,priority:0
diff --git a/addons/hr_recruitment/i18n/uk.po b/addons/hr_recruitment/i18n/uk.po
index 12ef5a463c5..a9c631fba67 100644
--- a/addons/hr_recruitment/i18n/uk.po
+++ b/addons/hr_recruitment/i18n/uk.po
@@ -735,7 +735,7 @@ msgstr "Призначено"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__message_attachment_count
msgid "Attachment Count"
-msgstr "Підрахунок прикріплення"
+msgstr "Підрахунок прикріплень"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__attachment_ids
diff --git a/addons/hr_timesheet_attendance/i18n/cs.po b/addons/hr_timesheet_attendance/i18n/cs.po
index b41569861f7..504924f26f3 100644
--- a/addons/hr_timesheet_attendance/i18n/cs.po
+++ b/addons/hr_timesheet_attendance/i18n/cs.po
@@ -6,14 +6,15 @@
# Martin Trigaux, 2018
# Chris <krystof.reklamy13@gmail.com>, 2018
# Jan Horzinka <jan.horzinka@centrum.cz>, 2018
-# trendspotter, 2018
+# trendspotter <j.podhorecky@volny.cz>, 2019
+#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
-"PO-Revision-Date: 2018-09-21 13:17+0000\n"
-"Last-Translator: trendspotter, 2018\n"
+"PO-Revision-Date: 2018-08-24 09:19+0000\n"
+"Last-Translator: trendspotter <j.podhorecky@volny.cz>, 2019\n"
"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -81,4 +82,4 @@ msgstr "Uživatel"
#: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_pivot
#: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_search
msgid "timesheet attendance"
-msgstr ""
+msgstr "časový rozvrh docházky"
diff --git a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py
index 0aa0bbaf275..572ba6d5ce9 100644
--- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py
+++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py
@@ -17,6 +17,7 @@ class TimesheetAttendance(models.Model):
@api.model_cr
def init(self):
+ self._cr.execute("DROP VIEW IF EXISTS hr_timesheet_attendance_report")
self._cr.execute("""CREATE OR REPLACE VIEW %s AS (
SELECT
max(id) AS id,
@@ -31,7 +32,7 @@ class TimesheetAttendance(models.Model):
resource_resource.user_id AS user_id,
hr_attendance.worked_hours AS attendance,
NULL AS timesheet,
- date_trunc('day', hr_attendance.check_in) AS date
+ hr_attendance.check_in::date AS date
FROM hr_attendance
LEFT JOIN hr_employee ON hr_employee.id = hr_attendance.employee_id
LEFT JOIN resource_resource on resource_resource.id = hr_employee.resource_id
@@ -41,7 +42,7 @@ class TimesheetAttendance(models.Model):
ts.user_id AS user_id,
NULL AS attendance,
ts.unit_amount AS timesheet,
- date_trunc('day', ts.date) AS date
+ ts.date AS date
FROM account_analytic_line AS ts
WHERE ts.project_id IS NOT NULL
) AS t
diff --git a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml
index 85d071cf51d..6d868f15c50 100644
--- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml
+++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml
@@ -15,7 +15,7 @@
<field name="name">HR timesheet attendance report: Pivot</field>
<field name="model">hr.timesheet.attendance.report</field>
<field name="arch" type="xml">
- <pivot string="timesheet attendance">
+ <pivot string="timesheet attendance" disable_linking="True">
<field name="user_id" type="row"/>
<field name="date" interval="day" type="col"/>
<field name="total_difference" type="measure" widget="float_time"/>
diff --git a/addons/hw_drivers/controllers/driver.py b/addons/hw_drivers/controllers/driver.py
index 64d45a1fcfc..90e498a401c 100755
--- a/addons/hw_drivers/controllers/driver.py
+++ b/addons/hw_drivers/controllers/driver.py
@@ -55,7 +55,7 @@ def get_token():
return read_file_first_line('token')
def get_version():
- return '19_04'
+ return '19_07'
#----------------------------------------------------------
# Controllers
diff --git a/addons/hw_posbox_homepage/views/homepage.html b/addons/hw_posbox_homepage/views/homepage.html
index b14573e9805..74a502f7ca7 100644
--- a/addons/hw_posbox_homepage/views/homepage.html
+++ b/addons/hw_posbox_homepage/views/homepage.html
@@ -91,7 +91,7 @@
</tr>
<tr>
<td class="heading">Version</td>
- <td>V19.04 <a class="btn btn-sm float-right" href='/hw_proxy/upgrade/'>update</a></td>
+ <td>V19.07 <a class="btn btn-sm float-right" href='/hw_proxy/upgrade/'>update</a></td>
</tr>
<tr>
<td class="heading">IP Address</td>
diff --git a/addons/im_livechat/i18n/km.po b/addons/im_livechat/i18n/km.po
index 6d7293dd29a..9f33bc343e2 100644
--- a/addons/im_livechat/i18n/km.po
+++ b/addons/im_livechat/i18n/km.po
@@ -40,7 +40,7 @@ msgstr ""
#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel__rating_percentage_satisfaction
#: model_terms:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form
msgid "% Happy"
-msgstr ""
+msgstr "% រីករាយ"
#. module: im_livechat
#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule__action
diff --git a/addons/l10n_multilang/i18n/km.po b/addons/l10n_multilang/i18n/km.po
index f28efef1708..65a61afaab1 100644
--- a/addons/l10n_multilang/i18n/km.po
+++ b/addons/l10n_multilang/i18n/km.po
@@ -54,7 +54,7 @@ msgstr ""
#. module: l10n_multilang
#: model:ir.model.fields,field_description:l10n_multilang.field_account_tax_template__description
msgid "Display on Invoices"
-msgstr ""
+msgstr "បង្ហាញលើវិក័យប័ត្រ"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
@@ -134,7 +134,7 @@ msgstr ""
#: model:ir.model.fields,field_description:l10n_multilang.field_account_tax__name
#: model:ir.model.fields,field_description:l10n_multilang.field_account_tax_template__name
msgid "Tax Name"
-msgstr ""
+msgstr "ឈ្មោះពន្ធ"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
diff --git a/addons/lunch/i18n/cs.po b/addons/lunch/i18n/cs.po
index b502327e635..9bf2cd19881 100644
--- a/addons/lunch/i18n/cs.po
+++ b/addons/lunch/i18n/cs.po
@@ -910,7 +910,7 @@ msgstr ""
#. module: lunch
#: model_terms:ir.actions.act_window,help:lunch.lunch_cashmove_action_payment
msgid "Register a payment"
-msgstr ""
+msgstr "Registrovat platbu"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_alert__saturday
diff --git a/addons/lunch/i18n/km.po b/addons/lunch/i18n/km.po
index b09a03c0e0e..626f80cff19 100644
--- a/addons/lunch/i18n/km.po
+++ b/addons/lunch/i18n/km.po
@@ -373,7 +373,7 @@ msgstr "កាលបរិច្ឆេត"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_alert__specific_day
msgid "Day"
-msgstr ""
+msgstr "ថ្ងៃ"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_cashmove__description
diff --git a/addons/mail/i18n/km.po b/addons/mail/i18n/km.po
index 4d011c7803a..c98a276512e 100644
--- a/addons/mail/i18n/km.po
+++ b/addons/mail/i18n/km.po
@@ -194,6 +194,10 @@ msgstr ""
msgid ""
"<div><p>Hello,</p><p>%s invited you to follow a new document.</p></div>"
msgstr ""
+"<i class=\"fa fa-ban\" style=\"color: red;\" role=\"img\" title=\"This email"
+" is blacklisted for mass mailing\" aria-label=\"Blacklisted\" "
+"attrs=\"{'invisible': [('is_blacklisted', '=', False)]}\" "
+"groups=\"base.group_user\"/>"
#. module: mail
#. openerp-web
@@ -403,7 +407,7 @@ msgstr "សកម្ម"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__active_domain
msgid "Active domain"
-msgstr ""
+msgstr "ដែនសកម្ម"
#. module: mail
#. openerp-web
@@ -513,7 +517,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__add_sign
#: model:ir.model.fields,field_description:mail.field_mail_message__add_sign
msgid "Add Sign"
-msgstr ""
+msgstr "បន្ថែមហត្ថលេខា"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview__user_signature
@@ -563,7 +567,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.email_compose_message_wizard_form
#: model_terms:ir.ui.view,arch_db:mail.mail_wizard_invite_form
msgid "Add contacts to notify..."
-msgstr ""
+msgstr "បន្ថែមទំនាក់ទំនងដើម្បីជូនដំណឹង ..."
#. module: mail
#. openerp-web
@@ -575,7 +579,7 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__partner_ids
msgid "Additional Contacts"
-msgstr ""
+msgstr "ទំនាក់ទំនងបន្ថែម"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.view_mail_form
@@ -585,7 +589,7 @@ msgstr ""
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.email_template_form
msgid "Advanced Settings"
-msgstr ""
+msgstr "ការកំណត់កម្រិតខ្ពស់"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity_type__delay_count
@@ -935,7 +939,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_channel_partner__is_blacklisted
#: model:ir.model.fields,field_description:mail.field_res_partner__is_blacklisted
msgid "Blacklist"
-msgstr ""
+msgstr "បញ្ជើខ្មៅ"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_blacklist_view_tree
@@ -953,7 +957,7 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,field_description:mail.field_res_partner__message_bounce
msgid "Bounce"
-msgstr ""
+msgstr "ប្រាក់បន្ថែម"
#. module: mail
#. openerp-web
@@ -1306,7 +1310,7 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,help:mail.field_res_partner__message_bounce
msgid "Counter of the number of bounced emails for this contact"
-msgstr ""
+msgstr "រាប់ចំនួនអ៊ីមែលដែលបានលោតឡើងសម្រាប់ទំនាក់ទំនងនេះ"
#. module: mail
#. openerp-web
@@ -1340,7 +1344,7 @@ msgstr ""
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_search
msgid "Created By"
-msgstr ""
+msgstr "បានបង្កើតដោយ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview__create_uid
@@ -1519,17 +1523,17 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__auto_delete
msgid "Delete Emails"
-msgstr ""
+msgstr "លុបសារអេឡិចត្រូនិច"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__auto_delete_message
msgid "Delete Message Copy"
-msgstr ""
+msgstr "លុបការចម្លងសារ"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message__auto_delete
msgid "Delete sent emails (mass mailing only)"
-msgstr ""
+msgstr "លុបអ៊ីម៉ែលដែលបានផ្ញើ (ផ្ញើរសារច្រើនប៉ុណ្ណោះ)"
#. module: mail
#: selection:mail.mail,state:0
@@ -1759,7 +1763,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/activity.xml:83
#, python-format
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_resend_message_view_form
@@ -1800,7 +1804,7 @@ msgstr "អាស័យ​ដ្ឋាន​អ៊ី​ម៉េ​ល"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_channel_view_form
msgid "Email Alias"
-msgstr ""
+msgstr "អ៊ីម៉ែល"
#. module: mail
#: model:ir.model,name:mail.model_mail_alias
@@ -2180,7 +2184,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_message__email_from
#: model:ir.model.fields,field_description:mail.field_mail_template__email_from
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: mail
#. openerp-web
@@ -2200,7 +2204,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_search
#: model_terms:ir.ui.view,arch_db:mail.res_partner_view_search_inherit_mail
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: mail
#: selection:ir.actions.act_window.view,view_mode:0
@@ -2291,7 +2295,7 @@ msgstr ""
#: model:ir.model.fields,help:mail.field_mail_mail__has_error
#: model:ir.model.fields,help:mail.field_mail_message__has_error
msgid "Has error"
-msgstr ""
+msgstr "មានកំហុស"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_mail__headers
@@ -2443,6 +2447,8 @@ msgid ""
"If the email address is on the blacklist, the contact won't receive mass "
"mailing anymore, from any list"
msgstr ""
+"ប្រសិនបើអាស័យដ្ឋានអ៊ីម៉ែលស្ថិតនៅក្នុងបញ្ជីខ្មៅនោះទំនាក់ទំនងនឹងមិនទទួលបានសំបុត្រធំ"
+" ៗ ទៀតទេពីបញ្ជីណាមួយ"
#. module: mail
#: model:ir.model.fields,help:mail.field_res_config_settings__alias_domain
@@ -2782,7 +2788,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_search
#: model_terms:ir.ui.view,arch_db:mail.res_partner_view_search_inherit_mail
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__layout
@@ -3520,7 +3526,7 @@ msgstr ""
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_tree
msgid "Next Activities"
-msgstr ""
+msgstr "សកម្មភាពបន្ទាប់"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity_mixin__activity_date_deadline
@@ -3990,7 +3996,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__needaction_partner_ids
#: model:ir.model.fields,field_description:mail.field_mail_message__needaction_partner_ids
msgid "Partners with Need Action"
-msgstr ""
+msgstr "ដៃគូដែលត្រូវការសកម្មភាព"
#. module: mail
#: selection:mail.compose.message,moderation_status:0
@@ -4882,7 +4888,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_message__subtype_id
#: model_terms:ir.ui.view,arch_db:mail.view_message_subtype_tree
msgid "Subtype"
-msgstr ""
+msgstr "ប្រភេទរង"
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_message_subtype
@@ -5132,7 +5138,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_ir_model_fields__track_visibility
#: model_terms:ir.ui.view,arch_db:mail.view_message_form
msgid "Tracking"
-msgstr ""
+msgstr "ការ​តាមដាន"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.view_mail_tracking_value_form
@@ -5156,13 +5162,13 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__tracking_value_ids
#: model:ir.model.fields,field_description:mail.field_mail_message__tracking_value_ids
msgid "Tracking values"
-msgstr ""
+msgstr "តម្លៃតាមដាន"
#. module: mail
#: selection:ir.actions.act_window.view,view_mode:0
#: selection:ir.ui.view,type:0
msgid "Tree"
-msgstr ""
+msgstr "មែកធាង"
#. module: mail
#. openerp-web
@@ -5372,12 +5378,12 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__use_active_domain
msgid "Use active domain"
-msgstr ""
+msgstr "ប្រើដែនសកម្ម"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__template_id
msgid "Use template"
-msgstr ""
+msgstr "ប្រើពុម្ព"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.res_config_settings_view_form
@@ -5521,7 +5527,7 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message__is_log
msgid "Whether the message is an internal note (comment mode only)"
-msgstr ""
+msgstr "ថាតើសារជាកំណត់ត្រាខាងក្នុង (របៀបវិចារណកថាប៉ុណ្ណោះ)"
#. module: mail
#: model:ir.model.fields,help:mail.field_ir_model__is_mail_thread
diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py
index 8e35a8fda18..9b450b9b2a9 100644
--- a/addons/mail/models/mail_thread.py
+++ b/addons/mail/models/mail_thread.py
@@ -696,6 +696,10 @@ class MailThread(models.AbstractModel):
params['token'] = token
link = '%s?%s' % (base_link, url_encode(params))
+
+ if self and hasattr(self, 'get_base_url'):
+ link = self[0].get_base_url() + link
+
return link
@api.multi
diff --git a/addons/maintenance/i18n/km.po b/addons/maintenance/i18n/km.po
index 2b40ce15bab..dc83f1cf217 100644
--- a/addons/maintenance/i18n/km.po
+++ b/addons/maintenance/i18n/km.po
@@ -297,7 +297,7 @@ msgstr "តំលៃ"
#. module: maintenance
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
msgid "Created By"
-msgstr ""
+msgstr "បានបង្កើតដោយ"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__create_uid
@@ -428,7 +428,7 @@ msgstr ""
#. module: maintenance
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form
msgid "Email Alias"
-msgstr ""
+msgstr "អ៊ីម៉ែល"
#. module: maintenance
#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_id
@@ -526,7 +526,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: maintenance
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_search
@@ -549,7 +549,7 @@ msgstr ""
#. module: maintenance
#: selection:maintenance.request,priority:0
msgid "High"
-msgstr ""
+msgstr "ខ្ពស់"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__id
@@ -616,7 +616,7 @@ msgstr ""
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__kanban_state
msgid "Kanban State"
-msgstr ""
+msgstr "រដ្ឋកាណាន"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment____last_update
@@ -649,7 +649,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__location
@@ -664,7 +664,7 @@ msgstr ""
#. module: maintenance
#: selection:maintenance.request,priority:0
msgid "Low"
-msgstr ""
+msgstr "ខាត"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_main_attachment_id
@@ -1075,7 +1075,7 @@ msgstr ""
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__request_ids
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban
msgid "Request"
-msgstr ""
+msgstr "ស្នើរសុំ"
#. module: maintenance
#: model:mail.message.subtype,name:maintenance.mt_req_created
@@ -1375,7 +1375,7 @@ msgstr ""
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__partner_ref
msgid "Vendor Reference"
-msgstr ""
+msgstr "សេចក្តីយោងអ្នកលក់"
#. module: maintenance
#: selection:maintenance.request,priority:0
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index 3c75c7934a3..fd954733e6f 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -22,7 +22,7 @@ class MassMailController(http.Controller):
model_display = mailing.mailing_model_id.display_name
blacklist_entry._message_log(description + " ({})".format(model_display))
- @http.route(['/unsubscribe_from_list'], type='http', website=True, multilang=False, auth='public')
+ @http.route(['/unsubscribe_from_list'], type='http', website=True, multilang=False, auth='public', sitemap=False)
def unsubscribe_placeholder_link(self, **post):
"""Dummy route so placeholder is not prefixed by language, MUST have multilang=False"""
raise werkzeug.exceptions.NotFound()
diff --git a/addons/mass_mailing/i18n/ar.po b/addons/mass_mailing/i18n/ar.po
index 65784e40892..a6a99f96afc 100644
--- a/addons/mass_mailing/i18n/ar.po
+++ b/addons/mass_mailing/i18n/ar.po
@@ -2338,9 +2338,9 @@ msgstr "أنت غير مسجل في أي من قائمتنا البريدية."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/az.po b/addons/mass_mailing/i18n/az.po
index 60ab6842de8..e4c8e39b561 100644
--- a/addons/mass_mailing/i18n/az.po
+++ b/addons/mass_mailing/i18n/az.po
@@ -2315,9 +2315,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/bs.po b/addons/mass_mailing/i18n/bs.po
index 9f654b420e7..0008c7633c4 100644
--- a/addons/mass_mailing/i18n/bs.po
+++ b/addons/mass_mailing/i18n/bs.po
@@ -2320,9 +2320,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/ca.po b/addons/mass_mailing/i18n/ca.po
index cb9d5594617..1304f905754 100644
--- a/addons/mass_mailing/i18n/ca.po
+++ b/addons/mass_mailing/i18n/ca.po
@@ -2412,9 +2412,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/da.po b/addons/mass_mailing/i18n/da.po
index fa573d545f0..99721853c98 100644
--- a/addons/mass_mailing/i18n/da.po
+++ b/addons/mass_mailing/i18n/da.po
@@ -2339,9 +2339,9 @@ msgstr "Du er ikke tilmeldt nogen af vores maillister."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/de.po b/addons/mass_mailing/i18n/de.po
index 475fee8f46f..3b163410258 100644
--- a/addons/mass_mailing/i18n/de.po
+++ b/addons/mass_mailing/i18n/de.po
@@ -2520,9 +2520,9 @@ msgstr "Sie sind derzeit bei keiner Mailingliste angemeldet."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/el.po b/addons/mass_mailing/i18n/el.po
index 78f98a1db71..3d22d2462f1 100644
--- a/addons/mass_mailing/i18n/el.po
+++ b/addons/mass_mailing/i18n/el.po
@@ -2415,9 +2415,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/es.po b/addons/mass_mailing/i18n/es.po
index 569e374a239..ee0a5ccf58d 100644
--- a/addons/mass_mailing/i18n/es.po
+++ b/addons/mass_mailing/i18n/es.po
@@ -2501,9 +2501,9 @@ msgstr "No está suscrito a ninguna de nuestras listas de mailing"
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/et.po b/addons/mass_mailing/i18n/et.po
index 32367df058e..01546dc16d9 100644
--- a/addons/mass_mailing/i18n/et.po
+++ b/addons/mass_mailing/i18n/et.po
@@ -2327,9 +2327,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/fa.po b/addons/mass_mailing/i18n/fa.po
index 0bd6ee0467b..471ec3f2962 100644
--- a/addons/mass_mailing/i18n/fa.po
+++ b/addons/mass_mailing/i18n/fa.po
@@ -2331,9 +2331,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/fr.po b/addons/mass_mailing/i18n/fr.po
index 51e9eabc988..547ddc818a6 100644
--- a/addons/mass_mailing/i18n/fr.po
+++ b/addons/mass_mailing/i18n/fr.po
@@ -2545,10 +2545,10 @@ msgstr "Vous n'êtes pas abonné à l'une des notre liste d'envoi."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
-msgstr "Vous avez été <strong>désinscrit avec succès de</strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
+msgstr ""
#. module: mass_mailing
#. openerp-web
diff --git a/addons/mass_mailing/i18n/gu.po b/addons/mass_mailing/i18n/gu.po
index 1f22a77f7f2..48abc8065f7 100644
--- a/addons/mass_mailing/i18n/gu.po
+++ b/addons/mass_mailing/i18n/gu.po
@@ -2323,9 +2323,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/he.po b/addons/mass_mailing/i18n/he.po
index 524664370be..d19f55719d1 100644
--- a/addons/mass_mailing/i18n/he.po
+++ b/addons/mass_mailing/i18n/he.po
@@ -2327,9 +2327,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/hr.po b/addons/mass_mailing/i18n/hr.po
index b68b89266d3..bad35ef1309 100644
--- a/addons/mass_mailing/i18n/hr.po
+++ b/addons/mass_mailing/i18n/hr.po
@@ -2458,9 +2458,9 @@ msgstr "Niste se pretplatili na bilo koju našu mailing listu."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/hu.po b/addons/mass_mailing/i18n/hu.po
index f042ab82a4b..431a4427de1 100644
--- a/addons/mass_mailing/i18n/hu.po
+++ b/addons/mass_mailing/i18n/hu.po
@@ -2438,9 +2438,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/is.po b/addons/mass_mailing/i18n/is.po
index 3362e5cb197..393b6bb6b9e 100644
--- a/addons/mass_mailing/i18n/is.po
+++ b/addons/mass_mailing/i18n/is.po
@@ -2373,9 +2373,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/ja.po b/addons/mass_mailing/i18n/ja.po
index 951d11ef64c..1964e8dc2d3 100644
--- a/addons/mass_mailing/i18n/ja.po
+++ b/addons/mass_mailing/i18n/ja.po
@@ -2326,9 +2326,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/mn.po b/addons/mass_mailing/i18n/mn.po
index 55fb37e697f..43b694b10e7 100644
--- a/addons/mass_mailing/i18n/mn.po
+++ b/addons/mass_mailing/i18n/mn.po
@@ -2463,9 +2463,9 @@ msgstr "Та манай аль ч мэйл жагсаалтад бүртгүүл
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/nb.po b/addons/mass_mailing/i18n/nb.po
index 877ae0f66ed..ca8b850ddb9 100644
--- a/addons/mass_mailing/i18n/nb.po
+++ b/addons/mass_mailing/i18n/nb.po
@@ -2425,9 +2425,9 @@ msgstr "Du abonnerer ikke på noen av epostlistene våre."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/nl.po b/addons/mass_mailing/i18n/nl.po
index c8a64142c63..a95812b122f 100644
--- a/addons/mass_mailing/i18n/nl.po
+++ b/addons/mass_mailing/i18n/nl.po
@@ -2538,10 +2538,10 @@ msgstr "U bent niet ingeschreven voor een van onze nieuwsbrieven."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
-msgstr "U bent <strong> succesvol uitgeschreven uit</strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
+msgstr "U bent <strong>succesvol uitgeschreven van %s</strong>."
#. module: mass_mailing
#. openerp-web
diff --git a/addons/mass_mailing/i18n/pt.po b/addons/mass_mailing/i18n/pt.po
index d1a25871d93..ab170b0275b 100644
--- a/addons/mass_mailing/i18n/pt.po
+++ b/addons/mass_mailing/i18n/pt.po
@@ -2330,9 +2330,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/pt_BR.po b/addons/mass_mailing/i18n/pt_BR.po
index ce12b8a9649..243ef525dfa 100644
--- a/addons/mass_mailing/i18n/pt_BR.po
+++ b/addons/mass_mailing/i18n/pt_BR.po
@@ -2430,9 +2430,9 @@ msgstr "Você não está inscrito em nenhuma de nossa listas de correspondência
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/ro.po b/addons/mass_mailing/i18n/ro.po
index fbb12029a13..94331040334 100644
--- a/addons/mass_mailing/i18n/ro.po
+++ b/addons/mass_mailing/i18n/ro.po
@@ -2415,9 +2415,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/ru.po b/addons/mass_mailing/i18n/ru.po
index 22b6682338d..ae4e9cff039 100644
--- a/addons/mass_mailing/i18n/ru.po
+++ b/addons/mass_mailing/i18n/ru.po
@@ -2472,9 +2472,9 @@ msgstr "Вы не подписаны на какой-либо из нашего
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/sk.po b/addons/mass_mailing/i18n/sk.po
index fcc34e49b23..189bfb972aa 100644
--- a/addons/mass_mailing/i18n/sk.po
+++ b/addons/mass_mailing/i18n/sk.po
@@ -2330,9 +2330,9 @@ msgstr "Nie ste prihlásený k žiadnemu odberu v nášho mailing listu."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/sr.po b/addons/mass_mailing/i18n/sr.po
index f9bb97d1ab4..737ee29ed07 100644
--- a/addons/mass_mailing/i18n/sr.po
+++ b/addons/mass_mailing/i18n/sr.po
@@ -2319,9 +2319,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/sv.po b/addons/mass_mailing/i18n/sv.po
index 45e1888a734..70ae6b24aba 100644
--- a/addons/mass_mailing/i18n/sv.po
+++ b/addons/mass_mailing/i18n/sv.po
@@ -2418,9 +2418,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/th.po b/addons/mass_mailing/i18n/th.po
index d31972f005d..55ae075c42c 100644
--- a/addons/mass_mailing/i18n/th.po
+++ b/addons/mass_mailing/i18n/th.po
@@ -2328,9 +2328,9 @@ msgstr ""
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/tr.po b/addons/mass_mailing/i18n/tr.po
index f767415438a..c0046f35c85 100644
--- a/addons/mass_mailing/i18n/tr.po
+++ b/addons/mass_mailing/i18n/tr.po
@@ -2488,9 +2488,9 @@ msgstr "E-Posta listelerimizden herhangi birine üye değilsiniz."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/uk.po b/addons/mass_mailing/i18n/uk.po
index 1f4764eb5d0..c7ee5d0563e 100644
--- a/addons/mass_mailing/i18n/uk.po
+++ b/addons/mass_mailing/i18n/uk.po
@@ -383,12 +383,12 @@ msgstr "Заархівовано"
#. module: mass_mailing
#: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form
msgid "Attach a file"
-msgstr "Долучити файл"
+msgstr "Прикріпити файл"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_contact__message_attachment_count
msgid "Attachment Count"
-msgstr "Підрахунок прикріплення"
+msgstr "Підрахунок прикріплень"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing__attachment_ids
@@ -2527,10 +2527,10 @@ msgstr "Ви не підписані на наш список розсилки."
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
-msgstr "Ви <strong>успішно відписалися від </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
+msgstr "Ви <strong>успішно відписалися від %s</strong>."
#. module: mass_mailing
#. openerp-web
diff --git a/addons/mass_mailing/i18n/vi.po b/addons/mass_mailing/i18n/vi.po
index 88d904e8298..9b590a981e4 100644
--- a/addons/mass_mailing/i18n/vi.po
+++ b/addons/mass_mailing/i18n/vi.po
@@ -2333,9 +2333,9 @@ msgstr "Bạn chưa đăng ký nhận tin từ bất kỳ mailing list nào củ
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
msgstr ""
#. module: mass_mailing
diff --git a/addons/mass_mailing/i18n/zh_CN.po b/addons/mass_mailing/i18n/zh_CN.po
index f041ca95ad7..35ae0dc385e 100644
--- a/addons/mass_mailing/i18n/zh_CN.po
+++ b/addons/mass_mailing/i18n/zh_CN.po
@@ -2473,10 +2473,10 @@ msgstr "您没有订阅任何我们的邮件列表。"
#. module: mass_mailing
#. openerp-web
-#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49
+#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50
#, python-format
-msgid "You have been <strong>successfully unsubscribed from </strong>."
-msgstr "您已<strong>成功取消订阅</strong>。"
+msgid "You have been <strong>successfully unsubscribed from %s</strong>."
+msgstr ""
#. module: mass_mailing
#. openerp-web
diff --git a/addons/mass_mailing_sale/i18n/km.po b/addons/mass_mailing_sale/i18n/km.po
index 4668b530f13..c48a398c940 100644
--- a/addons/mass_mailing_sale/i18n/km.po
+++ b/addons/mass_mailing_sale/i18n/km.po
@@ -2,12 +2,16 @@
# This file contains the translation of the following modules:
# * mass_mailing_sale
#
+# Translators:
+# Lux Sok <sok.lux@gmail.com>, 2019
+#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-08 06:49+0000\n"
-"PO-Revision-Date: 2018-10-08 06:49+0000\n"
+"PO-Revision-Date: 2018-08-24 09:21+0000\n"
+"Last-Translator: Lux Sok <sok.lux@gmail.com>, 2019\n"
"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,7 +22,7 @@ msgstr ""
#. module: mass_mailing_sale
#: model_terms:ir.ui.view,arch_db:mass_mailing_sale.mail_mass_mailing_view_form
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: mass_mailing_sale
#: model:ir.model.fields,field_description:mass_mailing_sale.field_mail_mass_mailing__sale_invoiced_amount
diff --git a/addons/membership/i18n/km.po b/addons/membership/i18n/km.po
index 0a6500f0fb3..556020194ef 100644
--- a/addons/membership/i18n/km.po
+++ b/addons/membership/i18n/km.po
@@ -270,7 +270,7 @@ msgstr ""
#. module: membership
#: model:ir.model.fields,field_description:membership.field_membership_membership_line__date_from
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: membership
#: model_terms:ir.ui.view,arch_db:membership.view_report_membership_search
@@ -293,7 +293,7 @@ msgstr "ID"
#. module: membership
#: model_terms:ir.ui.view,arch_db:membership.membership_product_search_form_view
msgid "Inactive"
-msgstr ""
+msgstr "អសកម្ម"
#. module: membership
#: model:ir.model,name:membership.model_account_invoice
diff --git a/addons/mrp/i18n/km.po b/addons/mrp/i18n/km.po
index ee0f635d6e1..13b79efc2c6 100644
--- a/addons/mrp/i18n/km.po
+++ b/addons/mrp/i18n/km.po
@@ -1225,7 +1225,7 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrporder
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.oee_search_view
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_workcenter_view
@@ -1310,7 +1310,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.document,priority:0
msgid "High"
-msgstr ""
+msgstr "ខ្ពស់"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_change_production_qty__id
@@ -1450,7 +1450,7 @@ msgstr ""
#. module: mrp
#: selection:stock.picking.type,code:0
msgid "Internal"
-msgstr ""
+msgstr "ផ្ទៃក្នុង"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_production_moves
@@ -1601,7 +1601,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
#: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: mrp
#: model:product.product,description:mrp.product_product_wood_ply
@@ -1685,7 +1685,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.document,priority:0
msgid "Low"
-msgstr ""
+msgstr "ខាត"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_res_config_settings__group_mrp_routings
@@ -2246,7 +2246,7 @@ msgstr ""
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_dashboard
msgid "Overview"
-msgstr ""
+msgstr "ទិដ្ឋភាពទូទៅ"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_bom_line__bom_id
@@ -3638,7 +3638,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__product_tracking
#: model:ir.model.fields,field_description:mrp.field_stock_move__needs_lots
msgid "Tracking"
-msgstr ""
+msgstr "ការ​តាមដាន"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_document__type
@@ -3736,7 +3736,7 @@ msgstr ""
#: model:product.template,uom_name:mrp.product_product_wood_ply_product_template
#: model:product.template,uom_name:mrp.product_product_wood_wear_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view
@@ -3829,7 +3829,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.document,priority:0
msgid "Very High"
-msgstr ""
+msgstr "ខ្ពស់​ណាស់"
#. module: mrp
#: selection:mrp.production,priority:0
@@ -4346,7 +4346,7 @@ msgstr ""
#: model:product.template,weight_uom_name:mrp.product_product_wood_ply_product_template
#: model:product.template,weight_uom_name:mrp.product_product_wood_wear_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_routing_workcenter_form_view
diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py
index 3162d02db3f..e3b3fc2a611 100644
--- a/addons/mrp/models/mrp_production.py
+++ b/addons/mrp/models/mrp_production.py
@@ -568,12 +568,13 @@ class MrpProduction(models.Model):
move[0]._recompute_state()
move[0]._action_assign()
move[0].unit_factor = quantity / move[0].raw_material_production_id.product_qty
- elif quantity < 0: # Do not remove 0 lines
+ return move[0], old_qty, quantity
+ else:
if move[0].quantity_done > 0:
raise UserError(_('Lines need to be deleted, but can not as you still have some quantities to consume in them. '))
move[0]._action_cancel()
move[0].unlink()
- return move[0], old_qty, quantity
+ return self.env['stock.move'], old_qty, quantity
else:
move_values = self._get_move_raw_values(bom_line, line_data)
move = self.env['stock.move'].create(move_values)
@@ -847,15 +848,14 @@ class MrpProduction(models.Model):
raise UserError(_('Work order %s is still running') % wo.name)
self._check_lots()
- # Cancel unfinished move
- move_to_cancel = self.move_raw_ids.filtered(lambda m: m.state not in ('done', 'cancel') and float_is_zero(m.quantity_done, precision_rounding=m.product_uom.rounding))
- move_to_cancel._action_cancel()
-
self.post_inventory()
# Moves without quantity done are not posted => set them as done instead of canceling. In
# case the user edits the MO later on and sets some consumed quantity on those, we do not
# want the move lines to be canceled.
- (self.move_raw_ids | self.move_finished_ids).filtered(lambda x: x.state not in ('done', 'cancel')).write({'state': 'done'})
+ (self.move_raw_ids | self.move_finished_ids).filtered(lambda x: x.state not in ('done', 'cancel')).write({
+ 'state': 'done',
+ 'product_uom_qty': 0.0,
+ })
self.write({'date_finished': fields.Datetime.now()})
return True
diff --git a/addons/mrp/tests/test_order.py b/addons/mrp/tests/test_order.py
index 1445e240e97..5bfbec8df12 100644
--- a/addons/mrp/tests/test_order.py
+++ b/addons/mrp/tests/test_order.py
@@ -5,6 +5,7 @@ from odoo.tests import Form
from datetime import datetime, timedelta
from odoo.fields import Datetime as Dt
+from odoo.exceptions import UserError
from odoo.addons.mrp.tests.common import TestMrpCommon
@@ -692,6 +693,51 @@ class TestMrpOrder(TestMrpCommon):
mo.button_mark_done()
def test_product_produce_6(self):
+ """ Plan 5 finished products, reserve and produce 3. Post the current production.
+ Simulate an unlock and edit and, on the opened moves, set the consumed quantity
+ to 3. Now, try to update the quantity to produce to 3. It should fail since there
+ are consumed quantities. Unlock and edit, remove the consumed quantities and
+ update the quantity to produce to 3."""
+ self.stock_location = self.env.ref('stock.stock_location_stock')
+ mo, bom, p_final, p1, p2 = self.generate_mo()
+ self.assertEqual(len(mo), 1, 'MO should have been created')
+
+ self.env['stock.quant']._update_available_quantity(p1, self.stock_location, 20)
+
+ self.env['stock.quant']._update_available_quantity(p2, self.stock_location, 5)
+ mo.action_assign()
+
+ produce_wizard = self.env['mrp.product.produce'].with_context({
+ 'active_id': mo.id,
+ 'active_ids': [mo.id],
+ }).create({
+ 'product_qty': 3.0,
+ })
+ produce_wizard._onchange_product_qty()
+ produce_wizard.do_produce()
+
+ mo.post_inventory()
+ self.assertEqual(len(mo.move_raw_ids), 4)
+
+ mo.move_raw_ids.filtered(lambda m: m.state != 'done')[0].quantity_done = 3
+
+ update_quantity_wizard = self.env['change.production.qty'].create({
+ 'mo_id': mo.id,
+ 'product_qty': 3,
+ })
+ with self.assertRaises(UserError):
+ update_quantity_wizard.change_prod_qty()
+
+ mo.move_raw_ids.filtered(lambda m: m.state != 'done')[0].quantity_done = 0
+ update_quantity_wizard.change_prod_qty()
+
+ self.assertEqual(len(mo.move_raw_ids), 2)
+
+ mo.button_mark_done()
+ self.assertTrue(all(s == 'done' for s in mo.move_raw_ids.mapped('state')))
+ self.assertEqual(sum(mo.move_raw_ids.mapped('move_line_ids.product_uom_qty')), 0)
+
+ def test_product_produce_6(self):
""" Build some final products and change the quantity to produce
directly in the wizard. The component line should be updated .
"""
diff --git a/addons/mrp/wizard/change_production_qty.py b/addons/mrp/wizard/change_production_qty.py
index 9e40bb63b67..e98364f9b93 100644
--- a/addons/mrp/wizard/change_production_qty.py
+++ b/addons/mrp/wizard/change_production_qty.py
@@ -57,15 +57,22 @@ class ChangeProductionQty(models.TransientModel):
if line.child_bom_id and line.child_bom_id.type == 'phantom' or\
line.product_id.type not in ['product', 'consu']:
continue
- move, old_qty, new_qty = production._update_raw_move(line, line_data)
+ move = production.move_raw_ids.filtered(lambda x: x.bom_line_id.id == line.id and x.state not in ('done', 'cancel'))
+ if move:
+ old_qty = move[0].product_uom_qty
+ else:
+ old_qty = 0
iterate_key = production._get_document_iterate_key(move)
if iterate_key:
- document = self.env['stock.picking']._log_activity_get_documents({move: (new_qty, old_qty)}, iterate_key, 'UP')
+ document = self.env['stock.picking']._log_activity_get_documents({move: (line_data['qty'], old_qty)}, iterate_key, 'UP')
for key, value in document.items():
if documents.get(key):
documents[key] += [value]
else:
documents[key] = [value]
+
+ production._update_raw_move(line, line_data)
+
production._log_manufacture_exception(documents)
operation_bom_qty = {}
for bom, bom_data in boms:
diff --git a/addons/note/i18n/km.po b/addons/note/i18n/km.po
index 386c99af622..da4bd50b9d5 100644
--- a/addons/note/i18n/km.po
+++ b/addons/note/i18n/km.po
@@ -182,7 +182,7 @@ msgstr ""
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
@@ -240,7 +240,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_main_attachment_id
@@ -444,7 +444,7 @@ msgstr "ដំណាក់កាល"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_stage__name
msgid "Stage Name"
-msgstr ""
+msgstr "ឈ្មោះដំនាក់កាល"
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_stage_form
diff --git a/addons/payment/controllers/portal.py b/addons/payment/controllers/portal.py
index 8b4585b9393..ebe7aef0cc5 100644
--- a/addons/payment/controllers/portal.py
+++ b/addons/payment/controllers/portal.py
@@ -272,7 +272,7 @@ class WebsitePayment(http.Controller):
tx_id = int(kw.get('tx_id', 0))
if tx_id:
tx = request.env['payment.transaction'].browse(tx_id)
- if tx.state == 'done':
+ if tx.state in ['done', 'authorized']:
status = 'success'
message = tx.acquirer_id.done_msg
elif tx.state == 'pending':
diff --git a/addons/payment/i18n/de.po b/addons/payment/i18n/de.po
index 7b75b70820e..15c02f4a8ba 100644
--- a/addons/payment/i18n/de.po
+++ b/addons/payment/i18n/de.po
@@ -924,13 +924,13 @@ msgstr "Interner Serverfehler"
#: code:addons/payment/models/account_invoice.py:55
#, python-format
msgid "Invalid token found! Token acquirer %s != %s"
-msgstr ""
+msgstr "Ungültiges Token gefunden! Token-Acquirer %s != %s"
#. module: payment
#: code:addons/payment/models/account_invoice.py:58
#, python-format
msgid "Invalid token found! Token partner %s != %s"
-msgstr ""
+msgstr "Ungültiges Token gefunden! Token-Partner %s != %s"
#. module: payment
#: model:ir.model,name:payment.model_account_invoice
diff --git a/addons/payment/i18n/km.po b/addons/payment/i18n/km.po
index e2f12ef3729..c8403aa9fa6 100644
--- a/addons/payment/i18n/km.po
+++ b/addons/payment/i18n/km.po
@@ -767,7 +767,7 @@ msgstr ""
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.confirm
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
@@ -878,7 +878,7 @@ msgstr "វិកិយប័ត្រ"
#. module: payment
#: selection:res.company,payment_acquirer_onboarding_state:0
msgid "Just done"
-msgstr ""
+msgstr "ទើបតែរួចរាល់"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_transaction__partner_lang
@@ -1235,7 +1235,7 @@ msgstr ""
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__journal_id
msgid "Payment Journal"
-msgstr ""
+msgstr "ទិនានុប្បវត្តិបង់ប្រាក់"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_onboarding_wizard__payment_method
@@ -1805,7 +1805,7 @@ msgstr ""
#: code:addons/payment/static/src/js/payment_form.js:355
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "ការព្រមាន!"
#. module: payment
#. openerp-web
diff --git a/addons/payment/models/__init__.py b/addons/payment/models/__init__.py
index 93f5083aca8..8491af34960 100644
--- a/addons/payment/models/__init__.py
+++ b/addons/payment/models/__init__.py
@@ -5,4 +5,5 @@ from . import account_invoice
from . import res_partner
from . import account_payment
from . import chart_template
+from . import ir_http
from . import res_company
diff --git a/addons/payment/models/ir_http.py b/addons/payment/models/ir_http.py
new file mode 100644
index 00000000000..0d9c9c8de32
--- /dev/null
+++ b/addons/payment/models/ir_http.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+from odoo.osv import expression
+
+
+class IrHttp(models.AbstractModel):
+ _inherit = 'ir.http'
+
+ @classmethod
+ def _get_translation_frontend_modules_domain(cls):
+ domain = super(IrHttp, cls)._get_translation_frontend_modules_domain()
+ return expression.OR([domain, [('name', '=', 'payment')]])
diff --git a/addons/point_of_sale/i18n/cs.po b/addons/point_of_sale/i18n/cs.po
index 77ad51d7ee6..cf8b6d3600c 100644
--- a/addons/point_of_sale/i18n/cs.po
+++ b/addons/point_of_sale/i18n/cs.po
@@ -4377,7 +4377,7 @@ msgstr "Jednotková cena"
#. module: point_of_sale
#: selection:barcode.rule,type:0
msgid "Unit Product"
-msgstr ""
+msgstr "Jednotkový produkt"
#. module: point_of_sale
#: model:product.product,uom_name:point_of_sale.product_product_consumable
@@ -4540,7 +4540,7 @@ msgstr ""
#: model:product.product,name:point_of_sale.whiteboard_pen
#: model:product.template,name:point_of_sale.whiteboard_pen_product_template
msgid "Whiteboard Pen"
-msgstr ""
+msgstr "Fix na bílou tabuli"
#. module: point_of_sale
#. openerp-web
diff --git a/addons/point_of_sale/i18n/hu.po b/addons/point_of_sale/i18n/hu.po
index db6e2c43825..01b839ac148 100644
--- a/addons/point_of_sale/i18n/hu.po
+++ b/addons/point_of_sale/i18n/hu.po
@@ -2397,7 +2397,7 @@ msgstr ""
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order__picking_type_id
#: model_terms:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Operation Type"
-msgstr ""
+msgstr "Művelet típus"
#. module: point_of_sale
#: model_terms:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
diff --git a/addons/point_of_sale/i18n/it.po b/addons/point_of_sale/i18n/it.po
index a47f0c1039c..7bad6cd0e20 100644
--- a/addons/point_of_sale/i18n/it.po
+++ b/addons/point_of_sale/i18n/it.po
@@ -1615,7 +1615,7 @@ msgstr "Esporta ordini non pagati"
#. module: point_of_sale
#: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
msgid "Extra Info"
-msgstr "Info aggiuntive"
+msgstr "Informazioni aggiuntive"
#. module: point_of_sale
#. openerp-web
diff --git a/addons/point_of_sale/i18n/km.po b/addons/point_of_sale/i18n/km.po
index 5ca69e752da..4f671b0d3ce 100644
--- a/addons/point_of_sale/i18n/km.po
+++ b/addons/point_of_sale/i18n/km.po
@@ -663,7 +663,7 @@ msgstr ""
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config__cash_control
#, python-format
msgid "Cash Control"
-msgstr ""
+msgstr "ការគ្រប់គ្រងសាច់ប្រាក់"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session__cash_journal_id
@@ -1434,7 +1434,7 @@ msgstr ""
#: code:addons/point_of_sale/static/src/xml/pos.xml:409
#, python-format
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: point_of_sale
#. openerp-web
@@ -1544,7 +1544,7 @@ msgstr ""
#. module: point_of_sale
#: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
msgid "Extra Info"
-msgstr ""
+msgstr "ព័ត៌មានបន្ថែម"
#. module: point_of_sale
#. openerp-web
@@ -1739,7 +1739,7 @@ msgstr ""
#. module: point_of_sale
#: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_config_search
msgid "Inactive"
-msgstr ""
+msgstr "អសកម្ម"
#. module: point_of_sale
#. openerp-web
@@ -1803,7 +1803,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search
#: selection:pos.order,state:0 selection:report.pos.order,state:0
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config__module_account
@@ -2543,7 +2543,7 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment__payment_date
msgid "Payment Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទបង់ប្រាក់"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_account_journal_form
@@ -3168,7 +3168,7 @@ msgstr ""
#: code:addons/point_of_sale/static/src/xml/pos.xml:1100
#, python-format
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
@@ -4210,7 +4210,7 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order__price_total
msgid "Total Price"
-msgstr ""
+msgstr "តំលៃសរុប"
#. module: point_of_sale
#. openerp-web
@@ -4291,7 +4291,7 @@ msgstr "ផលិតផលឯកតា"
#: model:product.template,uom_name:point_of_sale.product_product_consumable_product_template
#: model:product.template,uom_name:point_of_sale.product_product_tip_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: point_of_sale
#. openerp-web
@@ -4727,7 +4727,7 @@ msgstr ""
#: model:product.template,weight_uom_name:point_of_sale.whiteboard_pen_product_template
#: model:product.template,weight_uom_name:point_of_sale.whiteboard_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:336
diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py
index 99007a7abd9..d87844aaf19 100644
--- a/addons/point_of_sale/models/pos_config.py
+++ b/addons/point_of_sale/models/pos_config.py
@@ -259,7 +259,7 @@ class PosConfig(models.Model):
" the Accounting application."))
if self.invoice_journal_id.currency_id and self.invoice_journal_id.currency_id != self.currency_id:
raise ValidationError(_("The invoice journal must be in the same currency as the Sales Journal or the company currency if that is not set."))
- if any(self.journal_ids.mapped(lambda journal: journal.currency_id and journal.currency_id != self.currency_id)):
+ if any(self.journal_ids.mapped(lambda journal: self.currency_id not in (journal.company_id.currency_id, journal.currency_id))):
raise ValidationError(_("All payment methods must be in the same currency as the Sales Journal or the company currency if that is not set."))
@api.constrains('company_id', 'available_pricelist_ids')
diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py
index c7288ed6057..97cd43ba2a6 100644
--- a/addons/point_of_sale/models/pos_session.py
+++ b/addons/point_of_sale/models/pos_session.py
@@ -205,7 +205,7 @@ class PosSession(models.Model):
'journal_id': journal.id,
'user_id': self.env.user.id,
'name': pos_name,
- 'balance_start': self.env["account.bank.statement"]._get_opening_balance(journal.id)
+ 'balance_start': self.env["account.bank.statement"]._get_opening_balance(journal.id) if journal.type == 'cash' else 0
}
statements.append(ABS.with_context(ctx).sudo(uid).create(st_values).id)
diff --git a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd
new file mode 100755
index 00000000000..eb5ccf94091
--- /dev/null
+++ b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd
@@ -0,0 +1,41 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides: timesyncd
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start systemd-timesyncd daemon at boot time
+# Description: Enable service provided by daemon.
+### END INIT INFO
+
+start()
+{
+ echo "start timesyncd"
+ service systemd-timesyncd start
+}
+
+stop()
+{
+ echo "stop timesyncd"
+ service systemd-timesyncd stop
+}
+
+restart()
+{
+ stop;
+ sleep 1;
+ start;
+}
+case $1 in
+start)
+ start;;
+stop)
+ stop;;
+restart)
+ restart;;
+*)
+ start;;
+esac
+
+exit 0
diff --git a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
index 53ab15a8748..97c69f308ee 100755
--- a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
+++ b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
@@ -138,6 +138,7 @@ echo "* * * * * rm /var/run/odoo/sessions/*" | crontab -
update-rc.d -f hostapd remove
update-rc.d -f nginx remove
update-rc.d -f dnsmasq remove
+update-rc.d timesyncd defaults
systemctl daemon-reload
systemctl enable ramdisks.service
diff --git a/addons/portal/i18n/ar.po b/addons/portal/i18n/ar.po
index 2e6d55e2163..a3f87e2a8c2 100644
--- a/addons/portal/i18n/ar.po
+++ b/addons/portal/i18n/ar.po
@@ -161,6 +161,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/az.po b/addons/portal/i18n/az.po
index d8a6b2b80c4..c6f4b6a82c6 100644
--- a/addons/portal/i18n/az.po
+++ b/addons/portal/i18n/az.po
@@ -145,6 +145,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/bs.po b/addons/portal/i18n/bs.po
index c59274045b2..6a550279942 100644
--- a/addons/portal/i18n/bs.po
+++ b/addons/portal/i18n/bs.po
@@ -150,6 +150,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/cs.po b/addons/portal/i18n/cs.po
index 97c56d097eb..f9753e0ce4e 100644
--- a/addons/portal/i18n/cs.po
+++ b/addons/portal/i18n/cs.po
@@ -154,6 +154,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/da.po b/addons/portal/i18n/da.po
index 76279699fdb..1394c53027d 100644
--- a/addons/portal/i18n/da.po
+++ b/addons/portal/i18n/da.po
@@ -159,6 +159,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/et.po b/addons/portal/i18n/et.po
index 3d7d3fd697e..108f2e9aecc 100644
--- a/addons/portal/i18n/et.po
+++ b/addons/portal/i18n/et.po
@@ -156,6 +156,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/fa.po b/addons/portal/i18n/fa.po
index beeb49ef5b4..0b12c26cec8 100644
--- a/addons/portal/i18n/fa.po
+++ b/addons/portal/i18n/fa.po
@@ -155,6 +155,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/fi.po b/addons/portal/i18n/fi.po
index 21516c6bd93..37ed492cae9 100644
--- a/addons/portal/i18n/fi.po
+++ b/addons/portal/i18n/fi.po
@@ -160,6 +160,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/gu.po b/addons/portal/i18n/gu.po
index 8beba0603cd..ed98196c1cd 100644
--- a/addons/portal/i18n/gu.po
+++ b/addons/portal/i18n/gu.po
@@ -152,6 +152,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/he.po b/addons/portal/i18n/he.po
index 8b73c14edc8..e8516e5d473 100644
--- a/addons/portal/i18n/he.po
+++ b/addons/portal/i18n/he.po
@@ -152,6 +152,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/is.po b/addons/portal/i18n/is.po
index b4c5729e952..4a65318b0bc 100644
--- a/addons/portal/i18n/is.po
+++ b/addons/portal/i18n/is.po
@@ -152,6 +152,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/it.po b/addons/portal/i18n/it.po
index 5ffa383c6dd..06de4e3bea8 100644
--- a/addons/portal/i18n/it.po
+++ b/addons/portal/i18n/it.po
@@ -160,6 +160,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/ja.po b/addons/portal/i18n/ja.po
index 6fd34da508d..d51af6f3b71 100644
--- a/addons/portal/i18n/ja.po
+++ b/addons/portal/i18n/ja.po
@@ -153,6 +153,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/km.po b/addons/portal/i18n/km.po
index 025a6a86b85..dfd05003ade 100644
--- a/addons/portal/i18n/km.po
+++ b/addons/portal/i18n/km.po
@@ -149,10 +149,17 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
-msgstr ""
+msgstr "ដំណើររការនៃការពិន័យ"
#. module: portal
#: model_terms:ir.ui.view,arch_db:portal.portal_share_wizard
diff --git a/addons/portal/i18n/ko.po b/addons/portal/i18n/ko.po
index c2c80318514..149c0eec93a 100644
--- a/addons/portal/i18n/ko.po
+++ b/addons/portal/i18n/ko.po
@@ -155,6 +155,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/pt.po b/addons/portal/i18n/pt.po
index dbe1da769e6..0c17e984c6c 100644
--- a/addons/portal/i18n/pt.po
+++ b/addons/portal/i18n/pt.po
@@ -7,7 +7,7 @@
# Manuela Silva <inactive+h_manuela_rodsilva@transifex.com>, 2018
# Ricardo Martins <ricardo.nbs.martins@gmail.com>, 2018
# Vitor Fernandes <vmlf01@gmail.com>, 2018
-# MS <manuelarodsilva@gmail.com>, 2018
+# Manuela Silva <manuelarodsilva@gmail.com>, 2018
# Joao Felix <jrmfelix@gmail.com>, 2018
# Nuno Silva <nuno.silva@arxi.pt>, 2018
# Diogo Fonseca <dsf@thinkopensolutions.pt>, 2018
@@ -156,6 +156,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/sk.po b/addons/portal/i18n/sk.po
index cbd55139a4a..45a69309895 100644
--- a/addons/portal/i18n/sk.po
+++ b/addons/portal/i18n/sk.po
@@ -154,6 +154,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/sr.po b/addons/portal/i18n/sr.po
index bdd43780dee..b4c93153a87 100644
--- a/addons/portal/i18n/sr.po
+++ b/addons/portal/i18n/sr.po
@@ -149,6 +149,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/i18n/th.po b/addons/portal/i18n/th.po
index 56c07499f4f..f538e221cfe 100644
--- a/addons/portal/i18n/th.po
+++ b/addons/portal/i18n/th.po
@@ -153,6 +153,13 @@ msgid ""
msgstr ""
#. module: portal
+#. openerp-web
+#: code:addons/portal/static/src/xml/portal_signature.xml:19
+#, python-format
+msgid "Accept & Sign"
+msgstr ""
+
+#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning
#: model:ir.model.fields,field_description:portal.field_portal_share__access_warning
msgid "Access warning"
diff --git a/addons/portal/models/mail_thread.py b/addons/portal/models/mail_thread.py
index aea29ea3ec7..71aae5ca58d 100644
--- a/addons/portal/models/mail_thread.py
+++ b/addons/portal/models/mail_thread.py
@@ -13,7 +13,7 @@ class MailThread(models.AbstractModel):
_mail_post_token_field = 'access_token' # token field for external posts, to be overridden
website_message_ids = fields.One2many('mail.message', 'res_id', string='Website Messages',
- domain=lambda self: [('model', '=', self._name), ('message_type', '=', 'comment')], auto_join=True,
+ domain=lambda self: [('model', '=', self._name), '|', ('message_type', '=', 'comment'), ('message_type', '=', 'email')], auto_join=True,
help="Website communication history")
@api.multi
diff --git a/addons/portal/models/res_partner.py b/addons/portal/models/res_partner.py
index 4c8d02943c5..064fa2ff04e 100644
--- a/addons/portal/models/res_partner.py
+++ b/addons/portal/models/res_partner.py
@@ -8,4 +8,7 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
def can_edit_vat(self):
- return True
+ ''' `vat` is a commercial field, synced between the parent (commercial
+ entity) and the children. Only the commercial entity should be able to
+ edit it (as in backend). '''
+ return not self.parent_id
diff --git a/addons/portal/views/portal_templates.xml b/addons/portal/views/portal_templates.xml
index f4f88c5dfb2..9ded0d59297 100644
--- a/addons/portal/views/portal_templates.xml
+++ b/addons/portal/views/portal_templates.xml
@@ -374,8 +374,11 @@
<div class="clearfix" />
<div t-attf-class="form-group #{error.get('company_name') and 'o_has_error' or ''} col-xl-6">
<label class="col-form-label label-optional" for="company_name">Company Name</label>
- <p t-if="partner.commercial_partner_id.is_company" t-attf-class="form-control #{error.get('company_name') and 'is-invalid' or ''}" t-esc="partner.commercial_company_name"/>
- <input t-else="" type="text" name="company_name" t-attf-class="form-control #{error.get('company_name') and 'is-invalid' or ''}" t-att-value="company_name or partner.company_name" t-att-readonly="None if partner.can_edit_vat() else '1'" t-att-title="None if partner.can_edit_vat() else 'Changing company name is not allowed once document(s) have been issued for your account. Please contact us directly for this operation.'"/>
+ <!-- The <input> is replace by a <p> to avoid sending an unauthorized value on form submit.
+ The user might not have rights to change company_name but should still be able to see it.
+ -->
+ <p t-if="not partner.can_edit_vat()" t-attf-class="form-control" readonly="1" t-esc="partner.commercial_company_name" title="Changing company name is not allowed once document(s) have been issued for your account. Please contact us directly for this operation."/>
+ <input t-else="" type="text" name="company_name" t-attf-class="form-control #{error.get('company_name') and 'is-invalid' or ''}" t-att-value="company_name or partner.commercial_company_name"/>
</div>
<div t-attf-class="form-group #{error.get('vat') and 'o_has_error' or ''} col-xl-6">
<label class="col-form-label label-optional" for="vat">VAT Number</label>
diff --git a/addons/pos_restaurant/i18n/cs.po b/addons/pos_restaurant/i18n/cs.po
index ad405c2e210..1a78a84bd80 100644
--- a/addons/pos_restaurant/i18n/cs.po
+++ b/addons/pos_restaurant/i18n/cs.po
@@ -142,7 +142,7 @@ msgstr ""
#. module: pos_restaurant
#: model_terms:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Add notes to orderlines"
-msgstr ""
+msgstr "Přidat poznámky k objednávce"
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_pos_config__iface_orderline_notes
@@ -806,7 +806,7 @@ msgstr ""
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table__name
msgid "Table Name"
-msgstr ""
+msgstr "Název stolu"
#. module: pos_restaurant
#. openerp-web
@@ -967,7 +967,7 @@ msgstr "Voda"
#. module: pos_restaurant
#: model_terms:pos.config,customer_facing_display_html:pos_restaurant.pos_config_restaurant
msgid "Whiteboard Pen"
-msgstr ""
+msgstr "Fix na bílou tabuli"
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table__width
diff --git a/addons/pos_restaurant/i18n/km.po b/addons/pos_restaurant/i18n/km.po
index bd954e49cd0..90de65ec0ef 100644
--- a/addons/pos_restaurant/i18n/km.po
+++ b/addons/pos_restaurant/i18n/km.po
@@ -212,7 +212,7 @@ msgstr ""
#: code:addons/pos_restaurant/static/src/xml/printbill.xml:31
#, python-format
msgid "Bill"
-msgstr ""
+msgstr "វិក័យបត្រ"
#. module: pos_restaurant
#. openerp-web
@@ -346,7 +346,7 @@ msgstr ""
#: code:addons/pos_restaurant/static/src/xml/floors.xml:110
#, python-format
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_pos_config__iface_splitbill
@@ -940,7 +940,7 @@ msgstr ""
#: model:product.template,uom_name:pos_restaurant.minute_maid_product_template
#: model:product.template,uom_name:pos_restaurant.water_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_restaurant_floor__sequence
@@ -1029,4 +1029,4 @@ msgstr ""
#: model:product.template,weight_uom_name:pos_restaurant.minute_maid_product_template
#: model:product.template,weight_uom_name:pos_restaurant.water_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
diff --git a/addons/pos_sale/i18n/cs.po b/addons/pos_sale/i18n/cs.po
index 9d294d4cb49..93126c21ef5 100644
--- a/addons/pos_sale/i18n/cs.po
+++ b/addons/pos_sale/i18n/cs.po
@@ -75,7 +75,7 @@ msgstr "Nové"
#. module: pos_sale
#: model:ir.model.fields,field_description:pos_sale.field_crm_team__pos_sessions_open_count
msgid "Open POS Sessions"
-msgstr ""
+msgstr "Otevřené sezení Prodejního místa"
#. module: pos_sale
#: model:ir.actions.act_window,name:pos_sale.pos_session_action_from_crm_team
diff --git a/addons/pos_sale/i18n/km.po b/addons/pos_sale/i18n/km.po
index f3dcff1784e..2e2603e8550 100644
--- a/addons/pos_sale/i18n/km.po
+++ b/addons/pos_sale/i18n/km.po
@@ -39,7 +39,7 @@ msgstr ""
#. module: pos_sale
#: selection:crm.team,dashboard_graph_group_pos:0
msgid "Day"
-msgstr ""
+msgstr "ថ្ងៃ"
#. module: pos_sale
#: selection:sale.report,state:0
@@ -54,12 +54,12 @@ msgstr ""
#. module: pos_sale
#: model:ir.model.fields,help:pos_sale.field_crm_team__dashboard_graph_group_pos
msgid "How this channel's dashboard graph will group the results."
-msgstr ""
+msgstr "របៀបក្រាហ្វិចឆានែលរបស់ឆានែលនេះនឹងដាក់បញ្ចូលលទ្ធផល។"
#. module: pos_sale
#: selection:sale.report,state:0
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: pos_sale
#: selection:crm.team,dashboard_graph_group_pos:0
diff --git a/addons/product/i18n/de.po b/addons/product/i18n/de.po
index 95183273031..d782e590d97 100644
--- a/addons/product/i18n/de.po
+++ b/addons/product/i18n/de.po
@@ -227,6 +227,8 @@ msgid ""
"A price is a set of sales prices or rules to compute the price of sales order lines based on products, product categories, dates and ordered quantities.\n"
" This is the perfect tool to handle several pricings, seasonal discounts, etc."
msgstr ""
+"Ein Preis ist ein Satz von Verkaufspreisen oder Regeln, um den Preis von Kundenauftragszeilen basierend auf Produkten, Produktkategorien, Terminen und bestellten Mengen zu berechnen.\n"
+" Dies ist das perfekte Werkzeug, um mehrere Preise, Saisonrabatte usw. zu verwalten."
#. module: product
#: model:ir.model.fields,help:product.field_product_product__type
@@ -586,7 +588,7 @@ msgstr "Enthaltene Menge"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_packaging_form_view
msgid "Contained quantity"
-msgstr ""
+msgstr "Enthaltene Menge"
#. module: product
#: model:product.product,name:product.product_product_13
@@ -620,6 +622,8 @@ msgid ""
"Cost used for stock valuation in standard price and as a first price to set "
"in average/FIFO."
msgstr ""
+"Kosten, die für die Bestandsbewertung im Standardpreis und als erster Preis "
+"im Durchschnitt / FIFO verwendet werden."
#. module: product
#: model:ir.model.fields,help:product.field_product_product__standard_price
@@ -770,12 +774,14 @@ msgid ""
"Default unit of measure used for purchase orders. It must be in the same "
"category as the default unit of measure."
msgstr ""
+"Standardmengeneinheit, die für Bestellungen verwendet wird. Sie muss der "
+"gleichen Kategorie angehören wie die Standardmengeneinheit."
#. module: product
#: model:ir.model.fields,help:product.field_product_product__seller_ids
#: model:ir.model.fields,help:product.field_product_template__seller_ids
msgid "Define vendor pricelists."
-msgstr ""
+msgstr "Lieferantenpreislisten definieren."
#. module: product
#: model:ir.model.fields,field_description:product.field_product_supplierinfo__delay
@@ -927,7 +933,7 @@ msgstr "Festpreis"
#: model:product.product,name:product.product_product_20
#: model:product.template,name:product.product_product_20_product_template
msgid "Flipover"
-msgstr ""
+msgstr "Flipover"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__message_follower_ids
@@ -1071,6 +1077,8 @@ msgstr ""
msgid ""
"If not set, the vendor price will apply to all variants of this product."
msgstr ""
+"Wenn nicht gesetzt, gilt der Lieferantenpreis für alle Varianten dieses "
+"Produkts."
#. module: product
#: model:ir.model.fields,help:product.field_product_pricelist__active
@@ -1098,7 +1106,7 @@ msgstr "Bild in Originalgröße, wie es hochgeladen wurde."
#: code:addons/product/models/product_pricelist.py:357
#, python-format
msgid "Import Template for Pricelists"
-msgstr ""
+msgstr "Importvorlage für Preislisten"
#. module: product
#: code:addons/product/models/product_template.py:1062
@@ -1110,7 +1118,7 @@ msgstr "Importier-Vorlage für Produkte "
#: code:addons/product/models/product.py:743
#, python-format
msgid "Import Template for Vendor Pricelists"
-msgstr ""
+msgstr "Importvorlage für Lieferantenpreislisten"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.res_config_settings_view_form
@@ -1121,7 +1129,7 @@ msgstr ""
#: model:product.product,name:product.product_product_24
#: model:product.template,name:product.product_product_24_product_template
msgid "Individual Workplace"
-msgstr ""
+msgstr "Individueller Arbeitsplatz"
#. module: product
#: model:product.category,name:product.product_category_2
@@ -1294,6 +1302,8 @@ msgid ""
"Make this attribute value not compatible with\n"
" other values of the product or some attribute values of optional and accessory products."
msgstr ""
+"Machen Sie diesen Attributwert nicht kompatibel mit\n"
+" anderen Werten des Produkts oder einigen Attributwerten von optionalen und Zubehörprodukten."
#. module: product
#: model:res.groups,name:product.group_pricelist_item
@@ -1508,7 +1518,7 @@ msgstr "Übergeordneter Pfad"
#: model:product.product,name:product.product_product_9
#: model:product.template,name:product.product_product_9_product_template
msgid "Pedal Bin"
-msgstr ""
+msgstr "Pedalbehälter"
#. module: product
#: selection:product.pricelist.item,compute_price:0
@@ -1559,6 +1569,8 @@ msgid ""
"Price Extra: Extra price for the variant with\n"
" this attribute value on sale price. eg. 200 price extra, 1000 + 200 = 1200."
msgstr ""
+"Preis Aufschlag: Extra Preis für die Variante mit\n"
+" diesem Attributwert beim Verkaufspreis. z.B. 200 Preiszuschlag, 1000 + 200 = 1200."
#. module: product
#: model:ir.actions.act_window,name:product.action_product_price_list
@@ -1699,7 +1711,7 @@ msgstr "Produktattributwert"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_template_attribute_line__product_template_value_ids
msgid "Product Attribute Values"
-msgstr ""
+msgstr "Werte der Produkteigenschaften"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_attribute_line_form
@@ -1775,17 +1787,17 @@ msgstr "Produktverpackung"
#. module: product
#: model:ir.model,name:product.model_product_price_history
msgid "Product Price List History"
-msgstr ""
+msgstr "Historie der Produktpreisliste"
#. module: product
#: model:ir.model,name:product.model_report_product_report_pricelist
msgid "Product Price List Report"
-msgstr ""
+msgstr "Produktpreislistenbericht"
#. module: product
#: model:ir.model,name:product.model_product_price_list
msgid "Product Price per Unit Based on Pricelist Version"
-msgstr ""
+msgstr "Produktpreis pro Stück basierend auf der Preislistenversion"
#. module: product
#: model:ir.model,name:product.model_product_template
@@ -1802,12 +1814,12 @@ msgstr "Produktvorlage"
#. module: product
#: model:ir.model,name:product.model_product_template_attribute_exclusion
msgid "Product Template Attribute Exclusion"
-msgstr ""
+msgstr "Ausschluss des Attributs der Produktvorlage"
#. module: product
#: model:ir.model,name:product.model_product_template_attribute_line
msgid "Product Template Attribute Line"
-msgstr ""
+msgstr "Attributzeile der Produktvorlage"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__type
@@ -1827,7 +1839,7 @@ msgstr "Produktvarianten"
#. module: product
#: model:ir.actions.act_window,name:product.product_attribute_value_action
msgid "Product Variant Values"
-msgstr ""
+msgstr "Werte der Produktvarianten"
#. module: product
#: model:ir.actions.act_window,name:product.product_normal_action
@@ -1973,7 +1985,7 @@ msgstr "Manager Veranstaltung"
#: model:product.product,name:product.expense_product
#: model:product.template,name:product.expense_product_product_template
msgid "Restaurant Expenses"
-msgstr ""
+msgstr "Restaurantausgaben"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_pricelist_item_form_view
@@ -2232,7 +2244,7 @@ msgstr ""
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__product_template_attribute_value_ids
msgid "Template Attribute Values"
-msgstr ""
+msgstr "Vorlagenattributwerte"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_pricelist_item_form_view
@@ -2290,6 +2302,10 @@ msgid ""
"sales order. To do so, open the form view of attributes and change the mode "
"of *Create Variants*."
msgstr ""
+"Die Anzahl der zu generierenden Varianten ist zu hoch. Sie sollten entweder "
+"keine Varianten für jede Kombination generieren oder diese bei Bedarf aus "
+"dem Kundenauftrag generieren. Öffnen Sie dazu die Formularansicht der "
+"Attribute und ändern Sie den Modus von *Varianten anlegen*."
#. module: product
#: code:addons/product/models/product_attribute.py:101
@@ -2427,7 +2443,7 @@ msgstr "Mengeneinheit"
#: model:ir.model.fields,field_description:product.field_product_product__uom_name
#: model:ir.model.fields,field_description:product.field_product_template__uom_name
msgid "Unit of Measure Name"
-msgstr ""
+msgstr "Name der Mengeneinheit"
#. module: product
#: model:product.product,uom_name:product.consu_delivery_01
@@ -2516,49 +2532,49 @@ msgstr "Gültig"
#: model:ir.model.fields,field_description:product.field_product_product__valid_archived_variant_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_archived_variant_ids
msgid "Valid Archived Variants"
-msgstr ""
+msgstr "Gültige archivierte Varianten"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_existing_variant_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_existing_variant_ids
msgid "Valid Existing Variants"
-msgstr ""
+msgstr "Gültig vorhandene Varianten"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_template_attribute_line_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_template_attribute_line_ids
msgid "Valid Product Attribute Lines"
-msgstr ""
+msgstr "Gültige Produktattributzeilen"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_template_attribute_line_wnva_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_template_attribute_line_wnva_ids
msgid "Valid Product Attribute Lines Without No Variant Attributes"
-msgstr ""
+msgstr "Gültige Produktattributzeilen ohne Variantenattribute"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_value_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_value_ids
msgid "Valid Product Attribute Values"
-msgstr ""
+msgstr "Gültige Werte für Produktattribute"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_value_wnva_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_value_wnva_ids
msgid "Valid Product Attribute Values Without No Variant Attributes"
-msgstr ""
+msgstr "Gültige Produktattributwerte ohne Variantenattribute"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_ids
msgid "Valid Product Attributes"
-msgstr ""
+msgstr "Gültige Produkteigenschaften"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_wnva_ids
#: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_wnva_ids
msgid "Valid Product Attributes Without No Variant Attributes"
-msgstr ""
+msgstr "Gültige Produktattribute ohne Variantenattribute"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_supplierinfo_form_view
@@ -2614,7 +2630,7 @@ msgstr "Varianten"
#. module: product
#: model:ir.model.fields,field_description:product.field_res_config_settings__group_product_variant
msgid "Variants and Options"
-msgstr ""
+msgstr "Varianten und Optionen"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_supplierinfo__name
@@ -2664,13 +2680,13 @@ msgstr "Lieferanten"
#: model:product.product,name:product.product_product_2
#: model:product.template,name:product.product_product_2_product_template
msgid "Virtual Home Staging"
-msgstr ""
+msgstr "Virtuelle Heiminszenierung"
#. module: product
#: model:product.product,name:product.product_product_1
#: model:product.template,name:product.product_product_1_product_template
msgid "Virtual Interior Design"
-msgstr ""
+msgstr "Virtuelle Innenarchitektur"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product__volume
@@ -2736,6 +2752,8 @@ msgid ""
"You are trying to change the type of an attribute value still referenced on "
"at least one product template: %s"
msgstr ""
+"Sie versuchen, den Typ eines Attributwertes zu ändern, der noch auf "
+"mindestens eine Produktvorlage verweist: %s"
#. module: product
#: model_terms:ir.actions.act_window,help:product.product_pricelist_action2
@@ -2743,6 +2761,8 @@ msgid ""
"You can assign pricelists to your customers or select one when creating a "
"new sales quotation."
msgstr ""
+"Sie können Ihren Kunden Preislisten zuordnen oder beim Anlegen eines neuen "
+"Angebots eine auswählen."
#. module: product
#: code:addons/product/models/product_pricelist.py:449
@@ -2750,12 +2770,14 @@ msgstr ""
msgid ""
"You cannot assign the Main Pricelist as Other Pricelist in PriceList Item"
msgstr ""
+"Sie können die Hauptpreisliste nicht als andere Preisliste in der "
+"Preislistenposition zuordnen."
#. module: product
#: code:addons/product/models/product.py:57
#, python-format
msgid "You cannot create recursive categories."
-msgstr ""
+msgstr "Sie können keine rekursiven Kategorien erstellen."
#. module: product
#: code:addons/product/models/decimal_precision.py:16
@@ -2771,7 +2793,7 @@ msgstr ""
#: code:addons/product/models/product_attribute.py:136
#, python-format
msgid "You cannot use this attribute with the following value."
-msgstr ""
+msgstr "Sie können dieses Attribut nicht mit dem folgenden Wert verwenden."
#. module: product
#: code:addons/product/wizard/product_price_list.py:26
@@ -2810,6 +2832,10 @@ msgid ""
" The product form contains information to simplify the sale process:\n"
" price, notes in the quotation, accounting data, procurement methods, etc."
msgstr ""
+"Sie müssen ein Produkt für alles, was Sie verkaufen, definieren, egal ob es sich um ein physisches Produkt handelt,\n"
+" ein Verbrauchsmaterial oder eine Dienstleistung, die Sie Ihren Kunden anbieten.\n"
+" Die Produktform enthält Informationen, um den Verkaufsprozess zu vereinfachen:\n"
+" Preis, Hinweise im Angebot, Buchhaltungsdaten, Beschaffungsmethoden, etc."
#. module: product
#: code:addons/product/models/product_template.py:28
diff --git a/addons/product/i18n/km.po b/addons/product/i18n/km.po
index 7ce773e1e73..a599de718f5 100644
--- a/addons/product/i18n/km.po
+++ b/addons/product/i18n/km.po
@@ -806,7 +806,7 @@ msgstr ""
#. module: product
#: model:ir.model.fields,field_description:product.field_product_pricelist_item__fixed_price
msgid "Fixed Price"
-msgstr ""
+msgstr "តំលៃថេរ"
#. module: product
#: model:product.product,name:product.product_product_20
@@ -853,7 +853,7 @@ msgstr ""
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_search_view
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_form_view
@@ -1012,7 +1012,7 @@ msgstr ""
#. module: product
#: model:product.category,name:product.product_category_2
msgid "Internal"
-msgstr ""
+msgstr "ផ្ទៃក្នុង"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_form_view
@@ -1133,7 +1133,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_search_view
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: product
#: model:ir.model.fields,help:product.field_product_supplierinfo__delay
@@ -1634,7 +1634,7 @@ msgstr ""
#: model:ir.model,name:product.model_product_packaging
#: model_terms:ir.ui.view,arch_db:product.product_packaging_form_view
msgid "Product Packaging"
-msgstr ""
+msgstr "កញ្ជាប់ផលិតផល"
#. module: product
#: model:ir.actions.report,name:product.report_product_packaging
@@ -2267,7 +2267,7 @@ msgstr ""
#: model:product.template,uom_name:product.product_product_8_product_template
#: model:product.template,uom_name:product.product_product_9_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: product
#: model:ir.model.fields,field_description:product.field_res_config_settings__group_uom
@@ -2362,7 +2362,7 @@ msgstr ""
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_template_form_view
msgid "Vendor Bills"
-msgstr ""
+msgstr "វិក័យប័ត្រលក់"
#. module: product
#: model_terms:ir.ui.view,arch_db:product.product_supplierinfo_form_view
@@ -2625,7 +2625,7 @@ msgstr ""
#: model:product.template,weight_uom_name:product.product_product_8_product_template
#: model:product.template,weight_uom_name:product.product_product_9_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: product
#: code:addons/product/models/product.py:586
diff --git a/addons/product/i18n/ko.po b/addons/product/i18n/ko.po
index 1ae29ab9148..9c1c22c37c5 100644
--- a/addons/product/i18n/ko.po
+++ b/addons/product/i18n/ko.po
@@ -743,7 +743,7 @@ msgstr ""
#: model:product.product,name:product.product_product_16
#: model:product.template,name:product.product_product_16_product_template
msgid "Drawer Black"
-msgstr ""
+msgstr "검은색 서랍장"
#. module: product
#: model:product.product,description:product.product_product_27
diff --git a/addons/product/models/res_partner.py b/addons/product/models/res_partner.py
index 5eb0e652187..d74be5105ad 100644
--- a/addons/product/models/res_partner.py
+++ b/addons/product/models/res_partner.py
@@ -34,7 +34,7 @@ class Partner(models.Model):
# update at each change country, and so erase old pricelist
if self.property_product_pricelist or (actual and default_for_country and default_for_country.id != actual.id):
# keep the company of the current user before sudo
- self.env['ir.property'].with_context(force_company=self.env.user.company_id.id).sudo().set_multi(
+ self.env['ir.property'].with_context(force_company=self._context.get('force_company', self.env.user.company_id.id)).sudo().set_multi(
'property_product_pricelist',
self._name,
{self.id: self.property_product_pricelist or default_for_country.id},
diff --git a/addons/product_margin/i18n/it.po b/addons/product_margin/i18n/it.po
index 350eee29c74..8f3da21caef 100644
--- a/addons/product_margin/i18n/it.po
+++ b/addons/product_margin/i18n/it.po
@@ -3,20 +3,19 @@
# * product_margin
#
# Translators:
-# Sergio Zanchetta <primes2h@gmail.com>, 2018
# Martin Trigaux, 2018
-# Giovanni Perteghella <giovanni@perteghella.org>, 2018
-# Luca Tralli, 2018
# Massimo Bianchi <bianchi.massimo@gmail.com>, 2018
# Paolo Valier, 2018
# Léonie Bouchat <lbo@odoo.com>, 2018
+# Sergio Zanchetta <primes2h@gmail.com>, 2019
+#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
-"PO-Revision-Date: 2018-09-18 09:49+0000\n"
-"Last-Translator: Léonie Bouchat <lbo@odoo.com>, 2018\n"
+"PO-Revision-Date: 2018-08-24 09:23+0000\n"
+"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2019\n"
"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,17 +26,17 @@ msgstr ""
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__purchase_num_invoiced
msgid "# Invoiced in Purchase"
-msgstr "# Fatturate in Acquisti"
+msgstr "N. fatturati in acquisti"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__sale_num_invoiced
msgid "# Invoiced in Sale"
-msgstr "# Fatturate in Vendite"
+msgstr "N. fatturati in vendite"
#. module: product_margin
#: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree
msgid "# Purchased"
-msgstr "# Acquistato"
+msgstr "N. acquistati"
#. module: product_margin
#: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_form
@@ -47,12 +46,12 @@ msgstr "Criteri di analisi"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__sale_avg_price
msgid "Avg. Price in Customer Invoices."
-msgstr "Prezzo Medio nelle Fatture Clienti."
+msgstr "Prezzo medio nelle fatture cliente"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__purchase_avg_price
msgid "Avg. Price in Vendor Bills "
-msgstr "Prezzo Medio nelle Fatture Fornitori"
+msgstr "Prezzo medio nelle fatture fornitore"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__purchase_avg_price
@@ -98,7 +97,7 @@ msgstr "Nome visualizzato"
#: selection:product.margin,invoice_state:0
#: selection:product.product,invoice_state:0
msgid "Draft, Open and Paid"
-msgstr "Bozza, Aperta e Pagata"
+msgstr "«Bozza», «Aperta» e «Pagata»"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__expected_margin
@@ -118,17 +117,17 @@ msgstr "Vendita attesa"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__expected_margin
msgid "Expected Sale - Normal Cost"
-msgstr "Vendita attesa - Costo normale"
+msgstr "Vendita attesa - Costo standard"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__sales_gap
msgid "Expected Sale - Turn Over"
-msgstr "Vendita attesa - Ricambio"
+msgstr "Vendita attesa - Fatturato"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__expected_margin_rate
msgid "Expected margin * 100 / Expected Sale"
-msgstr "Margine atteso * 100 / vendita attesa"
+msgstr "Margine atteso * 100 / Vendita attesa"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_margin__from_date
@@ -149,22 +148,22 @@ msgstr "ID"
#: model:ir.model.fields,field_description:product_margin.field_product_margin__invoice_state
#: model:ir.model.fields,field_description:product_margin.field_product_product__invoice_state
msgid "Invoice State"
-msgstr "Stato Fattura"
+msgstr "Stato fattura"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_margin____last_update
msgid "Last Modified on"
-msgstr "Data di ultima modifica"
+msgstr "Ultima modifica il"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_margin__write_uid
msgid "Last Updated by"
-msgstr "Ultima modifica di"
+msgstr "Ultimo aggiornamento di"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_margin__write_date
msgid "Last Updated on"
-msgstr "Ultima modifica il"
+msgstr "Ultimo aggiornamento il"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__date_from
@@ -184,29 +183,29 @@ msgstr "Margini"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__normal_cost
msgid "Normal Cost"
-msgstr "Costo normale"
+msgstr "Costo standard"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__purchase_gap
msgid "Normal Cost - Total Cost"
-msgstr "Costo normale - costo totale"
+msgstr "Costo standard - Costo totale"
#. module: product_margin
#: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view
msgid "Open Margins"
-msgstr "Margini Aperti"
+msgstr "Margini aperti"
#. module: product_margin
#: selection:product.margin,invoice_state:0
#: selection:product.product,invoice_state:0
msgid "Open and Paid"
-msgstr "Aperta e Pagata"
+msgstr "«Aperta» e «Pagata»"
#. module: product_margin
#: selection:product.margin,invoice_state:0
#: selection:product.product,invoice_state:0
msgid "Paid"
-msgstr "Pagato"
+msgstr "Pagata"
#. module: product_margin
#: model:ir.model,name:product_margin.model_product_product
@@ -216,7 +215,7 @@ msgstr "Prodotto"
#. module: product_margin
#: model:ir.model,name:product_margin.model_product_margin
msgid "Product Margin"
-msgstr "Margine Prodotto"
+msgstr "Margine prodotto"
#. module: product_margin
#: code:addons/product_margin/wizard/product_margin.py:49
@@ -227,7 +226,7 @@ msgstr "Margine Prodotto"
#: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree
#, python-format
msgid "Product Margins"
-msgstr "Margini Prodotto"
+msgstr "Margini prodotto"
#. module: product_margin
#: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view
@@ -325,13 +324,13 @@ msgstr "Tasso Totale Margine(%)"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__total_margin_rate
msgid "Total margin * 100 / Turnover"
-msgstr "Margine totale * 100 / Ricambio"
+msgstr "Margine totale * 100 / Fatturato"
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_product__turnover
#: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree
msgid "Turnover"
-msgstr "Ricambio"
+msgstr "Fatturato"
#. module: product_margin
#: model:ir.model.fields,help:product_margin.field_product_product__total_margin
diff --git a/addons/product_margin/i18n/km.po b/addons/product_margin/i18n/km.po
index 5205e16a361..68a1325f98a 100644
--- a/addons/product_margin/i18n/km.po
+++ b/addons/product_margin/i18n/km.po
@@ -128,7 +128,7 @@ msgstr ""
#. module: product_margin
#: model:ir.model.fields,field_description:product_margin.field_product_margin__from_date
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: product_margin
#: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view
diff --git a/addons/project/i18n/km.po b/addons/project/i18n/km.po
index ee9d7518023..fd0cbe62150 100644
--- a/addons/project/i18n/km.po
+++ b/addons/project/i18n/km.po
@@ -285,13 +285,13 @@ msgstr ""
#. module: project
#: model_terms:ir.ui.view,arch_db:project.edit_project
msgid "Accept Emails From"
-msgstr ""
+msgstr "ទទួលទម្រង់អ៊ីម៉ែល"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project__access_warning
#: model:ir.model.fields,field_description:project.field_project_task__access_warning
msgid "Access warning"
-msgstr ""
+msgstr "ដំណើររការនៃការពិន័យ"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project__message_needaction
@@ -389,7 +389,7 @@ msgstr ""
#: code:addons/project/static/src/js/project_task_kanban_examples.js:35
#, python-format
msgid "Analysis"
-msgstr ""
+msgstr "ការវិភាគ"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_project_project_filter
@@ -406,7 +406,7 @@ msgstr ""
#: model:ir.model.fields,field_description:project.field_report_project_task_user__date_start
#: model_terms:ir.ui.view,arch_db:project.view_task_project_user_search
msgid "Assignation Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទផ្ដល់"
#. module: project
#: model:ir.actions.act_window,name:project.act_res_users_2_project_task_opened
@@ -668,7 +668,7 @@ msgstr "កំណត់ផ្លាស់ប្តូរ"
#: code:addons/project/static/src/js/project_task_kanban_examples.js:57
#, python-format
msgid "Consulting"
-msgstr ""
+msgstr "ប្រឹក្សាយោបល់"
#. module: project
#: model:ir.model,name:project.model_res_partner
@@ -785,7 +785,7 @@ msgstr "អតិថិជន"
#: code:addons/project/models/project.py:882
#, python-format
msgid "Customer Email"
-msgstr ""
+msgstr "សារអេឡិចត្រូនិចរបស់អតិថិជន"
#. module: project
#. openerp-web
@@ -887,7 +887,7 @@ msgstr "ការពិពណ៌​នា​"
#: code:addons/project/static/src/js/project_task_kanban_examples.js:64
#, python-format
msgid "Design"
-msgstr ""
+msgstr "ច្នៃប្រឌិត"
#. module: project
#. openerp-web
@@ -964,7 +964,7 @@ msgstr ""
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_project_kanban
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_task_kanban
@@ -993,7 +993,7 @@ msgstr "អុីម៉ែល"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.edit_project
msgid "Email Alias"
-msgstr ""
+msgstr "អ៊ីម៉ែល"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type__mail_template_id
@@ -1052,7 +1052,7 @@ msgstr "តម្រងដែលបានបន្ថែម"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_task_form2
msgid "Extra Info"
-msgstr ""
+msgstr "ព័ត៌មានបន្ថែម"
#. module: project
#. openerp-web
@@ -1115,7 +1115,7 @@ msgstr ""
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_task_search_form
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: project
#: model:ir.ui.menu,name:project.menu_tasks_config
@@ -1195,7 +1195,7 @@ msgstr ""
#. module: project
#: selection:report.project.task.user,priority:0
msgid "High"
-msgstr ""
+msgstr "ខ្ពស់"
#. module: project
#: model:ir.model.fields,help:project.field_project_project__privacy_visibility
@@ -1394,7 +1394,7 @@ msgstr ""
#: model:ir.model.fields,field_description:project.field_project_task__kanban_state
#: model:ir.model.fields,field_description:project.field_report_project_task_user__state
msgid "Kanban State"
-msgstr ""
+msgstr "រដ្ឋកាណាន"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task__kanban_state_label
@@ -1441,7 +1441,7 @@ msgstr "កាលបរិច្ឆេតកែប្រែចុងក្រោ
#: model:ir.model.fields,field_description:project.field_report_project_task_user__date_last_stage_update
#, python-format
msgid "Last Stage Update"
-msgstr ""
+msgstr "ធ្វើឱ្យទាន់សម័យដំណាក់កាលចុងក្រោយ"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task__write_date
@@ -1466,7 +1466,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_task_search_form
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.view_task_kanban
@@ -1539,7 +1539,7 @@ msgstr ""
#: selection:project.task,priority:0
#: selection:report.project.task.user,priority:0
msgid "Low"
-msgstr ""
+msgstr "ខាត"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project__message_main_attachment_id
@@ -1668,7 +1668,7 @@ msgstr "ថ្មីបំផុត"
#. module: project
#: model_terms:ir.ui.view,arch_db:project.project_task_view_tree_activity
msgid "Next Activities"
-msgstr ""
+msgstr "សកម្មភាពបន្ទាប់"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task__activity_date_deadline
@@ -1689,7 +1689,7 @@ msgstr ""
#: code:addons/project/models/project.py:852
#, python-format
msgid "No Subject"
-msgstr ""
+msgstr "មិនមានប្រធានបទ"
#. module: project
#: model_terms:ir.actions.act_window,help:project.rating_rating_action_project_report
@@ -2414,7 +2414,7 @@ msgstr ""
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type__name
msgid "Stage Name"
-msgstr ""
+msgstr "ឈ្មោះដំនាក់កាល"
#. module: project
#: model:mail.message.subtype,description:project.mt_task_stage
@@ -2747,7 +2747,7 @@ msgstr ""
#: code:addons/project/static/src/js/project_task_kanban_examples.js:51
#, python-format
msgid "This Week"
-msgstr ""
+msgstr "សប្តាហ៍នេះ"
#. module: project
#: model_terms:ir.actions.act_window,help:project.action_project_task_user_tree
@@ -2913,7 +2913,7 @@ msgstr ""
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task__user_email
msgid "User Email"
-msgstr ""
+msgstr "អ្នកប្រើប្រាស់អ៊ីម៉ែល"
#. module: project
#: selection:project.project,privacy_visibility:0
diff --git a/addons/purchase/i18n/km.po b/addons/purchase/i18n/km.po
index b62c7a4970a..eac1aed97d1 100644
--- a/addons/purchase/i18n/km.po
+++ b/addons/purchase/i18n/km.po
@@ -232,7 +232,7 @@ msgstr ""
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order__access_warning
msgid "Access warning"
-msgstr ""
+msgstr "ដំណើររការនៃការពិន័យ"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_needaction
@@ -351,7 +351,7 @@ msgstr ""
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order__invoice_ids
msgid "Bills"
-msgstr ""
+msgstr "វិក្កយបត្រ"
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
@@ -657,7 +657,7 @@ msgstr ""
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: purchase
#: selection:res.company,po_double_validation:0
@@ -798,7 +798,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_res_company__po_double_validation
@@ -1799,7 +1799,7 @@ msgstr "សរុប​"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_report__price_total
msgid "Total Price"
-msgstr ""
+msgstr "តំលៃសរុប"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__product_uom_qty
@@ -1902,7 +1902,7 @@ msgstr ""
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__vendor_bill_id
msgid "Vendor Bill"
-msgstr ""
+msgstr "វិក័យបត្រលក់"
#. module: purchase
#: model:ir.actions.act_window,name:purchase.act_res_partner_2_supplier_invoices
@@ -1913,7 +1913,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_account_buttons
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_bill_union_filter
msgid "Vendor Bills"
-msgstr ""
+msgstr "វិក័យប័ត្រលក់"
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
@@ -1929,7 +1929,7 @@ msgstr ""
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order__partner_ref
msgid "Vendor Reference"
-msgstr ""
+msgstr "សេចក្តីយោងអ្នកលក់"
#. module: purchase
#: model:ir.ui.menu,name:purchase.menu_procurement_management_supplier_name
@@ -1969,6 +1969,8 @@ msgstr ""
#, python-format
msgid "Warning for %s"
msgstr ""
+"ការព្រមានសម្រាប់ %s\n"
+" "
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_buttons
@@ -1983,7 +1985,7 @@ msgstr ""
#. module: purchase
#: model_terms:ir.ui.view,arch_db:purchase.res_config_settings_view_form_purchase
msgid "Warnings"
-msgstr ""
+msgstr "ការព្រមាន"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order__website_message_ids
diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml
index 4c707aaa555..669a4b27074 100644
--- a/addons/purchase/views/purchase_views.xml
+++ b/addons/purchase/views/purchase_views.xml
@@ -395,6 +395,7 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
<field name="view_mode">tree,kanban,form,pivot,graph,calendar,activity</field>
+ <field name="domain">[]</field>
<field name="search_view_id" ref="view_purchase_order_filter"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
diff --git a/addons/purchase_requisition/i18n/hu.po b/addons/purchase_requisition/i18n/hu.po
index 510491bc08c..94608ecb5b7 100644
--- a/addons/purchase_requisition/i18n/hu.po
+++ b/addons/purchase_requisition/i18n/hu.po
@@ -497,7 +497,7 @@ msgstr "Folyamatban lévő"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition__picking_type_id
msgid "Operation Type"
-msgstr ""
+msgstr "Művelet típus"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_line__qty_ordered
diff --git a/addons/purchase_requisition/i18n/km.po b/addons/purchase_requisition/i18n/km.po
index d5c4687cda7..3282fd90b63 100644
--- a/addons/purchase_requisition/i18n/km.po
+++ b/addons/purchase_requisition/i18n/km.po
@@ -795,6 +795,8 @@ msgstr ""
#, python-format
msgid "Warning for %s"
msgstr ""
+"ការព្រមានសម្រាប់ %s\n"
+" "
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition__website_message_ids
diff --git a/addons/purchase_stock/i18n/hu.po b/addons/purchase_stock/i18n/hu.po
index 1f35f692658..4940047a7d4 100644
--- a/addons/purchase_stock/i18n/hu.po
+++ b/addons/purchase_stock/i18n/hu.po
@@ -8,6 +8,7 @@
# gezza <geza.nagy@oregional.hu>, 2018
# Kovács Tibor <kovika@gmail.com>, 2018
# Tibor Kőnig <konig.tibor@evitalit.hu>, 2018
+# Ákos Nagy <akos.nagy@oregional.hu>, 2019
#
msgid ""
msgstr ""
@@ -15,7 +16,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-24 09:34+0000\n"
"PO-Revision-Date: 2018-08-24 09:24+0000\n"
-"Last-Translator: Tibor Kőnig <konig.tibor@evitalit.hu>, 2018\n"
+"Last-Translator: Ákos Nagy <akos.nagy@oregional.hu>, 2019\n"
"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -97,7 +98,7 @@ msgstr ""
#. module: purchase_stock
#: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po
msgid "Exception(s):"
-msgstr ""
+msgstr "Kivétel(ek):"
#. module: purchase_stock
#: model:ir.ui.menu,name:purchase_stock.menu_action_picking_tree_in_move
diff --git a/addons/purchase_stock/i18n/ko.po b/addons/purchase_stock/i18n/ko.po
index 408522cf280..29ad3d71852 100644
--- a/addons/purchase_stock/i18n/ko.po
+++ b/addons/purchase_stock/i18n/ko.po
@@ -99,7 +99,7 @@ msgstr ""
#. module: purchase_stock
#: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po
msgid "Exception(s):"
-msgstr ""
+msgstr "예외 :"
#. module: purchase_stock
#: model:ir.ui.menu,name:purchase_stock.menu_action_picking_tree_in_move
@@ -204,12 +204,12 @@ msgstr "상품 양식"
#. module: purchase_stock
#: selection:stock.rule,action:0
msgid "Pull & Push"
-msgstr ""
+msgstr "당기고 밀기"
#. module: purchase_stock
#: selection:stock.rule,action:0
msgid "Pull From"
-msgstr ""
+msgstr "다음에서 당기기"
#. module: purchase_stock
#: model:ir.model,name:purchase_stock.model_purchase_order
@@ -242,7 +242,7 @@ msgstr ""
#. module: purchase_stock
#: selection:stock.rule,action:0
msgid "Push To"
-msgstr ""
+msgstr "다음으로 밀기"
#. module: purchase_stock
#: model_terms:ir.ui.view,arch_db:purchase_stock.purchase_order_view_form_inherit
@@ -303,7 +303,7 @@ msgstr ""
#. module: purchase_stock
#: model:ir.model,name:purchase_stock.model_report_stock_report_stock_rule
msgid "Stock rule report"
-msgstr ""
+msgstr "재고 규칙 보고서"
#. module: purchase_stock
#: model:ir.model.fields,help:purchase_stock.field_purchase_order__default_location_dest_id_usage
@@ -395,9 +395,9 @@ msgstr "일"
#. module: purchase_stock
#: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po
msgid "of"
-msgstr ""
+msgstr "of"
#. module: purchase_stock
#: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po
msgid "ordered instead of"
-msgstr ""
+msgstr "다음 대신 주문됨"
diff --git a/addons/repair/i18n/hu.po b/addons/repair/i18n/hu.po
index af5f3aa80e0..c23f04602d0 100644
--- a/addons/repair/i18n/hu.po
+++ b/addons/repair/i18n/hu.po
@@ -352,7 +352,7 @@ msgstr "Javítás vége"
#. module: repair
#: model:ir.model.fields,help:repair.field_repair_order__tracking
msgid "Ensure the traceability of a storable product in your warehouse."
-msgstr ""
+msgstr "A raktárban tárolható termékek nyomon követésének biztosítása."
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
@@ -440,7 +440,7 @@ msgstr ""
#: code:addons/repair/models/repair.py:210
#, python-format
msgid "Insufficient Quantity"
-msgstr ""
+msgstr "Elégtelen mennyiség"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__internal_notes
diff --git a/addons/repair/i18n/it.po b/addons/repair/i18n/it.po
index a147a70cddb..3cc5343b081 100644
--- a/addons/repair/i18n/it.po
+++ b/addons/repair/i18n/it.po
@@ -3,7 +3,6 @@
# * repair
#
# Translators:
-# Sergio Zanchetta <primes2h@gmail.com>, 2018
# Francesco Garganese <francesco.garganese@aeromnia.aero>, 2018
# Martin Trigaux, 2018
# Cesare Cugnasco <cesare.cugnasco@gmail.com>, 2018
@@ -17,6 +16,7 @@
# David Minneci <david@numeko.it>, 2018
# maiolif <maiolif@mgftools.com>, 2018
# Léonie Bouchat <lbo@odoo.com>, 2018
+# Sergio Zanchetta <primes2h@gmail.com>, 2019
#
msgid ""
msgstr ""
@@ -24,7 +24,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:18+0000\n"
"PO-Revision-Date: 2018-08-24 09:24+0000\n"
-"Last-Translator: Léonie Bouchat <lbo@odoo.com>, 2018\n"
+"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2019\n"
"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -359,7 +359,7 @@ msgstr ""
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
msgid "Extra Info"
-msgstr "Info aggiuntive"
+msgstr "Informazioni aggiuntive"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
diff --git a/addons/repair/i18n/km.po b/addons/repair/i18n/km.po
index 0bf9e1a66fc..37b20cc3f3b 100644
--- a/addons/repair/i18n/km.po
+++ b/addons/repair/i18n/km.po
@@ -346,7 +346,7 @@ msgstr ""
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
msgid "Extra Info"
-msgstr ""
+msgstr "ព័ត៌មានបន្ថែម"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
@@ -371,7 +371,7 @@ msgstr ""
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
@@ -481,7 +481,7 @@ msgstr ""
#: model:ir.model.fields,field_description:repair.field_repair_order__invoiced
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__partner_invoice_id
@@ -526,7 +526,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__location_id
@@ -782,7 +782,7 @@ msgstr ""
#. module: repair
#: selection:repair.line,type:0
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_stock_move__repair_id
@@ -1046,7 +1046,7 @@ msgstr ""
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__tracking
msgid "Tracking"
-msgstr ""
+msgstr "ការ​តាមដាន"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_line__type
diff --git a/addons/repair/i18n/ko.po b/addons/repair/i18n/ko.po
index dbe508f03ff..7103cc44142 100644
--- a/addons/repair/i18n/ko.po
+++ b/addons/repair/i18n/ko.po
@@ -344,7 +344,7 @@ msgstr "수리 완료"
#. module: repair
#: model:ir.model.fields,help:repair.field_repair_order__tracking
msgid "Ensure the traceability of a storable product in your warehouse."
-msgstr ""
+msgstr "창고에 보관 가능한 제품의 추적성을 확인하십시오."
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form
diff --git a/addons/resource/i18n/km.po b/addons/resource/i18n/km.po
index 7ce72151263..d740f303ba7 100644
--- a/addons/resource/i18n/km.po
+++ b/addons/resource/i18n/km.po
@@ -205,7 +205,7 @@ msgstr ""
#. module: resource
#: model_terms:ir.ui.view,arch_db:resource.view_resource_resource_search
msgid "Inactive"
-msgstr ""
+msgstr "អសកម្ម"
#. module: resource
#: model:ir.model.fields,field_description:resource.field_resource_calendar____last_update
diff --git a/addons/resource/i18n/ko.po b/addons/resource/i18n/ko.po
index 94e71036fc5..cef7945e85a 100644
--- a/addons/resource/i18n/ko.po
+++ b/addons/resource/i18n/ko.po
@@ -470,6 +470,8 @@ msgid ""
"the efficiency factor is 200%, however the expected duration will be 30 "
"minutes."
msgstr ""
+"이 필드는 이 작업장에서 작업 지시의 예상 기간을 계산하는 데 사용됩니다. 예를 들어 작업 공정에 1시간이 소요되고 효율 계수가 "
+"100%인 경우 예상 소요 시간은 1시간입니다. 효율 계수가 200%인 경우 예상 소요 시간은 30분이 됩니다."
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
@@ -617,4 +619,4 @@ msgstr "근무 시간"
#: model:ir.actions.act_window,name:resource.action_resource_calendar_form
#: model:ir.ui.menu,name:resource.menu_resource_calendar
msgid "Working Times"
-msgstr ""
+msgstr "작업 시간"
diff --git a/addons/sale/i18n/cs.po b/addons/sale/i18n/cs.po
index 956c8745576..d3a6d754f9d 100644
--- a/addons/sale/i18n/cs.po
+++ b/addons/sale/i18n/cs.po
@@ -1249,7 +1249,7 @@ msgstr "Zobrazovaný název"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order_line__display_type
msgid "Display Type"
-msgstr ""
+msgstr "Typ zobrazení"
#. module: sale
#: selection:res.company,sale_onboarding_order_confirmation_state:0
@@ -3168,7 +3168,7 @@ msgstr "Odeslat e-mailem"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.sale_onboarding_sample_quotation_step
msgid "Send sample"
-msgstr ""
+msgstr "Odeslat vzor"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form
@@ -3684,6 +3684,9 @@ msgid ""
"list view and click on 'Portal Access Management' option in the dropdown "
"menu *Action*."
msgstr ""
+"Chcete-li posílat pozvánky v režimu B2B, otevřete kontakt nebo vyberte "
+"několik v zobrazení seznamu a klikněte na možnost Správa portálového "
+"přístupu v rozevírací nabídce *Akce*."
#. module: sale
#: selection:sale.order,activity_state:0
diff --git a/addons/sale/i18n/km.po b/addons/sale/i18n/km.po
index 1fe73fa58f8..024dd11cf86 100644
--- a/addons/sale/i18n/km.po
+++ b/addons/sale/i18n/km.po
@@ -258,7 +258,7 @@ msgstr ""
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document
msgid "<span>Disc.(%)</span>"
-msgstr ""
+msgstr "<span>បញ្ជុះភាគរយ</span>"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_content
@@ -454,7 +454,7 @@ msgstr ""
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order__access_warning
msgid "Access warning"
-msgstr ""
+msgstr "ដំណើររការនៃការពិន័យ"
#. module: sale
#: model:ir.model.fields,help:sale.field_sale_order_line__qty_delivered_method
@@ -515,7 +515,7 @@ msgstr ""
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.view_order_form
msgid "Add a section"
-msgstr ""
+msgstr "បន្ថែមផ្នែកមួយទៀត"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.product_configurator_configure
@@ -1381,7 +1381,7 @@ msgstr ""
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.view_sales_order_filter
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form
@@ -1562,7 +1562,7 @@ msgstr ""
#. module: sale
#: model:mail.message.subtype,name:sale.mt_salesteam_invoice_created
msgid "Invoice Created"
-msgstr ""
+msgstr "វិកយបត្រដែលបានបង្កើត"
#. module: sale
#: model:ir.model,name:sale.model_account_invoice_line
@@ -1626,7 +1626,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,state:0
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: sale
#: code:addons/sale/models/sale.py:1061
@@ -1753,7 +1753,7 @@ msgstr ""
#: selection:res.company,sale_onboarding_sample_quotation_state:0
#: selection:res.company,sale_quotation_onboarding_state:0
msgid "Just done"
-msgstr ""
+msgstr "ទើបតែរួចរាល់"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.report_all_channels_sales_view_search
@@ -1796,7 +1796,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.view_sales_order_filter
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form
@@ -2404,7 +2404,7 @@ msgstr ""
#. module: sale
#: selection:crm.team,dashboard_graph_model:0
msgid "Pipeline"
-msgstr ""
+msgstr "Pipeline"
#. module: sale
#: selection:sale.order,activity_state:0
@@ -2837,7 +2837,7 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_res_partner__sale_order_count
@@ -3641,7 +3641,7 @@ msgstr ""
#: selection:sale.order,invoice_status:0
#: selection:sale.order.line,invoice_status:0
msgid "To Invoice"
-msgstr ""
+msgstr "ទៅវិក័យប័ត្រ"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order_line__qty_to_invoice
@@ -3689,7 +3689,7 @@ msgstr "សរុប​"
#: model_terms:ir.ui.view,arch_db:sale.report_all_channels_sales_view_pivot
#: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document
msgid "Total Price"
-msgstr ""
+msgstr "តំលៃសរុប"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order_line__price_tax
@@ -3753,7 +3753,7 @@ msgstr ""
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.view_order_form
msgid "Unit Price:"
-msgstr ""
+msgstr "តំលៃក្នុងមួយឯកតាៈ"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order_line__product_uom
@@ -3775,7 +3775,7 @@ msgstr ""
#: model:product.template,uom_name:sale.product_product_1_product_template
#: model:product.template,uom_name:sale.product_product_4e_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: sale
#: model:ir.ui.menu,name:sale.menu_product_uom_form_action
@@ -3901,6 +3901,8 @@ msgstr ""
#, python-format
msgid "Warning for %s"
msgstr ""
+"ការព្រមានសម្រាប់ %s\n"
+" "
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.res_partner_view_buttons
@@ -4048,7 +4050,7 @@ msgstr ""
#: model:product.template,weight_uom_name:sale.product_product_1_product_template
#: model:product.template,weight_uom_name:sale.product_product_4e_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: sale
#: code:addons/sale/models/sale.py:106
diff --git a/addons/sale/i18n/uk.po b/addons/sale/i18n/uk.po
index 53b6d66f803..d9349517aa7 100644
--- a/addons/sale/i18n/uk.po
+++ b/addons/sale/i18n/uk.po
@@ -647,8 +647,8 @@ msgid ""
"from pricelists (option to activate in the pricelist configuration)."
msgstr ""
"Застосовуйте знижки вручну на рядках замовлень на купівлю або покажіть "
-"знижки, розраховані з прайслистів (можливість активувати в налаштуваннях "
-"прайслиста)."
+"знижки, розраховані з прайс-листів (можливість активувати в налаштуваннях "
+"прайс-листа)."
#. module: sale
#: model_terms:ir.ui.view,arch_db:sale.view_order_form
diff --git a/addons/sale/models/res_partner.py b/addons/sale/models/res_partner.py
index a1f60defb2d..fac5165f55f 100644
--- a/addons/sale/models/res_partner.py
+++ b/addons/sale/models/res_partner.py
@@ -30,6 +30,7 @@ class ResPartner(models.Model):
partner = partner.parent_id
def can_edit_vat(self):
+ ''' Can't edit `vat` if there is (non draft) issued SO. '''
can_edit_vat = super(ResPartner, self).can_edit_vat()
if not can_edit_vat:
return can_edit_vat
diff --git a/addons/sale_crm/i18n/km.po b/addons/sale_crm/i18n/km.po
index e607011fd28..70ad38c5216 100644
--- a/addons/sale_crm/i18n/km.po
+++ b/addons/sale_crm/i18n/km.po
@@ -60,7 +60,7 @@ msgstr ""
#. module: sale_crm
#: model_terms:ir.ui.view,arch_db:sale_crm.sale_view_inherit123
msgid "Marketing"
-msgstr ""
+msgstr "ទីផ្សារ"
#. module: sale_crm
#: model:ir.model.fields,field_description:sale_crm.field_account_invoice__medium_id
@@ -86,7 +86,7 @@ msgstr ""
#. module: sale_crm
#: model:ir.model.fields,field_description:sale_crm.field_sale_order__opportunity_id
msgid "Opportunity"
-msgstr ""
+msgstr "ឪកាស"
#. module: sale_crm
#: model:ir.model.fields,field_description:sale_crm.field_crm_lead__order_ids
@@ -97,7 +97,7 @@ msgstr ""
#: code:addons/sale_crm/models/crm_team.py:12
#, python-format
msgid "Pipeline"
-msgstr ""
+msgstr "Pipeline"
#. module: sale_crm
#: model:ir.actions.act_window,name:sale_crm.sale_action_quotations_new
@@ -112,7 +112,7 @@ msgstr ""
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_crm
#: model:ir.actions.act_window,name:sale_crm.sale_action_orders
diff --git a/addons/sale_expense/i18n/km.po b/addons/sale_expense/i18n/km.po
index 499529764f7..087fe58c841 100644
--- a/addons/sale_expense/i18n/km.po
+++ b/addons/sale_expense/i18n/km.po
@@ -38,7 +38,7 @@ msgstr ""
#. module: sale_expense
#: model:ir.model,name:sale_expense.model_hr_expense
msgid "Expense"
-msgstr ""
+msgstr "ចំណាយ"
#. module: sale_expense
#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order
@@ -60,7 +60,7 @@ msgstr ""
#. module: sale_expense
#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_expense
#: model_terms:digest.tip,tip_description:sale_expense.digest_tip_sale_expense_0
diff --git a/addons/sale_management/i18n/cs.po b/addons/sale_management/i18n/cs.po
index 4f7aa39068b..41182023a74 100644
--- a/addons/sale_management/i18n/cs.po
+++ b/addons/sale_management/i18n/cs.po
@@ -193,7 +193,7 @@ msgstr "Zobrazovaný název"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_template_line__display_type
msgid "Display Type"
-msgstr ""
+msgstr "Typ zobrazení"
#. module: sale_management
#: code:addons/sale_management/models/digest.py:16
diff --git a/addons/sale_management/i18n/km.po b/addons/sale_management/i18n/km.po
index a2bf368b687..e911753039a 100644
--- a/addons/sale_management/i18n/km.po
+++ b/addons/sale_management/i18n/km.po
@@ -68,7 +68,7 @@ msgstr ""
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_template_view_form
msgid "Add a section"
-msgstr ""
+msgstr "បន្ថែមផ្នែកមួយទៀត"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
@@ -400,7 +400,7 @@ msgstr ""
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
@@ -429,7 +429,7 @@ msgstr ""
#. module: sale_management
#: model:ir.model,name:sale_management.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.digest_digest_view_form
diff --git a/addons/sale_margin/i18n/km.po b/addons/sale_margin/i18n/km.po
index 01d303d63b7..727f92e0d8a 100644
--- a/addons/sale_margin/i18n/km.po
+++ b/addons/sale_margin/i18n/km.po
@@ -40,7 +40,7 @@ msgstr ""
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_report
diff --git a/addons/sale_purchase/i18n/hu.po b/addons/sale_purchase/i18n/hu.po
index 64f58def90a..0893cb96339 100644
--- a/addons/sale_purchase/i18n/hu.po
+++ b/addons/sale_purchase/i18n/hu.po
@@ -45,7 +45,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation
msgid "Exception(s):"
-msgstr ""
+msgstr "Kivétel(ek):"
#. module: sale_purchase
#: model:ir.model.fields,field_description:sale_purchase.field_sale_order_line__purchase_line_ids
diff --git a/addons/sale_purchase/i18n/km.po b/addons/sale_purchase/i18n/km.po
index 9ec87498782..b2b2afc529b 100644
--- a/addons/sale_purchase/i18n/km.po
+++ b/addons/sale_purchase/i18n/km.po
@@ -132,7 +132,7 @@ msgstr ""
#. module: sale_purchase
#: model:ir.model.fields,field_description:sale_purchase.field_purchase_order_line__sale_order_id
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_purchase
#: model:ir.model,name:sale_purchase.model_sale_order_line
diff --git a/addons/sale_purchase/i18n/ko.po b/addons/sale_purchase/i18n/ko.po
index 8d2bc546f3e..31ffbe3f727 100644
--- a/addons/sale_purchase/i18n/ko.po
+++ b/addons/sale_purchase/i18n/ko.po
@@ -49,7 +49,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation
msgid "Exception(s):"
-msgstr ""
+msgstr "예외 :"
#. module: sale_purchase
#: model:ir.model.fields,field_description:sale_purchase.field_sale_order_line__purchase_line_ids
@@ -169,16 +169,16 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_cancellation
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation
msgid "cancelled"
-msgstr ""
+msgstr "취소됨"
#. module: sale_purchase
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_cancellation
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation
msgid "of"
-msgstr ""
+msgstr "of"
#. module: sale_purchase
#: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased
msgid "ordered instead of"
-msgstr ""
+msgstr "다음 대신 주문됨"
diff --git a/addons/sale_quotation_builder/i18n/km.po b/addons/sale_quotation_builder/i18n/km.po
index 3fc547b0e22..64a50a1542c 100644
--- a/addons/sale_quotation_builder/i18n/km.po
+++ b/addons/sale_quotation_builder/i18n/km.po
@@ -177,7 +177,7 @@ msgstr ""
#. module: sale_quotation_builder
#: model:ir.model,name:sale_quotation_builder.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_quotation_builder
#: model:ir.model,name:sale_quotation_builder.model_sale_order_line
diff --git a/addons/sale_stock/i18n/cs.po b/addons/sale_stock/i18n/cs.po
index a322ab65e9a..198bf71f6d5 100644
--- a/addons/sale_stock/i18n/cs.po
+++ b/addons/sale_stock/i18n/cs.po
@@ -227,6 +227,9 @@ msgid ""
"costs and responsibilities between buyer and seller and reflect state-of-"
"the-art transportation practices."
msgstr ""
+"Incoterms je řada prodejních podmínek. Používají se k rozdělení transakčních"
+" nákladů a odpovědnosti mezi kupujícím a prodávajícím a odrážejí "
+"nejmodernější převodní postupy."
#. module: sale_stock
#: model:ir.model.fields,help:sale_stock.field_sale_order__incoterm
diff --git a/addons/sale_stock/i18n/hu.po b/addons/sale_stock/i18n/hu.po
index 738248c4101..fa44fa78eb1 100644
--- a/addons/sale_stock/i18n/hu.po
+++ b/addons/sale_stock/i18n/hu.po
@@ -206,7 +206,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:sale_stock.exception_on_picking
#: model_terms:ir.ui.view,arch_db:sale_stock.exception_on_so
msgid "Exception(s):"
-msgstr ""
+msgstr "Kivétel(ek):"
#. module: sale_stock
#: model:ir.model.fields,help:sale_stock.field_sale_order__picking_policy
diff --git a/addons/sale_timesheet/i18n/de.po b/addons/sale_timesheet/i18n/de.po
index 84520edd412..f3341d0ab13 100644
--- a/addons/sale_timesheet/i18n/de.po
+++ b/addons/sale_timesheet/i18n/de.po
@@ -606,7 +606,7 @@ msgstr "Meilensteine (manuell festgelegte Menge bei Bestellung)"
#. module: sale_timesheet
#: model_terms:ir.ui.view,arch_db:sale_timesheet.project_profitability_report_view_search
msgid "My Project"
-msgstr ""
+msgstr "Mein Projekt"
#. module: sale_timesheet
#: code:addons/sale_timesheet/models/project_overview.py:241
diff --git a/addons/sale_timesheet/i18n/km.po b/addons/sale_timesheet/i18n/km.po
index 2a7a11d8223..236f6509eaf 100644
--- a/addons/sale_timesheet/i18n/km.po
+++ b/addons/sale_timesheet/i18n/km.po
@@ -469,7 +469,7 @@ msgstr ""
#. module: sale_timesheet
#: model_terms:ir.ui.view,arch_db:sale_timesheet.timesheet_plan
msgid "Invoiced"
-msgstr ""
+msgstr "បានចេញវិក្កយបត្រ"
#. module: sale_timesheet
#: code:addons/sale_timesheet/controllers/main.py:404
@@ -667,7 +667,7 @@ msgstr ""
#: model:ir.actions.client,name:sale_timesheet.project_timesheet_action_client_timesheet_plan
#, python-format
msgid "Overview"
-msgstr ""
+msgstr "ទិដ្ឋភាពទូទៅ"
#. module: sale_timesheet
#: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__product_id
@@ -819,7 +819,7 @@ msgstr ""
#: model:ir.model,name:sale_timesheet.model_sale_order
#: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__sale_order_id
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: sale_timesheet
#: model:ir.model.fields,field_description:sale_timesheet.field_project_sale_line_employee_map__sale_line_id
@@ -1204,7 +1204,7 @@ msgstr ""
#: model:product.product,uom_name:sale_timesheet.product_service_deliver_manual
#: model:product.template,uom_name:sale_timesheet.product_service_deliver_manual_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: sale_timesheet
#: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__amount_untaxed_invoiced
@@ -1284,4 +1284,4 @@ msgstr ""
#: model:product.template,weight_uom_name:sale_timesheet.product_service_deliver_timesheet_2_product_template
#: model:product.template,weight_uom_name:sale_timesheet.product_service_order_timesheet_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
diff --git a/addons/sales_team/i18n/it.po b/addons/sales_team/i18n/it.po
index 1f4ab3701e8..5859dbcef8c 100644
--- a/addons/sales_team/i18n/it.po
+++ b/addons/sales_team/i18n/it.po
@@ -474,7 +474,7 @@ msgstr "Pipeline dei team"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team__team_type
msgid "Team Type"
-msgstr "Tipo di team"
+msgstr "Tipologia team"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team__color
diff --git a/addons/sales_team/i18n/km.po b/addons/sales_team/i18n/km.po
index 8f86a943314..08054194470 100644
--- a/addons/sales_team/i18n/km.po
+++ b/addons/sales_team/i18n/km.po
@@ -53,7 +53,7 @@ msgstr "ប្រភេទសកម្មភាព"
#. module: sales_team
#: model:crm.team,name:sales_team.crm_team_1
msgid "America"
-msgstr ""
+msgstr "អាមេរិច"
#. module: sales_team
#: model_terms:ir.ui.view,arch_db:sales_team.crm_team_salesteams_search
@@ -144,7 +144,7 @@ msgstr ""
#. module: sales_team
#: selection:crm.team,dashboard_graph_group:0
msgid "Day"
-msgstr ""
+msgstr "ថ្ងៃ"
#. module: sales_team
#: model_terms:ir.actions.act_window,help:sales_team.crm_team_salesteams_act
@@ -160,7 +160,7 @@ msgstr "ឈ្មោះសំរាប់បង្ហាញ"
#. module: sales_team
#: model:crm.team,name:sales_team.team_sales_department
msgid "Europe"
-msgstr ""
+msgstr "អ៊ឺរ៉ប"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team__favorite_user_ids
@@ -213,7 +213,7 @@ msgstr ""
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team__dashboard_graph_group
msgid "How this channel's dashboard graph will group the results."
-msgstr ""
+msgstr "របៀបក្រាហ្វិចឆានែលរបស់ឆានែលនេះនឹងដាក់បញ្ចូលលទ្ធផល។"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team__id
@@ -241,6 +241,8 @@ msgid ""
"If set, this Sales Team will be used for sales and assignations related to "
"this partner"
msgstr ""
+"ប្រសិនបើបានកំណត់, "
+"ក្រុមលក់នេះនឹងត្រូវបានប្រើសម្រាប់ការលក់និងការចាត់តាំងពាក់ព័ន្ធនឹងដៃគូនេះ"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team__active
@@ -358,7 +360,7 @@ msgstr ""
#. module: sales_team
#: selection:crm.team,dashboard_graph_model:0
msgid "Pipeline"
-msgstr ""
+msgstr "Pipeline"
#. module: sales_team
#: selection:crm.team,team_type:0
diff --git a/addons/snailmail_account/i18n/km.po b/addons/snailmail_account/i18n/km.po
index a6a7e2679fc..21ab9e9c5fd 100644
--- a/addons/snailmail_account/i18n/km.po
+++ b/addons/snailmail_account/i18n/km.po
@@ -28,7 +28,7 @@ msgstr ""
#. module: snailmail_account
#: model:ir.model,name:snailmail_account.model_account_invoice_send
msgid "Account Invoice Send"
-msgstr ""
+msgstr "វិក័យបត្រ័គណនីយផ្ញើរចេញ"
#. module: snailmail_account
#: model:ir.model.fields,help:snailmail_account.field_account_invoice_send__snailmail_is_letter
diff --git a/addons/stock/i18n/hu.po b/addons/stock/i18n/hu.po
index 69ef889e60e..27d41dbe336 100644
--- a/addons/stock/i18n/hu.po
+++ b/addons/stock/i18n/hu.po
@@ -1885,7 +1885,7 @@ msgstr "Teljesítés kelte"
#: model:ir.model.fields,help:stock.field_stock_move_line__tracking
#: model:ir.model.fields,help:stock.field_stock_scrap__tracking
msgid "Ensure the traceability of a storable product in your warehouse."
-msgstr ""
+msgstr "A raktárban tárolható termékek nyomon követésének biztosítása."
#. module: stock
#. openerp-web
@@ -1912,7 +1912,7 @@ msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.exception_on_picking
msgid "Exception(s):"
-msgstr ""
+msgstr "Kivétel(ek):"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__date_expected
@@ -2453,7 +2453,7 @@ msgstr "Behozatal helye"
#: code:addons/stock/models/stock_scrap.py:140
#, python-format
msgid "Insufficient Quantity"
-msgstr ""
+msgstr "Elégtelen mennyiség"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.stock_move_line_view_search
@@ -2688,7 +2688,7 @@ msgstr ""
#: model:ir.model.fields,field_description:stock.field_stock_move_line__is_locked
#: model:ir.model.fields,field_description:stock.field_stock_picking__is_locked
msgid "Is Locked"
-msgstr ""
+msgstr "Zárolt"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_location__return_location
@@ -3177,7 +3177,7 @@ msgstr "Gyártás"
#. module: stock
#: selection:stock.picking.type,code:0
msgid "Manufacturing Operation"
-msgstr ""
+msgstr "Gyártási művelet"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_picking_form
@@ -3612,7 +3612,7 @@ msgstr "Csak egy termék"
#: model_terms:ir.ui.view,arch_db:stock.view_pickingtype_filter
#, python-format
msgid "Operation Type"
-msgstr ""
+msgstr "Művelet típus"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type__return_picking_type_id
diff --git a/addons/stock/i18n/km.po b/addons/stock/i18n/km.po
index 2a5581957a9..c4a2a879ff0 100644
--- a/addons/stock/i18n/km.po
+++ b/addons/stock/i18n/km.po
@@ -1003,7 +1003,7 @@ msgstr "ទំនាក់ទំនង"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_location__child_ids
msgid "Contains"
-msgstr ""
+msgstr "មាន"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_quant_package_form
@@ -1902,7 +1902,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:stock.view_inventory_form
#: model_terms:ir.ui.view,arch_db:stock.view_move_tree
msgid "From"
-msgstr ""
+msgstr "មកពី"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__show_reserved_availability
@@ -1917,7 +1917,7 @@ msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_picking_internal_search
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: stock
#: code:addons/stock/models/product.py:333
@@ -2306,7 +2306,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:stock.view_location_search
#: selection:stock.picking.type,code:0
msgid "Internal"
-msgstr ""
+msgstr "ផ្ទៃក្នុង"
#. module: stock
#: selection:stock.location,usage:0
@@ -2719,7 +2719,7 @@ msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_picking_internal_search
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree_late
@@ -3578,7 +3578,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.stock_picking_type_menu
#: model_terms:ir.ui.view,arch_db:stock.view_stock_rules_report
msgid "Overview"
-msgstr ""
+msgstr "ទិដ្ឋភាពទូទៅ"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_line__partner_id
@@ -5903,7 +5903,7 @@ msgstr ""
#: model:ir.model.fields,field_description:stock.field_stock_scrap__tracking
#: model:ir.model.fields,field_description:stock.field_stock_track_line__tracking
msgid "Tracking"
-msgstr ""
+msgstr "ការ​តាមដាន"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_track_confirmation__tracking_line_ids
@@ -5936,7 +5936,7 @@ msgstr ""
#: model:ir.actions.act_window,name:stock.action_picking_tree_all
#: model:ir.ui.menu,name:stock.all_picking
msgid "Transfers"
-msgstr ""
+msgstr "ផ្ទេរ"
#. module: stock
#: selection:stock.location,usage:0
@@ -6329,12 +6329,12 @@ msgstr ""
#: code:addons/stock/models/product.py:306
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "ការព្រមាន!"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Warnings"
-msgstr ""
+msgstr "ការព្រមាន"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings__group_warning_stock
@@ -6813,7 +6813,7 @@ msgstr ""
#: model:product.template,uom_name:stock.product_cable_management_box_product_template
#: model:product.template,weight_uom_name:stock.product_cable_management_box_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_warehouse_orderpoint_form
diff --git a/addons/stock/i18n/ko.po b/addons/stock/i18n/ko.po
index 804aa7d1169..7070e6f3f09 100644
--- a/addons/stock/i18n/ko.po
+++ b/addons/stock/i18n/ko.po
@@ -1821,7 +1821,7 @@ msgstr "유효 날짜"
#: model:ir.model.fields,help:stock.field_stock_move_line__tracking
#: model:ir.model.fields,help:stock.field_stock_scrap__tracking
msgid "Ensure the traceability of a storable product in your warehouse."
-msgstr ""
+msgstr "창고에 보관 가능한 제품의 추적성을 확인하십시오."
#. module: stock
#. openerp-web
@@ -1853,7 +1853,7 @@ msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.exception_on_picking
msgid "Exception(s):"
-msgstr ""
+msgstr "예외 :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__date_expected
@@ -4276,12 +4276,12 @@ msgstr "조달 그룹의 전파"
#. module: stock
#: selection:stock.rule,action:0
msgid "Pull & Push"
-msgstr ""
+msgstr "당기고 밀기"
#. module: stock
#: selection:stock.rule,action:0
msgid "Pull From"
-msgstr ""
+msgstr "다음에서 당기기"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.report_stock_rule
@@ -4296,7 +4296,7 @@ msgstr "푸쉬 규칙"
#. module: stock
#: selection:stock.rule,action:0
msgid "Push To"
-msgstr ""
+msgstr "다음으로 밀기"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_fixed_putaway_strat__putaway_id
@@ -5478,7 +5478,7 @@ msgstr "처리 된 재고 이동"
#. module: stock
#: model:ir.model,name:stock.model_report_stock_report_stock_rule
msgid "Stock rule report"
-msgstr ""
+msgstr "재고 규칙 보고서"
#. module: stock
#: selection:product.template,type:0
@@ -5586,7 +5586,7 @@ msgstr "기술 링크를 사용하여 누가 무엇을 소비했는지 확인할
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move__product_tmpl_id
msgid "Technical: used in views"
-msgstr "기술: 조회수에 사용 됨"
+msgstr "기술 : 화면 보기에 사용됨"
#. module: stock
#: model:ir.model.fields,help:stock.field_product_product__stock_move_ids
@@ -5787,7 +5787,7 @@ msgstr "이론적인 수량"
#. module: stock
#: model_terms:ir.actions.act_window,help:stock.stock_move_line_action
msgid "There's no product move yet"
-msgstr ""
+msgstr "아직 제품 이동이 없습니다."
#. module: stock
#: model_terms:ir.actions.act_window,help:stock.quantsact
@@ -5961,7 +5961,7 @@ msgstr "할 일"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.stock_picking_type_kanban
msgid "To Process"
-msgstr ""
+msgstr "진행중"
#. module: stock
#: selection:stock.picking,activity_state:0
@@ -6110,7 +6110,7 @@ msgstr "유형"
#: model:ir.model.fields,field_description:stock.field_stock_picking_type__code
#: model_terms:ir.ui.view,arch_db:stock.view_pickingtype_filter
msgid "Type of Operation"
-msgstr "작업 유형"
+msgstr "운영 유형"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings__module_delivery_ups
@@ -6680,7 +6680,7 @@ msgstr "임시 이동만 삭제할 수 있습니다."
#: code:addons/stock/models/stock_move_line.py:140
#, python-format
msgid "You can only process 1.0 %s of products with unique serial number."
-msgstr ""
+msgstr "고유 일련 번호가 있는 제품의 1.0 %s만 처리할 수 있습니다."
#. module: stock
#: code:addons/stock/models/stock_move.py:1014
@@ -6975,7 +6975,7 @@ msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.exception_on_picking
msgid "of"
-msgstr ""
+msgstr "of"
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.exception_on_picking
diff --git a/addons/stock/models/product.py b/addons/stock/models/product.py
index 6e31e58f3d0..d70f01f10e8 100644
--- a/addons/stock/models/product.py
+++ b/addons/stock/models/product.py
@@ -489,7 +489,8 @@ class ProductTemplate(models.Model):
@api.depends(
'product_variant_ids',
- 'product_variant_ids.stock_quant_ids',
+ 'product_variant_ids.stock_move_ids.product_qty',
+ 'product_variant_ids.stock_move_ids.state',
)
def _compute_quantities(self):
res = self._compute_quantities_dict()
diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml
index 500e8901899..7ee55009ef4 100644
--- a/addons/stock/report/report_deliveryslip.xml
+++ b/addons/stock/report/report_deliveryslip.xml
@@ -93,7 +93,7 @@
<td t-if="has_serial_number and move_line.lot_name" groups="stock.group_lot_on_delivery_slip">
<span t-field="move_line.lot_name"/>
</td>
- <td t-else="" groups="stock.group_lot_on_delivery_slip">
+ <td t-elif="has_serial_number" groups="stock.group_lot_on_delivery_slip">
<span t-field="move_line.lot_id.name"/>
</td>
<td class="text-center">
diff --git a/addons/stock_account/i18n/km.po b/addons/stock_account/i18n/km.po
index f718e8b4fb5..7d2ec613d2a 100644
--- a/addons/stock_account/i18n/km.po
+++ b/addons/stock_account/i18n/km.po
@@ -50,7 +50,7 @@ msgstr ""
#. module: stock_account
#: model_terms:ir.ui.view,arch_db:stock_account.view_move_form_inherit
msgid "Accounting Entries"
-msgstr ""
+msgstr "ការចុះបញ្ជីគណនី"
#. module: stock_account
#: model_terms:ir.ui.view,arch_db:stock_account.view_location_form_inherit
diff --git a/addons/stock_landed_costs/i18n/km.po b/addons/stock_landed_costs/i18n/km.po
index 15824841702..4a0abef4966 100644
--- a/addons/stock_landed_costs/i18n/km.po
+++ b/addons/stock_landed_costs/i18n/km.po
@@ -38,7 +38,7 @@ msgstr "គណនី"
#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__account_journal_id
msgid "Account Journal"
-msgstr ""
+msgstr "កំណត់ហេតុគណនីយ"
#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__message_needaction
@@ -503,7 +503,7 @@ msgstr "សរុប​"
#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__picking_ids
msgid "Transfers"
-msgstr ""
+msgstr "ផ្ទេរ"
#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__message_unread
diff --git a/addons/survey/i18n/it.po b/addons/survey/i18n/it.po
index f3ccc7f1565..c7472288257 100644
--- a/addons/survey/i18n/it.po
+++ b/addons/survey/i18n/it.po
@@ -765,7 +765,7 @@ msgstr "Email"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_survey__email_template_id
msgid "Email Template"
-msgstr "Template Email"
+msgstr "Modello e-mail"
#. module: survey
#: model:ir.model.fields,help:survey.field_survey_mail_compose_message__email_from
@@ -1911,7 +1911,7 @@ msgstr "Condividi e invita per email"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_mail_compose_message__public
msgid "Share options"
-msgstr "Opzioni Condivisione"
+msgstr "Opzioni condivisione"
#. module: survey
#: selection:survey.mail.compose.message,public:0
diff --git a/addons/survey/i18n/ko.po b/addons/survey/i18n/ko.po
index 97ab0c7f237..a2f1c23bc4b 100644
--- a/addons/survey/i18n/ko.po
+++ b/addons/survey/i18n/ko.po
@@ -2645,7 +2645,7 @@ msgstr "로그인"
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.page
msgid "of"
-msgstr ""
+msgstr "of"
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.sfinished
diff --git a/addons/survey/i18n/nb.po b/addons/survey/i18n/nb.po
index 4299b3ed3fc..61c86c7446f 100644
--- a/addons/survey/i18n/nb.po
+++ b/addons/survey/i18n/nb.po
@@ -2196,6 +2196,10 @@ msgid ""
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
+"Status basert på aktiviteter\n"
+"Utgått: Fristen er allerede passert\n"
+"I dag: Aktiviteten skal gjøres i dag\n"
+"Planlagt: Fremtidige aktiviteter."
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_invite__subject
diff --git a/addons/uom/i18n/km.po b/addons/uom/i18n/km.po
index 63bd5ece50f..e19a4990f77 100644
--- a/addons/uom/i18n/km.po
+++ b/addons/uom/i18n/km.po
@@ -258,7 +258,7 @@ msgstr ""
#. module: uom
#: model:uom.uom,name:uom.product_uom_unit
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: uom
#: selection:uom.category,measure_type:0
@@ -381,7 +381,7 @@ msgstr ""
#. module: uom
#: model:uom.uom,name:uom.product_uom_kgm
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: uom
#: model:uom.uom,name:uom.product_uom_km
diff --git a/addons/web/i18n/km.po b/addons/web/i18n/km.po
index 5fadab9d02f..795c6f135d7 100644
--- a/addons/web/i18n/km.po
+++ b/addons/web/i18n/km.po
@@ -355,7 +355,7 @@ msgstr ""
#: code:addons/web/static/src/js/views/list/list_editable_renderer.js:78
#, python-format
msgid "Add a line"
-msgstr ""
+msgstr "បន្ថែម"
#. module: web
#. openerp-web
@@ -1075,7 +1075,7 @@ msgstr ""
#: code:addons/web/static/src/xml/web_calendar.xml:80
#, python-format
msgid "Day"
-msgstr ""
+msgstr "ថ្ងៃ"
#. module: web
#. openerp-web
@@ -1251,7 +1251,7 @@ msgstr ""
#: code:addons/web/static/src/xml/report.xml:14
#, python-format
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: web
#. openerp-web
@@ -1411,7 +1411,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:826
#, python-format
msgid "External link"
-msgstr ""
+msgstr "តំណខាងក្រៅ"
#. module: web
#. openerp-web
@@ -1706,7 +1706,7 @@ msgstr "Image"
#: code:addons/web/static/src/js/fields/basic_fields.js:2043
#, python-format
msgid "Inactive"
-msgstr ""
+msgstr "អសកម្ម"
#. module: web
#. openerp-web
@@ -2696,7 +2696,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:1412
#, python-format
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: web
#. openerp-web
@@ -2750,7 +2750,7 @@ msgstr ""
#: code:addons/web/static/src/js/fields/basic_fields.js:2048
#, python-format
msgid "Restore"
-msgstr ""
+msgstr "ស្ដារ"
#. module: web
#. openerp-web
@@ -3219,7 +3219,7 @@ msgstr ""
#: code:addons/web/static/src/js/views/search/time_range_menu_options.js:12
#, python-format
msgid "This Week"
-msgstr ""
+msgstr "សប្តាហ៍នេះ"
#. module: web
#. openerp-web
@@ -3353,7 +3353,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:25
#, python-format
msgid "Type:"
-msgstr ""
+msgstr "ប្រភេទៈ"
#. module: web
#. openerp-web
@@ -3474,7 +3474,7 @@ msgstr ""
#: code:addons/web/static/src/js/fields/relational_fields.js:1807
#, python-format
msgid "Uploading Error"
-msgstr ""
+msgstr "ឯកសារផ្ទុកមានកំហុស"
#. module: web
#. openerp-web
@@ -3484,7 +3484,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:1060
#, python-format
msgid "Uploading..."
-msgstr ""
+msgstr "ឯកសារផ្ទុក"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po
index 20a830685ce..649d79f7726 100644
--- a/addons/web/i18n/uk.po
+++ b/addons/web/i18n/uk.po
@@ -648,7 +648,7 @@ msgstr "Прикріплення"
#: code:addons/web/static/src/xml/base.xml:354
#, python-format
msgid "Attachment :"
-msgstr "Вкладення:"
+msgstr "Прикріплення:"
#. module: web
#. openerp-web
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js
index 95003e2226f..1e6bb9af0f0 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -144,6 +144,8 @@ var BasicModel = AbstractModel.extend({
'ir.filters',
'ir.ui.view',
],
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ disableBatchedRPCs: false, // to be overriden in tests
/**
* @override
@@ -154,6 +156,11 @@ var BasicModel = AbstractModel.extend({
// save is performed.
this.mutex = new concurrency.Mutex();
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ // this array is used to accumulate RPC requests done in the same call
+ // stack, so that they can be batched in the minimum number of RPCs
+ this.batchedRPCsRequests = [];
+
this.localData = Object.create(null);
this._super.apply(this, arguments);
},
@@ -4103,6 +4110,93 @@ var BasicModel = AbstractModel.extend({
return $.when.apply($, defs);
},
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ /**
+ * Empty the pool of accumulated RPC requests: regroup similar requests in
+ * batches and perform an RPC for each batch.
+ *
+ * @private
+ */
+ _performBatchedRPCs: function () {
+ if (!this.batchedRPCsRequests.length) {
+ // pool has already been processed
+ return;
+ }
+
+ // reset pool of RPC requests
+ var batchedRPCsRequests = this.batchedRPCsRequests;
+ this.batchedRPCsRequests = [];
+
+ // batch similar requests
+ var batches = {};
+ var key;
+ for (var i = 0; i < batchedRPCsRequests.length; i++) {
+ var request = batchedRPCsRequests[i];
+ key = request.model + ',' + JSON.stringify(request.context);
+ if (!batches[key]) {
+ batches[key] = _.extend({}, request, {requests: [request]});
+ } else {
+ batches[key].ids = _.uniq(batches[key].ids.concat(request.ids));
+ batches[key].fieldNames = _.uniq(batches[key].fieldNames.concat(request.fieldNames));
+ batches[key].requests.push(request);
+ }
+ }
+
+ // perform batched RPCs
+ function onSuccess(batch, results) {
+ for (var i = 0; i < batch.requests.length; i++) {
+ var request = batch.requests[i];
+ var fieldNames = request.fieldNames.concat(['id']);
+ var filteredResults = results.filter(function (record) {
+ return request.ids.indexOf(record.id) >= 0;
+ }).map(function (record) {
+ return _.pick(record, fieldNames);
+ });
+ request.def.resolve(filteredResults);
+ }
+ }
+ function onFailure(batch, error) {
+ for (var i = 0; i < batch.requests.length; i++) {
+ var request = batch.requests[i];
+ request.def.reject(error);
+ }
+ }
+ for (key in batches) {
+ var batch = batches[key];
+ this._rpc({
+ model: batch.model,
+ method: 'read',
+ args: [batch.ids, batch.fieldNames],
+ context: batch.context,
+ }).then(onSuccess.bind(null, batch)).fail(onFailure.bind(null, batch));
+ }
+ },
+ /**
+ * This function accumulates RPC requests done in the same call stack, and
+ * performs them in the next micro task tick so that similar requests can be
+ * batched in a single RPC.
+ *
+ * For now, only 'read' calls are supported.
+ *
+ * @private
+ * @param {Object} params
+ * @returns {Promise}
+ */
+ _performRPC: function (params) {
+ // save the RPC request
+ var def = $.Deferred();
+ var request = _.extend({}, params, {def: def});
+ this.batchedRPCsRequests.push(request);
+
+ if (this.disableBatchedRPCs) {
+ this._performBatchedRPCs();
+ } else {
+ // empty the pool of RPC requests in the next tick
+ setTimeout(this._performBatchedRPCs.bind(this));
+ }
+
+ return def;
+ },
/**
* Reads data from server for all missing fields.
*
@@ -4132,11 +4226,13 @@ var BasicModel = AbstractModel.extend({
var def;
if (missingIDs.length && fieldNames.length) {
- def = self._rpc({
- model: list.model,
- method: 'read',
- args: [missingIDs, fieldNames],
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ def = self._performRPC({
context: list.getContext(),
+ fieldNames: fieldNames,
+ ids: missingIDs,
+ method: 'read',
+ model: list.model,
});
} else {
def = $.when(_.map(missingIDs, function (id) {
diff --git a/addons/web/static/src/scss/list_view.scss b/addons/web/static/src/scss/list_view.scss
index 55f5b755df1..98baf231966 100644
--- a/addons/web/static/src/scss/list_view.scss
+++ b/addons/web/static/src/scss/list_view.scss
@@ -10,9 +10,11 @@
border-collapse: initial;
border-spacing: 0;
- // Checkbox in editable list
+ // Boolean Widgets in editable list
// should be clickable and activate the row
&.o_editable_list .o_data_row:not(.o_selected_row) .o_data_cell {
+ &.o_toggle_button_cell:not(.o_readonly_modifier) button, // registry: toggle_button
+ &.o_boolean_favorite_cell:not(.o_readonly_modifier) .o_favorite, // registry: boolean_favorite
.custom-checkbox:not(.o_readonly_modifier) {
pointer-events: none;
}
diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js
index b79e0d4a660..c82d031d7d5 100644
--- a/addons/web/static/tests/fields/relational_fields_tests.js
+++ b/addons/web/static/tests/fields/relational_fields_tests.js
@@ -8,6 +8,7 @@ var relationalFields = require('web.relational_fields');
var testUtils = require('web.test_utils');
var createView = testUtils.createView;
+var createAsyncView = testUtils.createAsyncView;
QUnit.module('fields', {}, function () {
@@ -677,6 +678,58 @@ QUnit.module('relational_fields', {
form.destroy();
});
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ QUnit.test('many2manys inside a one2many are fetched in batch after onchange', async function (assert) {
+ assert.expect(7);
+
+ this.data.partner.onchanges = {
+ turtles: function (obj) {
+ obj.turtles = [
+ [5],
+ [1, 1, {
+ turtle_foo: "leonardo",
+ partner_ids: [[4, 2]],
+ }],
+ [1, 2, {
+ turtle_foo: "donatello",
+ partner_ids: [[4, 2], [4, 4]],
+ }],
+ ];
+ },
+ };
+
+ var form = await createAsyncView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form>' +
+ '<field name="turtles">' +
+ '<tree editable="bottom">' +
+ '<field name="turtle_foo"/>' +
+ '<field name="partner_ids" widget="many2many_tags"/>' +
+ '</tree>' +
+ '</field>' +
+ '</form>',
+ enableBasicModelBachedRPCs: true,
+ mockRPC: function (route, args) {
+ assert.step(args.method || route);
+ if (args.method === 'read') {
+ assert.deepEqual(args.args[0], [2, 4],
+ 'should read the partner_ids once, batched');
+ }
+ return this._super.apply(this, arguments);
+ },
+ });
+
+ assert.containsN(form, '.o_data_row', 2);
+ assert.strictEqual(form.$('.o_field_widget[name="partner_ids"]').text().replace(/\s/g, ''),
+ "secondrecordsecondrecordaaa");
+
+ assert.verifySteps(['default_get', 'onchange', 'read']);
+
+ form.destroy();
+ });
+
QUnit.test('many2many read, field context is properly sent', function (assert) {
assert.expect(4);
diff --git a/addons/web/static/tests/helpers/test_utils_mock.js b/addons/web/static/tests/helpers/test_utils_mock.js
index 2ecc655db7e..7485ef41ec8 100644
--- a/addons/web/static/tests/helpers/test_utils_mock.js
+++ b/addons/web/static/tests/helpers/test_utils_mock.js
@@ -11,6 +11,7 @@ odoo.define('web.test_utils_mock', function (require) {
*/
var basic_fields = require('web.basic_fields');
+var BasicModel = require('web.BasicModel');
var config = require('web.config');
var core = require('web.core');
var dom = require('web.dom');
@@ -192,6 +193,11 @@ function addMockEnvironment(widget, params) {
return func;
};
}
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ var initialDisableBatchedRPCs = BasicModel.prototype.disableBatchedRPCs;
+ if (!params.enableBasicModelBachedRPCs) {
+ BasicModel.prototype.disableBatchedRPCs = true;
+ }
var widgetDestroy = widget.destroy;
widget.destroy = function () {
@@ -232,6 +238,10 @@ function addMockEnvironment(widget, params) {
}
_.extend(core._t.database.parameters, initialParameters);
}
+ // FORWARDPORT THIS UP TO 12.2, NOT FURTHER
+ if (!params.enableBasicModelBachedRPCs) {
+ BasicModel.prototype.disableBatchedRPCs = initialDisableBatchedRPCs;
+ }
$('body').off('DOMNodeInserted.removeSRC');
$('body').removeClass('debug');
diff --git a/addons/web/tests/test_menu.py b/addons/web/tests/test_menu.py
index e608196ecd0..d60721c162a 100644
--- a/addons/web/tests/test_menu.py
+++ b/addons/web/tests/test_menu.py
@@ -1,13 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo.tests.common import tagged
-import unittest
-
+from odoo.tests.common import BaseCase
from ..controllers import main
-@tagged('standard', 'at_install')
-class ActionMungerTest(unittest.TestCase):
+class ActionMungerTest(BaseCase):
def test_actual_treeview(self):
action = {
"views": [[False, "tree"], [False, "form"],
diff --git a/addons/web/tests/test_serving_base.py b/addons/web/tests/test_serving_base.py
index b66d2d5b266..e1c6c7d5ab0 100644
--- a/addons/web/tests/test_serving_base.py
+++ b/addons/web/tests/test_serving_base.py
@@ -2,9 +2,8 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import random
-import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools import topological_sort
@@ -14,8 +13,7 @@ def sample(population):
random.randint(0, min(len(population), 5)))
-@tagged('standard', 'at_install')
-class TestModulesLoading(unittest.TestCase):
+class TestModulesLoading(BaseCase):
def setUp(self):
self.mods = [str(i) for i in range(1000)]
diff --git a/addons/web_editor/i18n/km.po b/addons/web_editor/i18n/km.po
index 9656048131f..1dda8fea27c 100644
--- a/addons/web_editor/i18n/km.po
+++ b/addons/web_editor/i18n/km.po
@@ -474,7 +474,7 @@ msgstr ""
#: code:addons/web_editor/static/src/js/editor/rte.summernote.js:1018
#, python-format
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: web_editor
#. openerp-web
@@ -495,7 +495,7 @@ msgstr ""
#: code:addons/web_editor/static/src/xml/editor.xml:273
#, python-format
msgid "Flat"
-msgstr ""
+msgstr "ផ្ទះ"
#. module: web_editor
#. openerp-web
@@ -829,7 +829,7 @@ msgstr ""
#: code:addons/web_editor/static/src/xml/editor.xml:261
#, python-format
msgid "Large"
-msgstr ""
+msgstr "ធំ"
#. module: web_editor
#: model:ir.model.fields,field_description:web_editor.field_web_editor_converter_test_sub____last_update
@@ -1132,7 +1132,7 @@ msgstr ""
#: code:addons/web_editor/static/src/js/editor/rte.summernote.js:196
#, python-format
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: web_editor
#. openerp-web
diff --git a/addons/web_editor/tests/test_converter.py b/addons/web_editor/tests/test_converter.py
index cfa62e52ac2..724b464368b 100644
--- a/addons/web_editor/tests/test_converter.py
+++ b/addons/web_editor/tests/test_converter.py
@@ -2,17 +2,16 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import textwrap
-import unittest
from lxml import etree, html
from lxml.builder import E
from odoo.tests import common
+from odoo.tests.common import BaseCase
from odoo.addons.web_editor.models.ir_qweb import html_to_text
-@common.tagged('standard', 'at_install')
-class TestHTMLToText(unittest.TestCase):
+class TestHTMLToText(BaseCase):
def test_rawstring(self):
self.assertEqual(
"foobar",
diff --git a/addons/web_settings_dashboard/i18n/km.po b/addons/web_settings_dashboard/i18n/km.po
index a5ba85e4483..07cbfbc944a 100644
--- a/addons/web_settings_dashboard/i18n/km.po
+++ b/addons/web_settings_dashboard/i18n/km.po
@@ -307,7 +307,7 @@ msgstr ""
#: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:151
#, python-format
msgid "Translations"
-msgstr ""
+msgstr "ការបកប្រែ"
#. module: web_settings_dashboard
#. openerp-web
diff --git a/addons/website/i18n/km.po b/addons/website/i18n/km.po
index 5f13fe05e51..515706527b4 100644
--- a/addons/website/i18n/km.po
+++ b/addons/website/i18n/km.po
@@ -866,7 +866,7 @@ msgstr ""
#: model:ir.actions.client,name:website.backend_dashboard
#: model:ir.ui.menu,name:website.menu_website_google_analytics
msgid "Analytics"
-msgstr ""
+msgstr "វិភាគ"
#. module: website
#: model_terms:ir.ui.view,arch_db:website.res_config_settings_view_form
@@ -1637,7 +1637,7 @@ msgstr ""
#. module: website
#: model_terms:ir.ui.view,arch_db:website.publish_management
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: website
#. openerp-web
@@ -1733,7 +1733,7 @@ msgstr "កំហុស"
#: code:addons/website/static/src/xml/website.facebook_page.xml:22
#, python-format
msgid "Events"
-msgstr ""
+msgstr "ព្រឹត្តិការណ៍"
#. module: website
#: model_terms:ir.ui.view,arch_db:website.s_comparisons
@@ -2446,7 +2446,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website.snippet_options
#: model_terms:website.page,arch_db:website.bs_debug_page
msgid "Large"
-msgstr ""
+msgstr "ធំ"
#. module: website
#: model:ir.model.fields,field_description:website.field_website____last_update
diff --git a/addons/website/i18n/ko.po b/addons/website/i18n/ko.po
index 2436489d6a3..c71b089694c 100644
--- a/addons/website/i18n/ko.po
+++ b/addons/website/i18n/ko.po
@@ -3732,7 +3732,7 @@ msgstr ""
msgid ""
"Technical field used to resolve multiple attachments in a multi-website "
"environment."
-msgstr ""
+msgstr "다중 웹 사이트 환경에서 여러 첨부 파일을 해결하는 데 사용되는 기술 필드."
#. module: website
#: model_terms:ir.ui.view,arch_db:website.show_website_info
diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py
index 875e9d1ff0c..00da2d8366d 100644
--- a/addons/website/models/res_config_settings.py
+++ b/addons/website/models/res_config_settings.py
@@ -22,8 +22,7 @@ class ResConfigSettings(models.TransientModel):
language_count = fields.Integer(string='Number of languages', compute='_compute_language_count', readonly=True)
website_default_lang_id = fields.Many2one(
string='Default language', related='website_id.default_lang_id', readonly=False,
- relation='res.lang', required=False,
- oldname='default_lang_id')
+ relation='res.lang', oldname='default_lang_id')
website_default_lang_code = fields.Char(
'Default language code', related='website_id.default_lang_code', readonly=False,
oldname='default_lang_code')
diff --git a/addons/website/tests/test_converter.py b/addons/website/tests/test_converter.py
index 0568f02d5e4..9a688c74ed9 100644
--- a/addons/website/tests/test_converter.py
+++ b/addons/website/tests/test_converter.py
@@ -1,13 +1,11 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-import unittest
from odoo.addons.http_routing.models.ir_http import slugify, unslug
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
-@tagged('standard', 'at_install')
-class TestUnslug(unittest.TestCase):
+class TestUnslug(BaseCase):
def test_unslug(self):
tests = {
@@ -28,9 +26,7 @@ class TestUnslug(unittest.TestCase):
for slug, expected in tests.items():
self.assertEqual(unslug(slug), expected)
-
-@tagged('standard', 'at_install')
-class TestTitleToSlug(unittest.TestCase):
+class TestTitleToSlug(BaseCase):
"""
Those tests should pass with or without python-slugify
See website/models/website.py slugify method
diff --git a/addons/website/views/res_config_settings_views.xml b/addons/website/views/res_config_settings_views.xml
index dbf552b4ad2..b570a1b8699 100644
--- a/addons/website/views/res_config_settings_views.xml
+++ b/addons/website/views/res_config_settings_views.xml
@@ -69,7 +69,7 @@
</div>
<div class="content-group">
<div class="mt16">
- <field name="language_ids" widget="many2many_tags" options="{'no_create': True, 'no_open': True}"/>
+ <field name="language_ids" widget="many2many_tags" options="{'no_create': True, 'no_open': True}" attrs="{'required': [('website_id', '!=', False)]}"/>
</div>
<field name="language_count" invisible="1"/>
<div class="mt8" attrs="{'invisible':[('language_count', '&lt;', 2)]}">
diff --git a/addons/website_blog/i18n/km.po b/addons/website_blog/i18n/km.po
index a832e1f3266..c02a91b7715 100644
--- a/addons/website_blog/i18n/km.po
+++ b/addons/website_blog/i18n/km.po
@@ -593,7 +593,7 @@ msgstr ""
#. module: website_blog
#: model_terms:ir.ui.view,arch_db:website_blog.website_blog
msgid "High"
-msgstr ""
+msgstr "ខ្ពស់"
#. module: website_blog
#: model_terms:blog.post,content:website_blog.blog_post_2
@@ -721,7 +721,7 @@ msgstr ""
#. module: website_blog
#: model_terms:ir.ui.view,arch_db:website_blog.website_blog
msgid "Low"
-msgstr ""
+msgstr "ខាត"
#. module: website_blog
#: model:ir.model.fields,field_description:website_blog.field_blog_blog__message_main_attachment_id
diff --git a/addons/website_blog/static/src/js/s_latest_posts_frontend.js b/addons/website_blog/static/src/js/s_latest_posts_frontend.js
index f1b8ea4f23d..d9d1ded021e 100644
--- a/addons/website_blog/static/src/js/s_latest_posts_frontend.js
+++ b/addons/website_blog/static/src/js/s_latest_posts_frontend.js
@@ -22,7 +22,10 @@ sAnimation.registry.js_get_posts = sAnimation.Class.extend({
this.$target.empty(); // Compatibility with db that saved content inside by mistake
this.$target.attr('contenteditable', 'False'); // Prevent user edition
- var domain = [['website_published', '=', true]];
+ var domain = [
+ ['website_published', '=', true],
+ ['post_date', '<=', moment().utc().locale('en').format('YYYY-MM-DD HH:mm:ss')],
+ ];
if (blogID) {
domain.push(['blog_id', '=', parseInt(blogID)]);
}
diff --git a/addons/website_crm_partner_assign/i18n/it.po b/addons/website_crm_partner_assign/i18n/it.po
index c1f570006e2..bb76271b1a8 100644
--- a/addons/website_crm_partner_assign/i18n/it.po
+++ b/addons/website_crm_partner_assign/i18n/it.po
@@ -608,7 +608,7 @@ msgstr "Email"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.crm_lead_forward_to_partner_form
msgid "Email Template"
-msgstr "Template Email"
+msgstr "Modello e-mail"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities
@@ -639,7 +639,7 @@ msgstr "Filtra per Livello"
#. module: website_crm_partner_assign
#: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_lead_forward_to_partner__partner_id
msgid "Forward Leads To"
-msgstr "Inoltra il lead a"
+msgstr "Inoltrare i contatti a"
#. module: website_crm_partner_assign
#: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_lead_forward_to_partner__forward_type
@@ -650,7 +650,7 @@ msgstr "Inoltra i lead selezionati a"
#: model:ir.actions.act_window,name:website_crm_partner_assign.action_crm_send_mass_forward
#: model:ir.actions.act_window,name:website_crm_partner_assign.crm_lead_forward_to_partner_act
msgid "Forward to Partner"
-msgstr "Inoltra a Partner"
+msgstr "Inoltra a partner"
#. module: website_crm_partner_assign
#: model:mail.template,subject:website_crm_partner_assign.email_template_lead_forward_mail
@@ -771,7 +771,7 @@ msgstr "Ultima modifica il"
#. module: website_crm_partner_assign
#: model:ir.model.fields,help:website_crm_partner_assign.field_crm_lead__date_assign
msgid "Last date this case was forwarded/assigned to a partner"
-msgstr "Ultima data di assegnazione/inoltro a partner del caso"
+msgstr "Ultima data di inoltro/assegnazione del caso al partner"
#. module: website_crm_partner_assign
#: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_partner_report_assign__date_review
@@ -868,7 +868,7 @@ msgstr "I miei Partner assegnati"
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads
msgid "My Leads"
-msgstr "Le mie leads"
+msgstr "I miei contatti"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_lead
@@ -1182,12 +1182,12 @@ msgstr "Stati..."
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
msgid "Street"
-msgstr "Strada/Via"
+msgstr "Indirizzo"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
msgid "Street2"
-msgstr "Strada/Via2"
+msgstr "Indirizzo 2"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
@@ -1198,7 +1198,7 @@ msgstr "Tags"
#: code:addons/website_crm_partner_assign/wizard/crm_forward_to_partner.py:61
#, python-format
msgid "The Forward Email Template is not in the database"
-msgstr "Il modello dell'inoltro delle mail è mancante nel database"
+msgstr "Modello di inoltro e-mail non presente nel database"
#. module: website_crm_partner_assign
#: model:ir.model.fields,help:website_crm_partner_assign.field_res_partner_grade__website_url
diff --git a/addons/website_crm_partner_assign/i18n/km.po b/addons/website_crm_partner_assign/i18n/km.po
index af4e867fe37..d1625e28a9c 100644
--- a/addons/website_crm_partner_assign/i18n/km.po
+++ b/addons/website_crm_partner_assign/i18n/km.po
@@ -361,7 +361,7 @@ msgstr "ទំនាក់ទំនង"
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads
#, python-format
msgid "Contact Name"
-msgstr ""
+msgstr "ឈ្មោះទំនាក់ទំនង"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.index
@@ -422,7 +422,7 @@ msgstr "អតិថិជន"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
msgid "Customer Name"
-msgstr ""
+msgstr "ឈ្មោះអតិថិជន"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads
@@ -492,12 +492,12 @@ msgstr ""
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities
msgid "Expected"
-msgstr ""
+msgstr "បានរំពឹងទុក"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
msgid "Expected Closing"
-msgstr ""
+msgstr "កាលបរិច្ឆេទដែលឱកាសនឹងត្រូវបានឈ្នះ។"
#. module: website_crm_partner_assign
#: code:addons/website_crm_partner_assign/controllers/main.py:112
@@ -732,7 +732,7 @@ msgstr "Medium"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
msgid "Mobile"
-msgstr ""
+msgstr "ទូរស័ព្ទដៃ"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.crm_lead_partner_filter
@@ -745,14 +745,14 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads
msgid "My Leads"
-msgstr ""
+msgstr "ការនាំខ្ញុំ"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_lead
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities
msgid "My Opportunities"
-msgstr ""
+msgstr "ឪកាសរបស់ខ្ងុំ"
#. module: website_crm_partner_assign
#: code:addons/website_crm_partner_assign/controllers/main.py:53
@@ -767,7 +767,7 @@ msgstr "ឈ្មោះ"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities
msgid "New Opportunity"
-msgstr ""
+msgstr "ឪកាសថ្មី"
#. module: website_crm_partner_assign
#: code:addons/website_crm_partner_assign/controllers/main.py:52
@@ -931,7 +931,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
#, python-format
msgid "Probability"
-msgstr ""
+msgstr "ប្រូបាប"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
@@ -1064,7 +1064,7 @@ msgstr "ផ្លូវ"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity
msgid "Street2"
-msgstr ""
+msgstr "វិថី2"
#. module: website_crm_partner_assign
#: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
diff --git a/addons/website_event/i18n/km.po b/addons/website_event/i18n/km.po
index 980d480ca55..949e9a394a2 100644
--- a/addons/website_event/i18n/km.po
+++ b/addons/website_event/i18n/km.po
@@ -96,7 +96,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website_event.index
#: model_terms:ir.ui.view,arch_db:website_event.registration_complete
msgid "<i>to</i>"
-msgstr ""
+msgstr "<i>ទៅ</i>"
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.event_right_quotes
@@ -204,7 +204,7 @@ msgstr ""
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details
msgid "Cancel Registration"
-msgstr ""
+msgstr "លុបចោលការចុះឈ្មោះ"
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.event_type_view_form_inherit_website
@@ -361,7 +361,7 @@ msgstr ""
#. module: website_event
#: model:website.menu,name:website_event.menu_events
msgid "Events"
-msgstr ""
+msgstr "ព្រឹត្តិការណ៍"
#. module: website_event
#: model_terms:ir.ui.view,arch_db:website_event.country_events
@@ -595,7 +595,7 @@ msgstr ""
#: code:addons/website_event/controllers/main.py:44
#, python-format
msgid "This Week"
-msgstr ""
+msgstr "សប្តាហ៍នេះ"
#. module: website_event
#: code:addons/website_event/controllers/main.py:52
diff --git a/addons/website_event_questions/i18n/km.po b/addons/website_event_questions/i18n/km.po
index eadd9541c04..9821f486810 100644
--- a/addons/website_event_questions/i18n/km.po
+++ b/addons/website_event_questions/i18n/km.po
@@ -6,13 +6,15 @@
# Sengtha Chay <sengtha@gmail.com>, 2018
# Chan Nath <channath@gmail.com>, 2018
# Samkhann Seang <seangsamkhann@gmail.com>, 2018
+# Lux Sok <sok.lux@gmail.com>, 2019
+#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:18+0000\n"
-"PO-Revision-Date: 2018-09-21 13:18+0000\n"
-"Last-Translator: Samkhann Seang <seangsamkhann@gmail.com>, 2018\n"
+"PO-Revision-Date: 2018-08-24 09:34+0000\n"
+"Last-Translator: Lux Sok <sok.lux@gmail.com>, 2019\n"
"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -99,7 +101,7 @@ msgstr ""
#: model:ir.model,name:website_event_questions.model_event_registration
#: model:ir.model.fields,field_description:website_event_questions.field_event_registration_answer__event_registration_id
msgid "Event Registration"
-msgstr ""
+msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍"
#. module: website_event_questions
#: model:ir.model,name:website_event_questions.model_event_registration_answer
@@ -109,7 +111,7 @@ msgstr ""
#. module: website_event_questions
#: model:ir.model.fields,field_description:website_event_questions.field_event_question__event_type_id
msgid "Event Type"
-msgstr ""
+msgstr "ប្រភេទព្រឹត្តិការណ៍"
#. module: website_event_questions
#: model:ir.model.fields,field_description:website_event_questions.field_event_event__general_question_ids
diff --git a/addons/website_event_sale/i18n/km.po b/addons/website_event_sale/i18n/km.po
index da78f22bfae..d6af11599ef 100644
--- a/addons/website_event_sale/i18n/km.po
+++ b/addons/website_event_sale/i18n/km.po
@@ -69,7 +69,7 @@ msgstr ""
#. module: website_event_sale
#: model:ir.model,name:website_event_sale.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: website_event_sale
#: model:ir.model,name:website_event_sale.model_sale_order_line
diff --git a/addons/website_event_track/i18n/km.po b/addons/website_event_track/i18n/km.po
index 38ce7c34ced..d8f742c6d69 100644
--- a/addons/website_event_track/i18n/km.po
+++ b/addons/website_event_track/i18n/km.po
@@ -245,7 +245,7 @@ msgstr ""
#. module: website_event_track
#: model:event.type,name:website_event_track.event_type_data_tracks
msgid "Conference"
-msgstr ""
+msgstr "សិក្ខាសាលា"
#. module: website_event_track
#: model:mail.template,subject:website_event_track.mail_template_data_track_confirmation
@@ -486,7 +486,7 @@ msgstr ""
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search
msgid "Future Activities"
-msgstr ""
+msgstr "សកម្មភាពទៅមុខ"
#. module: website_event_track
#: model:event.sponsor.type,name:website_event_track.event_sponsor_type3
@@ -511,7 +511,7 @@ msgstr "ជា​ក្រុម​តាម"
#. module: website_event_track
#: selection:event.track,priority:0
msgid "High"
-msgstr ""
+msgstr "ខ្ពស់"
#. module: website_event_track
#: selection:event.track,priority:0
@@ -619,7 +619,7 @@ msgstr ""
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track__kanban_state
msgid "Kanban State"
-msgstr ""
+msgstr "រដ្ឋកាណាន"
#. module: website_event_track
#: model:event.track,name:website_event_track.event_track23
@@ -662,7 +662,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ"
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search
msgid "Late Activities"
-msgstr ""
+msgstr "សកម្មភាពចុងក្រោយ"
#. module: website_event_track
#: model:event.track,name:website_event_track.event_track12
@@ -682,7 +682,7 @@ msgstr "រូបសញ្ញា"
#. module: website_event_track
#: selection:event.track,priority:0
msgid "Low"
-msgstr ""
+msgstr "ខាត"
#. module: website_event_track
#: model:event.track,name:website_event_track.event_track31
@@ -1020,7 +1020,7 @@ msgstr "ដំណាក់កាល"
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track_stage__name
msgid "Stage Name"
-msgstr ""
+msgstr "ឈ្មោះដំនាក់កាល"
#. module: website_event_track
#: model:event.track,name:website_event_track.event_track28
diff --git a/addons/website_event_track/i18n/uk.po b/addons/website_event_track/i18n/uk.po
index 2c597e73a8f..d10e605ecd7 100644
--- a/addons/website_event_track/i18n/uk.po
+++ b/addons/website_event_track/i18n/uk.po
@@ -1125,13 +1125,13 @@ msgstr "Мітки"
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal
msgid "Talk Introduction"
-msgstr "Вступна розмова"
+msgstr "Вступ виступу"
#. module: website_event_track
#: code:addons/website_event_track/models/event.py:99
#, python-format
msgid "Talk Proposals"
-msgstr "Обговорення пропозицій"
+msgstr "Пропозиції виступу"
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal
@@ -1216,7 +1216,7 @@ msgstr "Відстеження"
#. module: website_event_track
#: model:mail.message.subtype,name:website_event_track.mt_track_blocked
msgid "Track Blocked"
-msgstr "Доріжка заблокована"
+msgstr "Відстеження заблоковане"
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_event__track_count
@@ -1236,12 +1236,12 @@ msgstr "Опис відстеження"
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.view_event_form
msgid "Track Proposals on Website"
-msgstr "Пропозиції доріжки на веб-сайт"
+msgstr "Пропозиції відстеження на веб-сайті"
#. module: website_event_track
#: model:mail.message.subtype,name:website_event_track.mt_track_ready
msgid "Track Ready"
-msgstr "Доріжка готова"
+msgstr "Відстеження готове"
#. module: website_event_track
#: model:mail.message.subtype,description:website_event_track.mt_track_ready
@@ -1285,7 +1285,7 @@ msgstr "Відстеження"
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_type__website_track_proposal
msgid "Tracks Proposals on Website"
-msgstr "Пропозиції доріжок на веб-сайті"
+msgstr "Пропозиції відстеження на веб-сайті"
#. module: website_event_track
#: model_terms:ir.actions.act_window,help:website_event_track.action_event_track
@@ -1294,8 +1294,8 @@ msgid ""
"Tracks define the schedule of your event. These can be a talk, a round "
"table, a meeting, etc."
msgstr ""
-"Треки визначають графік вашої події. Це може бути розмова, круглий стіл, "
-"зустріч та ін."
+"Відстеження визначають графік вашої події. Це може бути розмова, круглий "
+"стіл, зустріч та ін."
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_event__website_track
@@ -1349,10 +1349,10 @@ msgstr ""
"Ми приймемо широкий асортимент\n"
"презентації, з доповідей про академічні та\n"
"комерційні проекти для підручників і кейс\n"
-"навчання. Поки представляється\n"
-"цікава і потенційно корисна для\n"
-" аудиторії, це буде розглянуто для\n"
-"включення в програму."
+"навчання. До тих пір, поки презентація \n"
+"буде цікавою і потенційно корисною \n"
+"для аудиторії, вона буде розглянута\n"
+" для включення в програму."
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal_success
diff --git a/addons/website_forum/i18n/km.po b/addons/website_forum/i18n/km.po
index 18bd04058d7..56799f13424 100644
--- a/addons/website_forum/i18n/km.po
+++ b/addons/website_forum/i18n/km.po
@@ -1225,7 +1225,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website_forum.post_answers
#: model_terms:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: website_forum
#: model_terms:ir.ui.view,arch_db:website_forum.edit_profile
@@ -1298,7 +1298,7 @@ msgstr ""
#. module: website_forum
#: model_terms:ir.ui.view,arch_db:website_forum.display_post_question_block
msgid "External link"
-msgstr ""
+msgstr "តំណខាងក្រៅ"
#. module: website_forum
#: model:gamification.badge,name:website_forum.badge_q_3
@@ -2882,7 +2882,7 @@ msgstr "ប្រភេទ"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post__content_link
msgid "URL"
-msgstr ""
+msgstr "URL"
#. module: website_forum
#: model:ir.model.fields,help:website_forum.field_forum_post__content_link
diff --git a/addons/website_gengo/i18n/km.po b/addons/website_gengo/i18n/km.po
index 38e9b3c9fc5..e1caa34507b 100644
--- a/addons/website_gengo/i18n/km.po
+++ b/addons/website_gengo/i18n/km.po
@@ -264,7 +264,7 @@ msgstr ""
#: code:addons/website_gengo/static/src/xml/website.gengo.xml:152
#, python-format
msgid "Submit"
-msgstr ""
+msgstr "ដាក់ស្នើ"
#. module: website_gengo
#. openerp-web
diff --git a/addons/website_hr_recruitment/i18n/km.po b/addons/website_hr_recruitment/i18n/km.po
index 8745787a8b6..cbb1042aca2 100644
--- a/addons/website_hr_recruitment/i18n/km.po
+++ b/addons/website_hr_recruitment/i18n/km.po
@@ -403,7 +403,7 @@ msgstr ""
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.apply
msgid "Submit"
-msgstr ""
+msgstr "ដាក់ស្នើ"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
diff --git a/addons/website_links/i18n/km.po b/addons/website_links/i18n/km.po
index 11394b9b274..ec68bb599d6 100644
--- a/addons/website_links/i18n/km.po
+++ b/addons/website_links/i18n/km.po
@@ -210,7 +210,7 @@ msgstr ""
#. module: website_links
#: model_terms:ir.ui.view,arch_db:website_links.create_shorten_url
msgid "URL"
-msgstr ""
+msgstr "URL"
#. module: website_links
#. openerp-web
diff --git a/addons/website_mail/i18n/km.po b/addons/website_mail/i18n/km.po
index 2a97fbea84c..495bb6c63e5 100644
--- a/addons/website_mail/i18n/km.po
+++ b/addons/website_mail/i18n/km.po
@@ -92,7 +92,7 @@ msgstr ""
#: model:ir.model.fields,help:website_mail.field_mail_mail__website_published
#: model:ir.model.fields,help:website_mail.field_mail_message__website_published
msgid "Visible on the website as a comment"
-msgstr ""
+msgstr "មើលឃើញនៅលើគេហទំព័រដូចជាមតិយោបល់"
#. module: website_mail
#: model_terms:ir.ui.view,arch_db:website_mail.follow
diff --git a/addons/website_rating/i18n/km.po b/addons/website_rating/i18n/km.po
index 66aaf93b7f3..72d104d1298 100644
--- a/addons/website_rating/i18n/km.po
+++ b/addons/website_rating/i18n/km.po
@@ -142,7 +142,7 @@ msgstr ""
#. module: website_rating
#: model:ir.model.fields,help:website_rating.field_rating_rating__website_published
msgid "Visible on the website as a comment"
-msgstr ""
+msgstr "មើលឃើញនៅលើគេហទំព័រដូចជាមតិយោបល់"
#. module: website_rating
#. openerp-web
diff --git a/addons/website_sale/i18n/km.po b/addons/website_sale/i18n/km.po
index 17d8478ffc0..016677c9edd 100644
--- a/addons/website_sale/i18n/km.po
+++ b/addons/website_sale/i18n/km.po
@@ -885,7 +885,7 @@ msgstr "អតិថិជន"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "DHL"
-msgstr ""
+msgstr "DHL"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_website__currency_id
@@ -992,12 +992,12 @@ msgstr ""
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Easypost"
-msgstr ""
+msgstr "Easypost"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.payment_confirmation_status
msgid "Edit"
-msgstr ""
+msgstr "កែសម្រួល"
#. module: website_sale
#. openerp-web
@@ -1047,12 +1047,12 @@ msgstr ""
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.extra_info_option
msgid "Extra Info"
-msgstr ""
+msgstr "ព័ត៌មានបន្ថែម"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "FedEx"
-msgstr ""
+msgstr "FedEx"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce
@@ -1198,7 +1198,7 @@ msgstr ""
#. module: website_sale
#: selection:res.company,website_sale_onboarding_payment_acquirer_state:0
msgid "Just done"
-msgstr ""
+msgstr "ទើបតែរួចរាល់"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_digest_digest__kpi_website_sale_total_value
@@ -1884,7 +1884,7 @@ msgstr ""
#. module: website_sale
#: model:ir.model,name:website_sale.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.sale_report_view_graph_website
@@ -2318,18 +2318,18 @@ msgstr ""
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "UPS"
-msgstr ""
+msgstr "UPS"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "USPS"
-msgstr ""
+msgstr "USPS"
#. module: website_sale
#: model:product.product,uom_name:website_sale.product_product_1
#: model:product.template,uom_name:website_sale.product_product_1_product_template
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: website_sale
#. openerp-web
@@ -2550,7 +2550,7 @@ msgstr ""
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "bpost"
-msgstr ""
+msgstr "bpost"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.coupon_form
@@ -2610,7 +2610,7 @@ msgstr ""
#: model:product.product,weight_uom_name:website_sale.product_product_1
#: model:product.template,weight_uom_name:website_sale.product_product_1_product_template
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
#. module: website_sale
#: model_terms:ir.ui.view,arch_db:website_sale.product
diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py
index 6344a0bdd87..c6a310569d8 100644
--- a/addons/website_sale/models/website.py
+++ b/addons/website_sale/models/website.py
@@ -327,7 +327,7 @@ class Website(models.Model):
if code_pricelist:
pricelist_id = code_pricelist.id
update_pricelist = True
- elif code is not None and sale_order.pricelist_id.code:
+ elif code is not None and sale_order.pricelist_id.code and code != sale_order.pricelist_id.code:
# code is not None when user removes code and click on "Apply"
pricelist_id = partner.property_product_pricelist.id
update_pricelist = True
diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml
index 91a57ccc35d..89363b96ea6 100644
--- a/addons/website_sale/views/templates.xml
+++ b/addons/website_sale/views/templates.xml
@@ -1256,7 +1256,7 @@
<t t-if="mode == ('new', 'billing') or (mode == ('edit', 'billing') and (can_edit_vat or 'vat' in checkout and checkout['vat']))">
<div t-attf-class="form-group #{error.get('company_name') and 'o_has_error' or ''} col-lg-6">
<label class="col-form-label font-weight-normal label-optional" for="company_name">Company Name</label>
- <input type="text" name="company_name" t-attf-class="form-control #{error.get('company_name') and 'is-invalid' or ''}" t-att-value="'company_name' in checkout and checkout['company_name']" t-att-readonly="'1' if 'vat' in checkout and checkout['vat'] and not can_edit_vat else None" t-att-title="'Changing company name is not allowed once document(s) have been issued for your account. Please contact us directly for this operation.' if 'vat' in checkout and checkout['vat'] and not can_edit_vat else None" />
+ <input type="text" name="company_name" t-attf-class="form-control #{error.get('company_name') and 'is-invalid' or ''}" t-att-value="'commercial_company_name' in checkout and checkout['commercial_company_name'] or 'company_name' in checkout and checkout['company_name']" t-att-readonly="'1' if 'vat' in checkout and checkout['vat'] and not can_edit_vat else None" t-att-title="'Changing company name is not allowed once document(s) have been issued for your account. Please contact us directly for this operation.' if 'vat' in checkout and checkout['vat'] and not can_edit_vat else None" />
</div>
<div t-attf-class="form-group #{error.get('vat') and 'o_has_error' or ''} col-lg-6 div_vat">
<label class="col-form-label font-weight-normal label-optional" for="vat">TIN / VAT </label>
diff --git a/addons/website_sale_comparison/i18n/km.po b/addons/website_sale_comparison/i18n/km.po
index 8b9084fb9d0..481cfedcaed 100644
--- a/addons/website_sale_comparison/i18n/km.po
+++ b/addons/website_sale_comparison/i18n/km.po
@@ -166,7 +166,7 @@ msgstr ""
#. module: website_sale_comparison
#: model_terms:ir.ui.view,arch_db:website_sale_comparison.product_product
msgid "Remove"
-msgstr ""
+msgstr "ដកចេញ"
#. module: website_sale_comparison
#: model:ir.model.fields,field_description:website_sale_comparison.field_product_attribute_category__sequence
diff --git a/addons/website_sale_delivery/i18n/km.po b/addons/website_sale_delivery/i18n/km.po
index 135ca96d491..797edfa52f7 100644
--- a/addons/website_sale_delivery/i18n/km.po
+++ b/addons/website_sale_delivery/i18n/km.po
@@ -45,7 +45,7 @@ msgstr "ប្រទេស"
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "DHL Delivery Methods"
-msgstr ""
+msgstr "វិធីដឹកជញ្ជូន DHL"
#. module: website_sale_delivery
#: model:ir.model.fields,field_description:website_sale_delivery.field_sale_order__amount_delivery
@@ -57,7 +57,7 @@ msgstr ""
#: model:ir.ui.menu,name:website_sale_delivery.menu_ecommerce_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "Delivery Methods"
-msgstr ""
+msgstr "វិធីសាស្ត្រដឹកជញ្ជូន"
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.cart_delivery
@@ -87,7 +87,7 @@ msgstr ""
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "Easypost Delivery Methods"
-msgstr ""
+msgstr "វិធីសាស្រ្តដឹកជញ្ជូន"
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
@@ -147,7 +147,7 @@ msgstr ""
#. module: website_sale_delivery
#: model:ir.model,name:website_sale_delivery.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.payment_delivery_methods
@@ -198,4 +198,4 @@ msgstr ""
#. module: website_sale_delivery
#: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "bpost Delivery Methods"
-msgstr ""
+msgstr "វិធីសាស្រ្តដឹកជញ្ជូន"
diff --git a/addons/website_sale_digital/i18n/km.po b/addons/website_sale_digital/i18n/km.po
index c7b84d2ff90..c7b6ec3b75c 100644
--- a/addons/website_sale_digital/i18n/km.po
+++ b/addons/website_sale_digital/i18n/km.po
@@ -70,7 +70,7 @@ msgstr ""
#. module: website_sale_digital
#: model:product.template,uom_name:website_sale_digital.product_1
msgid "Unit(s)"
-msgstr ""
+msgstr "កំរិត(s)"
#. module: website_sale_digital
#: model:product.template,name:website_sale_digital.product_1
@@ -80,4 +80,4 @@ msgstr ""
#. module: website_sale_digital
#: model:product.template,weight_uom_name:website_sale_digital.product_1
msgid "kg"
-msgstr ""
+msgstr "គីឡូ"
diff --git a/addons/website_sale_link_tracker/i18n/km.po b/addons/website_sale_link_tracker/i18n/km.po
index 7c8d30ae5e0..7a85f15648e 100644
--- a/addons/website_sale_link_tracker/i18n/km.po
+++ b/addons/website_sale_link_tracker/i18n/km.po
@@ -36,7 +36,7 @@ msgstr ""
#. module: website_sale_link_tracker
#: model_terms:ir.ui.view,arch_db:website_sale_link_tracker.sale_order_from_website_link_tracker
msgid "Marketing"
-msgstr ""
+msgstr "ទីផ្សារ"
#. module: website_sale_link_tracker
#. openerp-web
@@ -61,7 +61,7 @@ msgstr ""
#. module: website_sale_link_tracker
#: model:ir.model,name:website_sale_link_tracker.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: website_sale_link_tracker
#: model:ir.model,name:website_sale_link_tracker.model_sale_report
diff --git a/addons/website_sale_stock/i18n/km.po b/addons/website_sale_stock/i18n/km.po
index 9f68531a051..1102d35905d 100644
--- a/addons/website_sale_stock/i18n/km.po
+++ b/addons/website_sale_stock/i18n/km.po
@@ -115,7 +115,7 @@ msgstr ""
#. module: website_sale_stock
#: model:ir.model,name:website_sale_stock.model_sale_order
msgid "Sale Order"
-msgstr ""
+msgstr "លក់តាមការម៉ង់"
#. module: website_sale_stock
#: model:ir.model,name:website_sale_stock.model_sale_order_line
diff --git a/addons/website_slides/i18n/km.po b/addons/website_slides/i18n/km.po
index 8275e24c275..e98a7c0915a 100644
--- a/addons/website_slides/i18n/km.po
+++ b/addons/website_slides/i18n/km.po
@@ -914,7 +914,7 @@ msgstr ""
#. module: website_slides
#: model:slide.tag,name:website_slides.tag2
msgid "Marketing"
-msgstr ""
+msgstr "ទីផ្សារ"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_slide__image_medium
diff --git a/addons/website_theme_install/i18n/ko.po b/addons/website_theme_install/i18n/ko.po
index a050e054023..298398b4fbd 100644
--- a/addons/website_theme_install/i18n/ko.po
+++ b/addons/website_theme_install/i18n/ko.po
@@ -273,7 +273,7 @@ msgstr "순차적"
msgid ""
"Technical field used to resolve multiple attachments in a multi-website "
"environment."
-msgstr ""
+msgstr "다중 웹 사이트 환경에서 여러 첨부 파일을 해결하는 데 사용되는 기술 필드."
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_search
diff --git a/doc/_extensions/odoo_ext/sub-menu_list.html b/doc/_extensions/odoo_ext/sub-menu_list.html
index 7525fe63aea..ba1a2ad9542 100644
--- a/doc/_extensions/odoo_ext/sub-menu_list.html
+++ b/doc/_extensions/odoo_ext/sub-menu_list.html
@@ -3,6 +3,6 @@
<li><a href="https://www.odoo.com/documentation/user/12.0/index.html">User</a></li>
<li><a href="https://www.odoo.com/documentation/12.0/index.html">Developer</a></li>
<li><a href="https://www.odoo.com/documentation/12.0/setup/install.html">Installation</a></li>
-<li><a href="http://training.odoo.com/courses/odoo-functional">Training center</a></li>
+<li><a href="https://odoo.com/slides">eLearning</a></li>
<li><a href="https://www.odoo.com/page/odoo-white-paper">White Papers</a></li>
<li><a href="https://www.odoo.com/page/legal">Legal</a></li>
diff --git a/doc/cla/corporate/blancomartin.md b/doc/cla/corporate/blancomartin.md
new file mode 100644
index 00000000000..3ceb099b879
--- /dev/null
+++ b/doc/cla/corporate/blancomartin.md
@@ -0,0 +1,28 @@
+Chile, 2019-07-12
+
+Blanco Martín & Asociados agrees to the terms of the Odoo Corporate Contributor License
+Agreement v1.0.
+
+I declare that I am authorized and able to make this agreement and sign this
+declaration.
+
+Signed,
+
+Daniel Blanco daniel@blancomartin.cl https://github.com/danisan
+
+Corporation name: Blanco Martin & Asociados EIRL
+Corporation address: Av. Apoquindo 6410
+ Of. 212 Las Condes, (RM)
+Country: Chile
+Point of contact: Daniel Blanco
+Title: Director - Representante Legal
+Email: daniel@blancomartin.cl
+Telephone: +56 2 28400990
+
+List of contributors:
+
+* Fernando de La Barrera fernando@blancomartin.cl https://github.com/bmya-fed
+* Alejandro Paciotti alejandro@blancomartin.cl https://github.com/alp-bmya
+* Albert Nieriz albert@blancomartin.cl https://github.com/aln-bmya
+* Bruno Figares bruno@blancomartin.cl https://github.com/brf-bmya
+* Susana Vazquez susana@blancomartin.cl https://github.com/suv-bmya
diff --git a/doc/cla/corporate/bumanit.md b/doc/cla/corporate/bumanit.md
index b05d68242ad..8471840fb8e 100644
--- a/doc/cla/corporate/bumanit.md
+++ b/doc/cla/corporate/bumanit.md
@@ -9,7 +9,9 @@ declaration.
Signed,
Baskhuu Lodoikhuu baskhuujacara@gmail.com https://github.com/jacara
+Baskhuu Lodoikhuu baskhuu@bumanit.mn https://github.com/bumanit
List of contributors:
Baskhuu Lodoikhuu baskhuujacara@gmail.com https://github.com/jacara
+Baskhuu Lodoikhuu baskhuu@bumanit.mn https://github.com/bumanit
diff --git a/doc/cla/individual/dorcyv.md b/doc/cla/individual/dorcyv.md
new file mode 100644
index 00000000000..d29652c3e72
--- /dev/null
+++ b/doc/cla/individual/dorcyv.md
@@ -0,0 +1,11 @@
+France, 2019-07-04
+
+I hereby agree to the terms of the Odoo Individual Contributor License
+Agreement v1.0.
+
+I declare that I am authorized and able to make this agreement and sign this
+declaration.
+
+Signed,
+
+Valérian Dorcy valerian.dorcy@gmail.com https://github.com/dorcyv
diff --git a/doc/cla/individual/gregory-moka.md b/doc/cla/individual/gregory-moka.md
new file mode 100644
index 00000000000..42fddcb294c
--- /dev/null
+++ b/doc/cla/individual/gregory-moka.md
@@ -0,0 +1,9 @@
+France, 2019-07-11
+
+I hereby agree to the terms of the Odoo Individual Contributor License Agreement v1.0.
+
+I declare that I am authorized and able to make this agreement and sign this declaration.
+
+Signed,
+
+Grégory Schreiner gregory@mokatourisme.fr https://github.com/gregory-moka
diff --git a/odoo/addons/base/tests/test_base.py b/odoo/addons/base/tests/test_base.py
index a823c65dc31..231f1daadd2 100644
--- a/odoo/addons/base/tests/test_base.py
+++ b/odoo/addons/base/tests/test_base.py
@@ -2,17 +2,15 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import ast
-import unittest
from odoo import SUPERUSER_ID
from odoo.exceptions import UserError, ValidationError
-from odoo.tests.common import TransactionCase, tagged
+from odoo.tests.common import TransactionCase, BaseCase
from odoo.tools import mute_logger
from odoo.tools.safe_eval import safe_eval, const_eval
-@tagged('standard', 'at_install')
-class TestSafeEval(unittest.TestCase):
+class TestSafeEval(BaseCase):
def test_const(self):
# NB: True and False are names in Python 2 not consts
expected = (1, {"a": {2.5}}, [None, u"foo"])
diff --git a/odoo/addons/base/tests/test_db_cursor.py b/odoo/addons/base/tests/test_db_cursor.py
index 839bcff6f89..b0b6a5a7071 100644
--- a/odoo/addons/base/tests/test_db_cursor.py
+++ b/odoo/addons/base/tests/test_db_cursor.py
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-import unittest
import odoo
from odoo.sql_db import TestCursor
from odoo.tests import common
+from odoo.tests.common import BaseCase
from odoo.tools.misc import mute_logger
ADMIN_USER_ID = common.ADMIN_USER_ID
@@ -14,8 +14,7 @@ def registry():
return odoo.registry(common.get_db_name())
-@common.tagged('standard', 'at_install')
-class TestExecute(unittest.TestCase):
+class TestExecute(BaseCase):
""" Try cr.execute with wrong parameters """
@mute_logger('odoo.sql_db')
diff --git a/odoo/addons/base/tests/test_func.py b/odoo/addons/base/tests/test_func.py
index b0b540acb5d..833653fffe7 100644
--- a/odoo/addons/base/tests/test_func.py
+++ b/odoo/addons/base/tests/test_func.py
@@ -2,15 +2,13 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import functools
-import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools import frozendict
from odoo.tools.func import compose
-@tagged('standard', 'at_install')
-class TestCompose(unittest.TestCase):
+class TestCompose(BaseCase):
def test_basic(self):
str_add = compose(str, lambda a, b: a + b)
self.assertEqual(str_add(1, 2), "3")
@@ -25,8 +23,7 @@ class TestCompose(unittest.TestCase):
self.assertEqual(mul(5, 42), u"210")
-@tagged('standard', 'at_install')
-class TestFrozendict(unittest.TestCase):
+class TestFrozendict(BaseCase):
def test_frozendict_immutable(self):
""" Ensure that a frozendict is immutable. """
vals = {'name': 'Joe', 'age': 42}
diff --git a/odoo/addons/base/tests/test_ir_sequence.py b/odoo/addons/base/tests/test_ir_sequence.py
index 6c31728de35..0fc53012b48 100644
--- a/odoo/addons/base/tests/test_ir_sequence.py
+++ b/odoo/addons/base/tests/test_ir_sequence.py
@@ -2,13 +2,13 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from contextlib import contextmanager
-import unittest
import psycopg2
import psycopg2.errorcodes
import odoo
from odoo.tests import common
+from odoo.tests.common import BaseCase
ADMIN_USER_ID = common.ADMIN_USER_ID
@@ -28,8 +28,7 @@ def drop_sequence(code):
seq.unlink()
-@common.tagged('standard', 'at_install')
-class TestIrSequenceStandard(unittest.TestCase):
+class TestIrSequenceStandard(BaseCase):
""" A few tests for a 'Standard' (i.e. PostgreSQL) sequence. """
def test_ir_sequence_create(self):
@@ -67,8 +66,7 @@ class TestIrSequenceStandard(unittest.TestCase):
drop_sequence('test_sequence_type')
-@common.tagged('standard', 'at_install')
-class TestIrSequenceNoGap(unittest.TestCase):
+class TestIrSequenceNoGap(BaseCase):
""" Copy of the previous tests for a 'No gap' sequence. """
def test_ir_sequence_create_no_gap(self):
@@ -105,8 +103,7 @@ class TestIrSequenceNoGap(unittest.TestCase):
drop_sequence('test_sequence_type_2')
-@common.tagged('standard', 'at_install')
-class TestIrSequenceChangeImplementation(unittest.TestCase):
+class TestIrSequenceChangeImplementation(BaseCase):
""" Create sequence objects and change their ``implementation`` field. """
def test_ir_sequence_1_create(self):
@@ -143,8 +140,7 @@ class TestIrSequenceChangeImplementation(unittest.TestCase):
drop_sequence('test_sequence_type_4')
-@common.tagged('standard', 'at_install')
-class TestIrSequenceGenerate(unittest.TestCase):
+class TestIrSequenceGenerate(BaseCase):
""" Create sequence objects and generate some values. """
def test_ir_sequence_create(self):
diff --git a/odoo/addons/base/tests/test_mail.py b/odoo/addons/base/tests/test_mail.py
index 0e4a8c262c4..11fac3a885d 100644
--- a/odoo/addons/base/tests/test_mail.py
+++ b/odoo/addons/base/tests/test_mail.py
@@ -1,15 +1,13 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools import html_sanitize, append_content_to_html, plaintext2html, email_split, misc
from . import test_mail_examples
-@tagged('standard', 'at_install')
-class TestSanitizer(unittest.TestCase):
+class TestSanitizer(BaseCase):
""" Test the html sanitizer that filters html to remove unwanted attributes """
def test_basic_sanitizer(self):
@@ -285,8 +283,7 @@ class TestSanitizer(unittest.TestCase):
# self.assertNotIn(ext, new_html)
-@tagged('standard', 'at_install')
-class TestHtmlTools(unittest.TestCase):
+class TestHtmlTools(BaseCase):
""" Test some of our generic utility functions about html """
def test_plaintext2html(self):
@@ -313,8 +310,7 @@ class TestHtmlTools(unittest.TestCase):
self.assertEqual(append_content_to_html(html, content, plaintext_flag, preserve_flag, container_tag), expected, 'append_content_to_html is broken')
-@tagged('standard', 'at_install')
-class TestEmailTools(unittest.TestCase):
+class TestEmailTools(BaseCase):
""" Test some of our generic utility functions for emails """
def test_email_split(self):
diff --git a/odoo/addons/base/tests/test_mimetypes.py b/odoo/addons/base/tests/test_mimetypes.py
index 3ca506cb744..e379c5474f2 100644
--- a/odoo/addons/base/tests/test_mimetypes.py
+++ b/odoo/addons/base/tests/test_mimetypes.py
@@ -1,7 +1,7 @@
import base64
import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools.mimetypes import guess_mimetype
PNG = b'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC'
@@ -23,8 +23,7 @@ hbnNsYXRlKDUwLDUwKSI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjU
pyZWQ7IiAvPgogIDwvZz4KCjwvc3ZnPgo="""
-@tagged('standard', 'at_install')
-class test_guess_mimetype(unittest.TestCase):
+class test_guess_mimetype(BaseCase):
def test_default_mimetype_empty(self):
mimetype = guess_mimetype(b'')
diff --git a/odoo/addons/base/tests/test_misc.py b/odoo/addons/base/tests/test_misc.py
index 08c790387e9..d208ab11fb5 100644
--- a/odoo/addons/base/tests/test_misc.py
+++ b/odoo/addons/base/tests/test_misc.py
@@ -4,14 +4,12 @@
import datetime
from dateutil.relativedelta import relativedelta
import pytz
-import unittest
from odoo.tools import misc, date_utils
-from odoo.tests.common import TransactionCase, tagged
+from odoo.tests.common import TransactionCase, BaseCase
-@tagged('standard', 'at_install')
-class TestCountingStream(unittest.TestCase):
+class TestCountingStream(BaseCase):
def test_empty_stream(self):
s = misc.CountingStream(iter([]))
self.assertEqual(s.index, -1)
@@ -42,8 +40,7 @@ class TestCountingStream(unittest.TestCase):
self.assertEqual(s.index, 0)
-@tagged('standard', 'at_install')
-class TestDateRangeFunction(unittest.TestCase):
+class TestDateRangeFunction(BaseCase):
""" Test on date_range generator. """
def test_date_range_with_naive_datetimes(self):
diff --git a/odoo/addons/base/tests/test_osv.py b/odoo/addons/base/tests/test_osv.py
index 328124ca56c..f79dde6751a 100644
--- a/odoo/addons/base/tests/test_osv.py
+++ b/odoo/addons/base/tests/test_osv.py
@@ -1,14 +1,11 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-import unittest
-
from odoo.osv.query import Query
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
-@tagged('standard', 'at_install')
-class QueryTestCase(unittest.TestCase):
+class QueryTestCase(BaseCase):
def test_basic_query(self):
query = Query()
diff --git a/odoo/addons/base/tests/test_tests_tags.py b/odoo/addons/base/tests/test_tests_tags.py
index 3f2bcf21c2f..52856aadc83 100644
--- a/odoo/addons/base/tests/test_tests_tags.py
+++ b/odoo/addons/base/tests/test_tests_tags.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo.tests.common import TransactionCase, tagged, TagsSelector
+from odoo.tests.common import TransactionCase, tagged, TagsSelector, BaseCase
@tagged('nodatabase')
@@ -17,7 +17,8 @@ class TestSetTags(TransactionCase):
fc = FakeClass()
self.assertTrue(hasattr(fc, 'test_tags'))
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard'})
+ self.assertEqual(fc.test_module, 'base')
def test_set_tags_not_decorated(self):
"""Test that a TransactionCase has some test_tags by default"""
@@ -28,7 +29,8 @@ class TestSetTags(TransactionCase):
fc = FakeClass()
self.assertTrue(hasattr(fc, 'test_tags'))
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard'})
+ self.assertEqual(fc.test_module, 'base')
def test_set_tags_single_tag(self):
"""Test the set_tags decorator with a single tag"""
@@ -39,7 +41,8 @@ class TestSetTags(TransactionCase):
fc = FakeClass()
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'slow'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard', 'slow'})
+ self.assertEqual(fc.test_module, 'base')
def test_set_tags_multiple_tags(self):
"""Test the set_tags decorator with multiple tags"""
@@ -50,7 +53,8 @@ class TestSetTags(TransactionCase):
fc = FakeClass()
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'slow', 'nightly'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard', 'slow', 'nightly'})
+ self.assertEqual(fc.test_module, 'base')
def test_inheritance(self):
"""Test inheritance when using the 'tagged' decorator"""
@@ -64,13 +68,15 @@ class TestSetTags(TransactionCase):
pass
fc = FakeClassB()
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'nightly'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard', 'nightly'})
+ self.assertEqual(fc.test_module, 'base')
class FakeClassC(FakeClassA):
pass
fc = FakeClassC()
- self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'})
+ self.assertEqual(fc.test_tags, {'at_install', 'standard'})
+ self.assertEqual(fc.test_module, 'base')
def test_untagging(self):
"""Test that one can remove the 'standard' tag"""
@@ -80,7 +86,8 @@ class TestSetTags(TransactionCase):
pass
fc = FakeClassA()
- self.assertEqual(fc.test_tags, {'at_install', 'base'})
+ self.assertEqual(fc.test_tags, {'at_install'})
+ self.assertEqual(fc.test_module, 'base')
@tagged('-standard', '-base', '-at_install')
class FakeClassB(TransactionCase):
@@ -104,61 +111,110 @@ class TestSelector(TransactionCase):
"""Test the parser part of the TagsSelector class"""
tags = TagsSelector('+slow')
- self.assertEqual({'slow', }, tags.include)
+ self.assertEqual({('slow', None, None, None),}, tags.include)
self.assertEqual(set(), tags.exclude)
tags = TagsSelector('+slow,nightly')
- self.assertEqual({'slow', 'nightly'}, tags.include)
+ self.assertEqual({('slow', None, None, None), ('nightly', None, None, None)}, tags.include)
self.assertEqual(set(), tags.exclude)
tags = TagsSelector('+slow,-standard')
- self.assertEqual({'slow', }, tags.include)
- self.assertEqual({'standard', }, tags.exclude)
+ self.assertEqual({('slow', None, None, None),}, tags.include)
+ self.assertEqual({('standard', None, None, None),}, tags.exclude)
# same with space after the comma
tags = TagsSelector('+slow, -standard')
- self.assertEqual({'slow', }, tags.include)
- self.assertEqual({'standard', }, tags.exclude)
+ self.assertEqual({('slow', None, None, None),}, tags.include)
+ self.assertEqual({('standard', None, None, None),}, tags.exclude)
- # same with space befaore and after the comma
+ # same with space before and after the comma
tags = TagsSelector('+slow , -standard')
- self.assertEqual({'slow', }, tags.include)
- self.assertEqual({'standard', }, tags.exclude)
+ self.assertEqual({('slow', None, None, None), }, tags.include)
+ self.assertEqual({('standard', None, None, None), }, tags.exclude)
tags = TagsSelector('+slow ,-standard,+js')
- self.assertEqual({'slow', 'js', }, tags.include)
- self.assertEqual({'standard', }, tags.exclude)
+ self.assertEqual({('slow', None, None, None),('js', None, None, None)}, tags.include)
+ self.assertEqual({('standard', None, None, None),}, tags.exclude)
+ # without +
tags = TagsSelector('slow, ')
- self.assertEqual({'slow', }, tags.include)
+ self.assertEqual({('slow', None, None, None), }, tags.include)
self.assertEqual(set(), tags.exclude)
+ # duplicates
tags = TagsSelector('+slow,-standard, slow,-standard ')
- self.assertEqual({'slow', }, tags.include)
- self.assertEqual({'standard', }, tags.exclude)
+ self.assertEqual({('slow', None, None, None), }, tags.include)
+ self.assertEqual({('standard', None, None, None), }, tags.exclude)
tags = TagsSelector('')
self.assertEqual(set(), tags.include)
self.assertEqual(set(), tags.exclude)
+ tags = TagsSelector('/module') # all standard test of a module
+ self.assertEqual({('standard', 'module', None, None), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('*/module') # all tests of a module
+ self.assertEqual({(None, 'module', None, None), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector(':class') # all standard test of a class
+ self.assertEqual({('standard', None, 'class', None), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('.method')
+ self.assertEqual({('standard', None, None, 'method'), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector(':class.method')
+ self.assertEqual({('standard', None, 'class', 'method'), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('/module:class.method') # only a specific test func in a module (standard)
+ self.assertEqual({('standard', 'module', 'class', 'method'), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('*/module:class.method') # only a specific test func in a module
+ self.assertEqual({(None, 'module', 'class', 'method'), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('-/module:class.method') # disable a specific test func in a module
+ self.assertEqual({('standard', None, None, None), }, tags.include) # all strandard
+ self.assertEqual({(None, 'module', 'class', 'method'), }, tags.exclude) # exept the test func
+
+ tags = TagsSelector('-*/module:class.method')
+ self.assertEqual({('standard', None, None, None), }, tags.include)
+ self.assertEqual({(None, 'module', 'class', 'method'), }, tags.exclude)
+
+ tags = TagsSelector('tag/module')
+ self.assertEqual({('tag', 'module', None, None), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('tag.method')
+ self.assertEqual({('tag', None, None, 'method'), }, tags.include)
+ self.assertEqual(set(), tags.exclude)
+
+ tags = TagsSelector('*/module,-standard') # all non standard test of a module
+ self.assertEqual({(None, 'module', None, None), }, tags.include) # all in module
+ self.assertEqual({('standard', None, None, None), }, tags.exclude) # exept standard ones
+
@tagged('nodatabase')
class TestSelectorSelection(TransactionCase):
-
def test_selector_selection(self):
"""Test check_tags use cases"""
class Test_A(TransactionCase):
pass
@tagged('stock')
- class Test_B():
+ class Test_B(BaseCase):
pass
@tagged('stock', 'slow')
- class Test_C():
+ class Test_C(BaseCase):
pass
@tagged('standard', 'slow')
- class Test_D():
+ class Test_D(BaseCase):
pass
@tagged('-at_install', 'post_install')
@@ -175,7 +231,6 @@ class TestSelectorSelection(TransactionCase):
# considered tagged standard and they are run by default if
# not explicitly deselected with '-standard' or if 'standard' is not
# selectected along with another test tag
-
# same as "--test-tags=''" parameters:
tags = TagsSelector('')
self.assertFalse(tags.check(no_tags_obj))
@@ -211,10 +266,10 @@ class TestSelectorSelection(TransactionCase):
self.assertFalse(tags.check(stock_tag_obj))
tags = TagsSelector('standard')
- self.assertFalse(tags.check(stock_tag_obj))
+ self.assertTrue(tags.check(stock_tag_obj))
tags = TagsSelector('slow,standard')
- self.assertFalse(tags.check(stock_tag_obj))
+ self.assertTrue(tags.check(stock_tag_obj))
tags = TagsSelector('slow,-standard')
self.assertFalse(tags.check(stock_tag_obj))
diff --git a/odoo/addons/base/tests/test_translate.py b/odoo/addons/base/tests/test_translate.py
index f6a556be937..bb641b3e044 100644
--- a/odoo/addons/base/tests/test_translate.py
+++ b/odoo/addons/base/tests/test_translate.py
@@ -1,16 +1,12 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-import unittest
-
from odoo.tools import mute_logger
from odoo.tools.translate import quote, unquote, xml_translate, html_translate
-from odoo.tests.common import TransactionCase, tagged
+from odoo.tests.common import TransactionCase, BaseCase
from psycopg2 import IntegrityError
-@tagged('standard', 'at_install')
-class TranslationToolsTestCase(unittest.TestCase):
+class TranslationToolsTestCase(BaseCase):
def assertItemsEqual(self, a, b, msg=None):
self.assertEqual(sorted(a), sorted(b), msg)
diff --git a/odoo/addons/base/tests/test_uninstall.py b/odoo/addons/base/tests/test_uninstall.py
index 041825d463d..123fbf747dd 100644
--- a/odoo/addons/base/tests/test_uninstall.py
+++ b/odoo/addons/base/tests/test_uninstall.py
@@ -8,6 +8,8 @@ import unittest
from odoo import api, registry, SUPERUSER_ID
from odoo.tests import common
+from odoo.tests.common import BaseCase
+
from odoo.modules.registry import Registry
@@ -25,8 +27,7 @@ MODULE = 'test_uninstall'
MODEL = 'test_uninstall.model'
-@common.tagged('standard', 'at_install')
-class TestUninstall(unittest.TestCase):
+class TestUninstall(BaseCase):
"""
Test the install/uninstall of a test module. The module is available in
`odoo.tests` which should be present in the addons-path.
diff --git a/odoo/addons/base/tests/test_view_validation.py b/odoo/addons/base/tests/test_view_validation.py
index 5e550414436..c253d1badea 100644
--- a/odoo/addons/base/tests/test_view_validation.py
+++ b/odoo/addons/base/tests/test_view_validation.py
@@ -3,9 +3,8 @@
from lxml import etree
import io
-import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools.view_validation import (
valid_page_in_book, valid_att_in_form, valid_type_in_colspan,
valid_type_in_col, valid_att_in_field, valid_att_in_label,
@@ -131,8 +130,7 @@ valid_tree = etree.parse(io.BytesIO(b'''\
''')).getroot()
-@tagged('standard', 'at_install')
-class TestViewValidation(unittest.TestCase):
+class TestViewValidation(BaseCase):
""" Test the view validation code (but not the views themselves). """
def test_page_validation(self):
diff --git a/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py b/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py
index 993a3c97528..2568cd21db9 100644
--- a/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py
+++ b/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import os.path
-import unittest
-from odoo.tests.common import tagged
+from odoo.tests.common import BaseCase
from odoo.tools.mimetypes import guess_mimetype
def contents(extension):
@@ -14,8 +13,7 @@ def contents(extension):
return f.read()
-@tagged('standard', 'at_install')
-class TestMimeGuessing(unittest.TestCase):
+class TestMimeGuessing(BaseCase):
def test_doc(self):
self.assertEqual(
guess_mimetype(contents('doc')),
diff --git a/odoo/tests/common.py b/odoo/tests/common.py
index a5b0c7571a2..5b7edeb4c9a 100644
--- a/odoo/tests/common.py
+++ b/odoo/tests/common.py
@@ -189,8 +189,9 @@ class MetaCase(type):
super(MetaCase, cls).__init__(name, bases, attrs)
# assign default test tags
if cls.__module__.startswith('odoo.addons.'):
- module = cls.__module__.split('.')[2]
- cls.test_tags = {'standard', 'at_install', module}
+ cls.test_tags = {'standard', 'at_install'}
+ cls.test_module = cls.__module__.split('.')[2]
+ cls.test_class = cls.__name__
class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})):
@@ -244,7 +245,10 @@ class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})):
def _assertRaises(self, exception):
""" Context manager that clears the environment upon failure. """
with super(BaseCase, self).assertRaises(exception) as cm:
- with self.env.clear_upon_failure():
+ if hasattr(self, 'env'):
+ with self.env.clear_upon_failure():
+ yield cm
+ else:
yield cm
def assertRaises(self, exception, func=None, *args, **kwargs):
@@ -333,9 +337,23 @@ class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})):
return False
return True
+ def _repr_field_value(record, field_name):
+ record_value = record[field_name]
+ field_type = record._fields[field_name].type
+ if field_type == 'monetary':
+ currency_field_name = record._fields[field_name].currency_field
+ record_currency = record[currency_field_name]
+ return record_currency and record_currency.round(record_value) or record_value
+ elif field_type in ('one2many', 'many2many'):
+ return set(record_value.ids)
+ elif field_type == 'many2one':
+ return record_value.id
+ else:
+ return record_value
+
def _format_message(records, expected_values):
''' Return a formatted representation of records/expected_values. '''
- all_records_values = records.read(list(expected_values[0].keys()), load=False)
+ all_records_values = [{key: _repr_field_value(record, key) for key in expected_values[0]} for record in records]
msg1 = '\n'.join(pprint.pformat(dic) for dic in all_records_values)
msg2 = '\n'.join(pprint.pformat(dic) for dic in expected_values)
return 'Current values:\n\n%s\n\nExpected values:\n\n%s' % (msg1, msg2)
@@ -706,6 +724,8 @@ class ChromeBrowser():
res = None
if res and res.get('id') == ready_id:
if res.get('result') == awaited_result:
+ if has_exceeded:
+ self._logger.info('The ready code tooks too much time : %s', tdiff)
return True
else:
last_bad_res = res
@@ -713,7 +733,6 @@ class ChromeBrowser():
tdiff = time.time() - start_time
if tdiff >= 2 and not has_exceeded:
has_exceeded = True
- self._logger.warning('The ready code takes too much time : %s', tdiff)
self.take_screenshot(prefix='failed_ready')
self._logger.info('Ready code last try result: %s', last_bad_res or res)
@@ -1800,7 +1819,7 @@ def _get_node(view, f, *arg):
def tagged(*tags):
"""
- A decorator to tag TestCase objects
+ A decorator to tag BaseCase objects
Tags are stored in a set that can be accessed from a 'test_tags' attribute
A tag prefixed by '-' will remove the tag e.g. to remove the 'standard' tag
By default, all Test classes from odoo.tests.common have a test_tags
@@ -1810,33 +1829,75 @@ def tagged(*tags):
def tags_decorator(obj):
include = {t for t in tags if not t.startswith('-')}
exclude = {t[1:] for t in tags if t.startswith('-')}
- obj.test_tags = (getattr(obj, 'test_tags', set()) | include) - exclude
+ obj.test_tags = (getattr(obj, 'test_tags', set()) | include) - exclude # todo remove getattr in master since we want to limmit tagged to BaseCase and always have +standard tag
return obj
return tags_decorator
class TagsSelector(object):
""" Test selector based on tags. """
+ filter_spec_re = re.compile(r'^([+-]?)(\*|\w*)(?:/(\w*))?(?::(\w*))?(?:\.(\w*))?$') # [-][tag][/module][:class][.method]
def __init__(self, spec):
""" Parse the spec to determine tags to include and exclude. """
- clean_tags = {t.strip() for t in spec.split(',') if t.strip() != ''}
- self.exclude = {t[1:] for t in clean_tags if t.startswith('-')}
- self.include = {t.replace('+', '') for t in clean_tags if not t.startswith('-')}
+ filter_specs = {t.strip() for t in spec.split(',') if t.strip()}
+ self.exclude = set()
+ self.include = set()
+
+ for filter_spec in filter_specs:
+ match = self.filter_spec_re.match(filter_spec)
+ if not match:
+ _logger.error('Invalid tag %s', filter_spec)
+ continue
+
+ sign, tag, module, klass, method = match.groups()
+ is_include = sign != '-'
+
+ if not tag and is_include:
+ # including /module:class.method implicitly requires 'standard'
+ tag = 'standard'
+ elif not tag or tag == '*':
+ # '*' indicates all tests (instead of 'standard' tests only)
+ tag = None
+ test_filter = (tag, module, klass, method)
- def check(self, arg):
+ if is_include:
+ self.include.add(test_filter)
+ else:
+ self.exclude.add(test_filter)
+
+ if self.exclude and not self.include:
+ self.include.add(('standard', None, None, None))
+
+ def check(self, test):
""" Return whether ``arg`` matches the specification: it must have at
- least one tag in ``self.include`` and none in ``self.exclude``.
+ least one tag in ``self.include`` and none in ``self.exclude`` for each tag category.
"""
- # handle the case where the Test does not inherit from TransactionCase
- tags = getattr(arg, 'test_tags', set())
- inter_no_test = self.exclude.intersection(tags)
- if inter_no_test:
- _logger.debug("Test '%s' not selected because it is tagged with : %s (exclusions: %s)", arg, inter_no_test, self.exclude)
+ if not hasattr(test, 'test_tags'): # handle the case where the Test does not inherit from BaseCase and has no test_tags
+ _logger.debug("Skipping test '%s' because no test_tag found.", test)
return False
- inter_to_test = self.include.intersection(tags)
- if not inter_to_test:
- _logger.debug("Test '%s' not selected because it was not tagged with %s", arg, self.include)
+
+ test_module = getattr(test, 'test_module', None)
+ test_class = getattr(test, 'test_class', None)
+ test_tags = test.test_tags | {test_module} # module as test_tags deprecated, keep for retrocompatibility,
+ test_method = getattr(test, '_testMethodName', None)
+
+ def _is_matching(test_filter):
+ (tag, module, klass, method) = test_filter
+ if tag and tag not in test_tags:
+ return False
+ elif module and module != test_module:
+ return False
+ elif klass and klass != test_class:
+ return False
+ elif method and test_method and method != test_method:
+ return False
+ return True
+
+ if any(_is_matching(test_filter) for test_filter in self.exclude):
return False
- _logger.debug("Test '%s' selected: tagged with %s, exclusions: %s, inclusions: %s", arg, tags, self.exclude, self.include)
- return True
+
+ if any(_is_matching(test_filter) for test_filter in self.include):
+ return True
+
+ return False
diff --git a/odoo/tools/config.py b/odoo/tools/config.py
index 7dd36c6a133..583ab4ad267 100644
--- a/odoo/tools/config.py
+++ b/odoo/tools/config.py
@@ -160,7 +160,14 @@ class configmanager(object):
dest='test_enable',
help="Enable unit tests.")
group.add_option("--test-tags", dest="test_tags",
- help="Comma separated list of tags to filter which tests to excute. Enable unit tests if set.")
+ help="""Comma separated list of spec to filter which tests to execute. Enable unit tests if set.
+ A filter spec has the format: [-][tag][/module][:class][.method]
+ The '-' specifies if we want to include or exclude tests matching this spec.
+ The tag will match tags added on a class with a @tagged decorator. By default tag value is 'standard' when not
+ given on include mode. '*' will match all tags. Tag will also match module name (deprecated, use /module)
+ The module, class, and method will respectively match the module name, test class name and test method name.
+ examples: :TestClass.test_func,/test_module,external
+ """)
parser.add_option_group(group)