summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2019-07-16 15:45:24 +0000
committerMartin Trigaux <mat@odoo.com>2019-07-16 15:45:24 +0000
commit5d57e1862f3d178313534fc201216fdd31e5247d (patch)
tree1d78d498b6805baa9979f3b0860b669c9346c765 /addons
parent02c48e71f06ba335dcbde020d7fe28663e1afd00 (diff)
parentbeba36416fdf25df74cf8a581c66948a418173b6 (diff)
[MERGE] Forward port of saas-12.4 to master up to beba36416fdf2
closes odoo/odoo#34924 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/account/i18n/nb.po10
-rw-r--r--addons/account/models/account_move.py2
-rw-r--r--addons/account/models/partner.py1
-rw-r--r--addons/account/views/account_move_views.xml2
-rw-r--r--addons/account_payment/views/account_portal_templates.xml2
-rw-r--r--addons/analytic/i18n/pl.po7
-rw-r--r--addons/base_setup/i18n/nb.po67
-rw-r--r--addons/board/i18n/pl.po19
-rw-r--r--addons/crm/models/res_config_settings.py2
-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/l10n_it_edi/data/account_invoice_demo.xml3
-rw-r--r--addons/mail/models/mail_thread.py3
-rw-r--r--addons/mass_mailing/controllers/main.py2
-rw-r--r--addons/mass_mailing/i18n/ca.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/fr.po6
-rw-r--r--addons/mass_mailing/i18n/hu.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_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/tr.po4
-rw-r--r--addons/mass_mailing/i18n/zh_CN.po6
-rw-r--r--addons/mass_mailing/i18n/zh_TW.po6
-rw-r--r--addons/mrp/i18n/hu.po96
-rw-r--r--addons/mrp/models/mrp_production.py14
-rw-r--r--addons/mrp/tests/test_order.py45
-rw-r--r--addons/mrp/wizard/change_production_qty.py11
-rw-r--r--addons/note/i18n/nb.po60
-rw-r--r--addons/note/i18n/pl.po91
-rw-r--r--addons/payment/controllers/portal.py2
-rw-r--r--addons/payment/i18n/de.po4
-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/hu.po2
-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/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_sale/i18n/de.po111
-rw-r--r--addons/product/models/res_partner.py2
-rw-r--r--addons/purchase/views/purchase_views.xml1
-rw-r--r--addons/purchase_stock/models/purchase.py2
-rw-r--r--addons/repair/i18n/hu.po69
-rw-r--r--addons/repair/i18n/nb.po30
-rw-r--r--addons/sale/i18n/nb.po8
-rw-r--r--addons/sale/models/res_partner.py1
-rw-r--r--addons/sale_coupon/models/sale_order.py4
-rw-r--r--addons/sale_management/i18n/de.po84
-rw-r--r--addons/sale_purchase/i18n/hu.po2
-rw-r--r--addons/sale_stock/i18n/hu.po2
-rw-r--r--addons/snailmail/i18n/pl.po479
-rw-r--r--addons/stock/i18n/hu.po12
-rw-r--r--addons/stock/models/product.py3
-rw-r--r--addons/stock/report/report_deliveryslip.xml2
-rw-r--r--addons/stock_landed_costs/i18n/nb.po97
-rw-r--r--addons/stock_picking_batch/i18n/nb.po97
-rw-r--r--addons/web/static/src/js/views/list/list_renderer.js1
-rw-r--r--addons/web/static/src/scss/list_view.scss9
-rw-r--r--addons/web/static/tests/fields/relational_fields/field_one2many_tests.js14
-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/static/src/js/wysiwyg/plugin/helper.js3
-rw-r--r--addons/web_editor/static/src/js/wysiwyg/plugin/text.js5
-rw-r--r--addons/web_editor/static/tests/wysiwyg_keyboard_tests.js31
-rw-r--r--addons/web_editor/tests/test_converter.py5
-rw-r--r--addons/website/models/res_config_settings.py3
-rw-r--r--addons/website/tests/test_converter.py10
-rw-r--r--addons/website_blog/static/src/js/s_latest_posts_frontend.js5
-rw-r--r--addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js4
-rw-r--r--addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml4
-rw-r--r--addons/website_event_track/i18n/nb.po32
-rw-r--r--addons/website_hr_recruitment/i18n/uk.po16
-rw-r--r--addons/website_mass_mailing/i18n/uk.po20
-rw-r--r--addons/website_membership/i18n/uk.po26
-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/uk.po28
-rw-r--r--addons/website_sale_coupon/i18n/uk.po4
-rw-r--r--addons/website_sale_digital/i18n/nb.po21
-rw-r--r--addons/website_sale_digital/i18n/uk.po22
-rw-r--r--addons/website_sale_management/i18n/uk.po9
-rw-r--r--addons/website_sale_stock/i18n/uk.po22
-rw-r--r--addons/website_sale_wishlist/i18n/uk.po30
-rw-r--r--addons/website_slides/models/slide_channel.py5
-rw-r--r--addons/website_slides/tests/test_statistics.py9
-rw-r--r--addons/website_theme_install/i18n/uk.po72
-rw-r--r--addons/website_twitter/i18n/uk.po49
98 files changed, 1474 insertions, 607 deletions
diff --git a/addons/account/i18n/nb.po b/addons/account/i18n/nb.po
index 516cc84eeb6..acdf13691f5 100644
--- a/addons/account/i18n/nb.po
+++ b/addons/account/i18n/nb.po
@@ -4608,7 +4608,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields,field_description:account.field_account_journal__outbound_payment_method_ids
msgid "For Outgoing Payments"
-msgstr ""
+msgstr "Til utbetalinger"
#. module: account
#: model:ir.model.fields,help:account.field_account_payment_term_line__value_amount
@@ -6253,7 +6253,7 @@ msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form
msgid "Let your customers pay their invoices online"
-msgstr ""
+msgstr "La kundene betale fakturaene sine på nett"
#. module: account
#: selection:account.account.type,internal_group:0
@@ -8825,7 +8825,7 @@ msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.onboarding_sample_invoice_step
msgid "Send an invoice to test the customer portal."
-msgstr ""
+msgstr "Send en faktura for å teste kundeportalen."
#. module: account
#: model_terms:ir.ui.view,arch_db:account.onboarding_sample_invoice_step
@@ -9199,6 +9199,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: account
#: model_terms:ir.ui.view,arch_db:account.onboarding_bank_account_step
diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py
index 91f9fc8a38f..c9adf0ba7f0 100644
--- a/addons/account/models/account_move.py
+++ b/addons/account/models/account_move.py
@@ -1024,7 +1024,7 @@ class AccountMove(models.Model):
vendor_display_name = _('From: ') + move.invoice_source_email
move.invoice_vendor_icon = '@'
else:
- vendor_display_name = ('Created by: ') + move.sudo().create_uid.name
+ vendor_display_name = _('Created by: %s') % move.sudo().create_uid.name
move.invoice_vendor_icon = '#'
move.invoice_vendor_display_name = vendor_display_name
diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py
index 483e1142fab..cdd9a916dd1 100644
--- a/addons/account/models/partner.py
+++ b/addons/account/models/partner.py
@@ -476,6 +476,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/views/account_move_views.xml b/addons/account/views/account_move_views.xml
index 0a2bf22c90d..83f79b1b292 100644
--- a/addons/account/views/account_move_views.xml
+++ b/addons/account/views/account_move_views.xml
@@ -352,7 +352,7 @@
<field name="name">account.invoice.tree</field>
<field name="model">account.move</field>
<field name="arch" type="xml">
- <tree decoration-info="state == 'draft'" string="Invoices" decoration-muted="state == 'cancel'" js_class="account_tree">
+ <tree decoration-info="state == 'draft'" string="Invoices" decoration-muted="state == 'cancel'" js_class="account_tree" banner_route="/account/account_invoice_onboarding">
<field name="partner_id" invisible="1"/>
<field name="invoice_source_email" invisible="1"/>
<field name="invoice_vendor_icon" string=" "/>
diff --git a/addons/account_payment/views/account_portal_templates.xml b/addons/account_payment/views/account_portal_templates.xml
index 4f8c00964d6..53c126e1bfc 100644
--- a/addons/account_payment/views/account_portal_templates.xml
+++ b/addons/account_payment/views/account_portal_templates.xml
@@ -38,7 +38,7 @@
<template id="portal_invoice_payment" name="Invoice Payment">
<div class="row" t-if="not tx_ids and invoice.state == 'posted' and invoice.invoice_payment_state == 'not_paid' and invoice.amount_total" id="portal_pay">
<div class="modal fade" id="pay_with" role="dialog">
- <div class="modal-dialog modal-content">
+ <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Pay with</h3>
diff --git a/addons/analytic/i18n/pl.po b/addons/analytic/i18n/pl.po
index 83fd87efa1c..2b684555c94 100644
--- a/addons/analytic/i18n/pl.po
+++ b/addons/analytic/i18n/pl.po
@@ -6,7 +6,7 @@
# Paweł Wodyński <pw@myodoo.pl>, 2018
# Piotr Cierkosz <piotr.w.cierkosz@gmail.com>, 2019
# Martin Trigaux, 2019
-# zbik2607 <darek@krokus.com.pl>, 2019
+# Dariusz Żbikowski <darek@krokus.com.pl>, 2019
# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2019
# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2019
# Mikołaj Dziurzyński <mikolaj.dziurzynski@openglobe.pl>, 2019
@@ -16,6 +16,7 @@
# Slawomir Adamus <melthalion@gmail.com>, 2019
# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2019
# Andrzej Donczew <a.donczew@hadron.eu.com>, 2019
+# Karol Rybak <karolrybak85@gmail.com>, 2019
#
msgid ""
msgstr ""
@@ -23,7 +24,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2016-08-05 12:56+0000\n"
-"Last-Translator: Andrzej Donczew <a.donczew@hadron.eu.com>, 2019\n"
+"Last-Translator: Karol Rybak <karolrybak85@gmail.com>, 2019\n"
"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -51,7 +52,7 @@ msgstr ""
#. module: analytic
#: model_terms:ir.actions.act_window,help:analytic.account_analytic_tag_action
msgid "Add a new tag"
-msgstr ""
+msgstr "Dodaj nowy tag"
#. module: analytic
#: model:ir.model.fields,field_description:analytic.field_account_analytic_line__amount
diff --git a/addons/base_setup/i18n/nb.po b/addons/base_setup/i18n/nb.po
index d9ab02ee91f..4f30a95884a 100644
--- a/addons/base_setup/i18n/nb.po
+++ b/addons/base_setup/i18n/nb.po
@@ -3,17 +3,17 @@
# * base_setup
#
# Translators:
-# Martin Trigaux, 2018
-# Jorunn D. Newth, 2018
-# Marius Stedjan <marius@stedjan.com>, 2018
+# Marius Stedjan <marius@stedjan.com>, 2019
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:17+0000\n"
-"PO-Revision-Date: 2018-08-24 09:16+0000\n"
-"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:49+0000\n"
+"PO-Revision-Date: 2016-08-05 12:57+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,6 +36,8 @@ msgid ""
"<span class=\"o_form_label\">Document Template</span>\n"
" <span class=\"fa fa-lg fa-building-o\" title=\"Values set here are company-specific.\" aria-label=\"Values set here are company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
+"<span class=\"o_form_label\">Dokumentmal</span>\n"
+" <span class=\"fa fa-lg fa-building-o\" title=\"Values set here are company-specific.\" aria-label=\"Values set here are company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
@@ -49,6 +51,13 @@ msgstr ""
#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid ""
+"<strong>Save</strong> this page and come back here to choose your Geo "
+"Provider."
+msgstr ""
+
+#. module: base_setup
+#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
+msgid ""
"<strong>Save</strong> this page and come back here to set up the feature."
msgstr ""
"<strong>Lagre</strong> denne siden og kom tilbake hit for å sette opp "
@@ -91,13 +100,8 @@ msgid "Attach Google documents to any record"
msgstr "Legg ved Google-dokumenter til alle typer oppføringer"
#. module: base_setup
-#: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_partner_autocomplete
-msgid "Auto-populate company data"
-msgstr ""
-
-#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
-msgid "Autocomplete company data (name, logo, address, etc.)"
+msgid "Automatically enrich your contact base with company data"
msgstr ""
#. module: base_setup
@@ -119,7 +123,7 @@ msgid "Change Document Template"
msgstr "Bytt dokumentmal"
#. module: base_setup
-#: code:addons/base_setup/models/res_config_settings.py:100
+#: code:addons/base_setup/models/res_config_settings.py:102
#, python-format
msgid "Choose Your Document Layout"
msgstr "Velg dokument-layout"
@@ -163,6 +167,11 @@ msgstr ""
#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
+msgid "Contacts"
+msgstr "Kontakter"
+
+#. module: base_setup
+#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Create and attach Google Drive documents to any record"
msgstr ""
"Opprett og legg ved Google Drive-dokumenter til alle slags oppføringer"
@@ -226,6 +235,21 @@ msgstr "Gengo-oversettelser"
#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
+msgid "Geo Localization"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_base_geolocalize
+msgid "GeoLocalize"
+msgstr ""
+
+#. module: base_setup
+#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
+msgid "GeoLocalize your partners"
+msgstr ""
+
+#. module: base_setup
+#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Google Calendar"
msgstr "Google Calendar"
@@ -301,11 +325,26 @@ msgid "Paper format"
msgstr "Papirformat"
#. module: base_setup
+#: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_partner_autocomplete
+msgid "Partner Autocomplete"
+msgstr ""
+
+#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Preview Document"
msgstr "Forhåndsvis dokument"
#. module: base_setup
+#: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_sms
+msgid "Send SMS"
+msgstr "Send SMS"
+
+#. module: base_setup
+#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
+msgid "Send texts to your contacts"
+msgstr ""
+
+#. module: base_setup
#: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Set custom access rights for new users"
msgstr "Sett tilpassede tilgangsrettigheter for nye brukere"
diff --git a/addons/board/i18n/pl.po b/addons/board/i18n/pl.po
index 7204906c496..f4854cb5546 100644
--- a/addons/board/i18n/pl.po
+++ b/addons/board/i18n/pl.po
@@ -3,20 +3,21 @@
# * board
#
# Translators:
-# Martin Trigaux, 2018
-# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2018
-# Tomasz Leppich <t.leppich@gmail.com>, 2018
-# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2018
# Paweł Wodyński <pw@myodoo.pl>, 2018
-# Wiktor Kaźmierczak <wik92tor@wp.pl>, 2018
+# Martin Trigaux, 2019
+# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2019
+# Tomasz Leppich <t.leppich@gmail.com>, 2019
+# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2019
+# Wiktor Kaźmierczak <wik92tor@wp.pl>, 2019
+# Karol Rybak <karolrybak85@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-08-24 09:16+0000\n"
-"Last-Translator: Wiktor Kaźmierczak <wik92tor@wp.pl>, 2018\n"
+"PO-Revision-Date: 2016-08-05 12:57+0000\n"
+"Last-Translator: Karol Rybak <karolrybak85@gmail.com>, 2019\n"
"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -52,7 +53,7 @@ msgstr "'%s' dodane do konsoli"
#: code:addons/board/static/src/xml/board.xml:83
#, python-format
msgid "Add"
-msgstr "dodaj"
+msgstr "Dodaj"
#. module: board
#. openerp-web
@@ -131,7 +132,7 @@ msgstr "Data ostatniej modyfikacji"
#: code:addons/board/static/src/xml/board.xml:41
#, python-format
msgid "Layout"
-msgstr ""
+msgstr "Układ"
#. module: board
#. openerp-web
diff --git a/addons/crm/models/res_config_settings.py b/addons/crm/models/res_config_settings.py
index 83ae62ff50e..6b8c622bfbb 100644
--- a/addons/crm/models/res_config_settings.py
+++ b/addons/crm/models/res_config_settings.py
@@ -50,6 +50,8 @@ class ResConfigSettings(models.TransientModel):
for setting in self:
if setting.predictive_lead_scoring_fields:
setting.predictive_lead_scoring_fields_str = ','.join(setting.predictive_lead_scoring_fields.mapped('name'))
+ else:
+ setting.predictive_lead_scoring_fields_str = ''
@api.depends('predictive_lead_scoring_start_date_str')
def _compute_pls_start_date(self):
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 7081a1ac5af..19f1e67da62 100644
--- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py
+++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py
@@ -16,6 +16,7 @@ class TimesheetAttendance(models.Model):
total_difference = fields.Float()
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,
@@ -30,7 +31,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
@@ -40,7 +41,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 7ac24bfce70..cb191e66b10 100755
--- a/addons/hw_drivers/controllers/driver.py
+++ b/addons/hw_drivers/controllers/driver.py
@@ -56,7 +56,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/l10n_it_edi/data/account_invoice_demo.xml b/addons/l10n_it_edi/data/account_invoice_demo.xml
index c68a3871df5..81cef201c47 100644
--- a/addons/l10n_it_edi/data/account_invoice_demo.xml
+++ b/addons/l10n_it_edi/data/account_invoice_demo.xml
@@ -3,7 +3,8 @@
<data noupdate="1">
<!-- add VAT, codice fiscal and tax system for main company -->
<record id="base.main_company" model="res.company">
- <field name="vat">IT00410123456</field>
+ <field name="country_id" ref="base.it"/>
+ <field name="vat">IT00410128888</field>
<field name="l10n_it_codice_fiscale">0123456789987654</field>
<field name="l10n_it_tax_system">RF01</field>
<field name="zip">12345</field>
diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py
index 432c0657b42..8a53e51cba2 100644
--- a/addons/mail/models/mail_thread.py
+++ b/addons/mail/models/mail_thread.py
@@ -2349,6 +2349,9 @@ 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/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index a03435fddef..0d3c563bc6a 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(body=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/ca.po b/addons/mass_mailing/i18n/ca.po
index 579ca868dd8..2a77ab58006 100644
--- a/addons/mass_mailing/i18n/ca.po
+++ b/addons/mass_mailing/i18n/ca.po
@@ -2325,9 +2325,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/de.po b/addons/mass_mailing/i18n/de.po
index 9cadb566ab0..ef01747ebb5 100644
--- a/addons/mass_mailing/i18n/de.po
+++ b/addons/mass_mailing/i18n/de.po
@@ -2402,9 +2402,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 a430ad6bea1..b635aaef59d 100644
--- a/addons/mass_mailing/i18n/el.po
+++ b/addons/mass_mailing/i18n/el.po
@@ -2329,9 +2329,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 c4d2922f79b..207a929f720 100644
--- a/addons/mass_mailing/i18n/es.po
+++ b/addons/mass_mailing/i18n/es.po
@@ -2396,9 +2396,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/fr.po b/addons/mass_mailing/i18n/fr.po
index 73b4d64e473..f000d1ef1e6 100644
--- a/addons/mass_mailing/i18n/fr.po
+++ b/addons/mass_mailing/i18n/fr.po
@@ -2423,10 +2423,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/hu.po b/addons/mass_mailing/i18n/hu.po
index 9931b7b15bc..275236b1877 100644
--- a/addons/mass_mailing/i18n/hu.po
+++ b/addons/mass_mailing/i18n/hu.po
@@ -2343,9 +2343,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 3198b704ccc..60eb42d4177 100644
--- a/addons/mass_mailing/i18n/mn.po
+++ b/addons/mass_mailing/i18n/mn.po
@@ -2369,9 +2369,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 e7e89625727..8259960a905 100644
--- a/addons/mass_mailing/i18n/nb.po
+++ b/addons/mass_mailing/i18n/nb.po
@@ -2336,9 +2336,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 cc8191682b3..10bb608162d 100644
--- a/addons/mass_mailing/i18n/nl.po
+++ b/addons/mass_mailing/i18n/nl.po
@@ -2438,10 +2438,10 @@ msgstr "U bent niet ingeschreven voor een van onze nieusbrieven."
#. 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_BR.po b/addons/mass_mailing/i18n/pt_BR.po
index 4cfc6d55417..b29d34be01e 100644
--- a/addons/mass_mailing/i18n/pt_BR.po
+++ b/addons/mass_mailing/i18n/pt_BR.po
@@ -2348,9 +2348,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 3d5b71e4287..fedd0a80938 100644
--- a/addons/mass_mailing/i18n/ro.po
+++ b/addons/mass_mailing/i18n/ro.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/ru.po b/addons/mass_mailing/i18n/ru.po
index a6f55b21359..3fc6e3436ad 100644
--- a/addons/mass_mailing/i18n/ru.po
+++ b/addons/mass_mailing/i18n/ru.po
@@ -2376,9 +2376,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 ce8455cf6e4..7d9ce3e665e 100644
--- a/addons/mass_mailing/i18n/tr.po
+++ b/addons/mass_mailing/i18n/tr.po
@@ -2351,9 +2351,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/zh_CN.po b/addons/mass_mailing/i18n/zh_CN.po
index 249d6bd7349..a90876d863e 100644
--- a/addons/mass_mailing/i18n/zh_CN.po
+++ b/addons/mass_mailing/i18n/zh_CN.po
@@ -2373,10 +2373,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/i18n/zh_TW.po b/addons/mass_mailing/i18n/zh_TW.po
index 67e07ad2037..56cd704a8cb 100644
--- a/addons/mass_mailing/i18n/zh_TW.po
+++ b/addons/mass_mailing/i18n/zh_TW.po
@@ -2362,10 +2362,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/mrp/i18n/hu.po b/addons/mrp/i18n/hu.po
index 906e2b3c133..a7d689fff46 100644
--- a/addons/mrp/i18n/hu.po
+++ b/addons/mrp/i18n/hu.po
@@ -975,12 +975,12 @@ msgstr "Leírás"
#. module: mrp
#: model:ir.model.fields,help:mrp.field_mrp_workcenter__note
msgid "Description of the Work Center."
-msgstr ""
+msgstr "A munkaközpont leírása."
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_workcenter_view
msgid "Description of the work center..."
-msgstr ""
+msgstr "A munkaközpont leírása..."
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_unbuild__location_dest_id
@@ -1060,7 +1060,7 @@ msgstr ""
#: model:product.product,description:mrp.product_product_drawer_drawer
#: model:product.template,description:mrp.product_product_drawer_drawer_product_template
msgid "Drawer on casters for great usability."
-msgstr ""
+msgstr "Remekül használható görgős fiók."
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter__time_cycle
@@ -1072,17 +1072,17 @@ msgstr "Időtartam"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.oee_tree_view
msgid "Duration (minutes)"
-msgstr ""
+msgstr "Időtartam (percek)"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter__time_mode
msgid "Duration Computation"
-msgstr ""
+msgstr "Időtartam kiszámítása"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__duration_percent
msgid "Duration Deviation (%)"
-msgstr ""
+msgstr "Időtartam eltérés (%)"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__duration_unit
@@ -1108,7 +1108,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity__loss_type
#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss__loss_type
msgid "Effectiveness Category"
-msgstr ""
+msgstr "Hatékonysági kategória"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_production__date_finished
@@ -1121,27 +1121,27 @@ msgstr "Befejezés dátuma"
#: model:ir.model.fields,help:mrp.field_mrp_product_produce_line__product_tracking
#: model:ir.model.fields,help:mrp.field_mrp_unbuild__has_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: mrp
#: model_terms:ir.ui.view,arch_db:mrp.exception_on_mo
msgid "Exception(s) occurred on the manufacturing order(s):"
-msgstr ""
+msgstr "A gyártási rendelés(ek)nél előfordult kivétel(ek):"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.exception_on_mo
msgid "Exception(s):"
-msgstr ""
+msgstr "Kivétel(ek):"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__duration_expected
msgid "Expected Duration"
-msgstr ""
+msgstr "Tervezett időtartam"
#. module: mrp
#: model:ir.model.fields,help:mrp.field_mrp_workorder__duration_expected
msgid "Expected duration (in minutes)"
-msgstr ""
+msgstr "Tervezett időtartam (percekben)"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_document__datas
@@ -1161,7 +1161,7 @@ msgstr "Fájlnév"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrp_bom
msgid "Files attached to the product"
-msgstr ""
+msgstr "A termékhez mellékelt fájlok"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
@@ -1238,7 +1238,7 @@ msgstr "Kezdő dátum"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.oee_search_view
msgid "Fully Productive"
-msgstr ""
+msgstr "Teljesen termelékeny"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
@@ -1439,7 +1439,7 @@ msgstr ""
#: code:addons/mrp/models/mrp_bom.py:200
#, python-format
msgid "Import Template for Bills of Materials"
-msgstr ""
+msgstr "Anyagjegyzék sablon importálása"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_workcenter_kanban
@@ -1466,7 +1466,7 @@ msgstr ""
#: code:addons/mrp/models/mrp_unbuild.py:219
#, python-format
msgid "Insufficient Quantity"
-msgstr ""
+msgstr "Elégtelen mennyiség"
#. module: mrp
#: selection:stock.picking.type,code:0
@@ -1477,7 +1477,7 @@ msgstr "Belső"
#: model:ir.actions.act_window,name:mrp.action_mrp_production_moves
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view
msgid "Inventory Moves"
-msgstr ""
+msgstr "Leltár mozgások"
#. module: mrp
#: model:ir.model.fields,help:mrp.field_mrp_workorder__move_line_ids
@@ -1496,7 +1496,7 @@ msgstr "Ő egy követő"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_production__is_locked
msgid "Is Locked"
-msgstr ""
+msgstr "Zárolt"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss__manual
@@ -1628,7 +1628,7 @@ msgstr ""
#: model:product.product,description:mrp.product_product_wood_ply
#: model:product.template,description:mrp.product_product_wood_ply_product_template
msgid "Layers that are stick together to assemble wood panels."
-msgstr ""
+msgstr "A fapanelek összeszerelésére szolgáló, összeragasztott rétegek."
#. module: mrp
#: code:addons/mrp/models/mrp_production.py:492
@@ -1711,7 +1711,7 @@ msgstr "Alacsony"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_res_config_settings__group_mrp_routings
msgid "MRP Work Orders"
-msgstr ""
+msgstr "MRP munka rendelések"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_workcenter_productivity_loss_type
@@ -1764,7 +1764,7 @@ msgstr "Gyártás"
#: selection:stock.warehouse,manufacture_steps:0
#, python-format
msgid "Manufacture (1 step)"
-msgstr ""
+msgstr "Gyártás (1 lépés)"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_warehouse__manufacture_pull_id
@@ -1785,19 +1785,19 @@ msgstr ""
#: model:ir.model.fields,field_description:mrp.field_product_product__mrp_product_qty
#: model:ir.model.fields,field_description:mrp.field_product_template__mrp_product_qty
msgid "Manufactured"
-msgstr ""
+msgstr "Legyártott"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_product_product_search_view
#: model_terms:ir.ui.view,arch_db:mrp.mrp_product_template_search_view
msgid "Manufactured Products"
-msgstr ""
+msgstr "Legyártott termékek"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.product_product_form_view_bom_button
#: model_terms:ir.ui.view,arch_db:mrp.product_template_form_view_bom_button
msgid "Manufactured in the last 365 days"
-msgstr ""
+msgstr "Legyártva az utóbbi 365 napban"
#. module: mrp
#: code:addons/mrp/models/stock_warehouse.py:209
@@ -1817,12 +1817,12 @@ msgstr "Gyártási átfutási idő"
#. module: mrp
#: selection:stock.picking.type,code:0
msgid "Manufacturing Operation"
-msgstr ""
+msgstr "Gyártási művelet"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_warehouse__manu_type_id
msgid "Manufacturing Operation Type"
-msgstr ""
+msgstr "Gyártási művelet típusa"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_change_production_qty__mo_id
@@ -1865,7 +1865,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mrp.field_mrp_bom__ready_to_produce
#: model_terms:ir.ui.view,arch_db:mrp.mrp_bom_form_view
msgid "Manufacturing Readiness"
-msgstr ""
+msgstr "Gyártási készenlét"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view
@@ -1970,7 +1970,7 @@ msgstr "Mrp munkaállomás"
#. module: mrp
#: model:ir.actions.server,name:mrp.production_order_server_action
msgid "Mrp: Plan Production Orders"
-msgstr ""
+msgstr "Mrp: Termelési rendelések tervezése"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
@@ -2018,17 +2018,17 @@ msgstr ""
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter__batch
msgid "Next Operation"
-msgstr ""
+msgstr "Következő művelet"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__next_work_order_id
msgid "Next Work Order"
-msgstr ""
+msgstr "Következő munka rendelés"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_production_lot__use_next_on_work_order_id
msgid "Next Work Order to Use"
-msgstr ""
+msgstr "Következő használandó munka rendelés"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_bom_form_view
@@ -2038,7 +2038,7 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrp_bom
msgid "No data available."
-msgstr ""
+msgstr "Nincs elérhető adat."
#. module: mrp
#: model_terms:ir.actions.act_window,help:mrp.action_mrp_routing_time
@@ -2061,6 +2061,8 @@ msgstr ""
msgid ""
"No workorder currently in progress. Click to mark work center as blocked."
msgstr ""
+"Jelenleg nincs munka rendelés folyamatban. Kattintson a munkaközpont "
+"blokkoltként való megjelöléséhez."
#. module: mrp
#: selection:mrp.production,availability:0
@@ -2078,6 +2080,8 @@ msgstr "Normál"
#: model:ir.model.fields,help:mrp.field_stock_scrap__workorder_id
msgid "Not to restrict or prefer quants, but informative."
msgstr ""
+"Nem a mennyiségek korlátozására vagy előnyben részesítésére szolgál, de "
+"informatív."
#. module: mrp
#: selection:mrp.production,priority:0
@@ -2100,17 +2104,17 @@ msgstr "Műveletek száma"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_picking_type__count_mo_late
msgid "Number of Manufacturing Orders Late"
-msgstr ""
+msgstr "Késében lévő gyártási rendelések száma"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_picking_type__count_mo_waiting
msgid "Number of Manufacturing Orders Waiting"
-msgstr ""
+msgstr "Várakozó gyártási rendelések száma"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_picking_type__count_mo_todo
msgid "Number of Manufacturing Orders to Process"
-msgstr ""
+msgstr "Feldolgozandó gyártási rendelések száma"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_bom__message_has_error_counter
@@ -2140,7 +2144,7 @@ msgstr ""
#: model:ir.model.fields,help:mrp.field_mrp_workcenter__capacity
#: model:ir.model.fields,help:mrp.field_mrp_workorder__capacity
msgid "Number of pieces that can be produced in parallel."
-msgstr ""
+msgstr "Párhuzamosan termelhető darabok száma."
#. module: mrp
#: model:ir.model.fields,help:mrp.field_mrp_bom__message_unread_counter
@@ -2173,12 +2177,12 @@ msgstr ""
#. module: mrp
#: selection:mrp.routing.workcenter,batch:0
msgid "Once a minimum number of products is processed"
-msgstr ""
+msgstr "Amint egy minimális számú termék feldolgozásra került"
#. module: mrp
#: selection:mrp.routing.workcenter,batch:0
msgid "Once all products are processed"
-msgstr ""
+msgstr "Amint minden termék feldolgozásra került"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter__name
@@ -2190,13 +2194,13 @@ msgstr "Művelet"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_move__operation_id
msgid "Operation To Consume"
-msgstr ""
+msgstr "Felhasználandó művelet"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_bom__picking_type_id
#: model:ir.model.fields,field_description:mrp.field_mrp_production__picking_type_id
msgid "Operation Type"
-msgstr ""
+msgstr "Művelet típus"
#. module: mrp
#: code:addons/mrp/report/mrp_report_bom_structure.py:221
@@ -2218,12 +2222,12 @@ msgstr "Műveletek"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrporder
msgid "Operations Done"
-msgstr ""
+msgstr "Elvégzett műveletek"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrporder
msgid "Operations Planned"
-msgstr ""
+msgstr "Tervezett műveletek"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_stock_move__order_finished_lot_ids
@@ -2238,7 +2242,7 @@ msgstr "Megrendelések"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder__qty_production
msgid "Original Production Quantity"
-msgstr ""
+msgstr "Eredeti termelési mennyiség"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_workcenter_productivity_report
@@ -2277,7 +2281,7 @@ msgstr "Fölérendelt anyagjegyzék"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_bom_line__parent_product_tmpl_id
msgid "Parent Product Template"
-msgstr ""
+msgstr "Szülő termék sablon"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter__routing_id
@@ -2316,13 +2320,13 @@ msgstr ""
#. module: mrp
#: model:ir.model.fields,help:mrp.field_mrp_workcenter__performance
msgid "Performance over the last month"
-msgstr ""
+msgstr "Teljesítmény az utóbbi egy hónapban"
#. module: mrp
#: code:addons/mrp/models/stock_warehouse.py:191
#, python-format
msgid "Pick Components"
-msgstr ""
+msgstr "Alkatrészek kiválasztása"
#. module: mrp
#: code:addons/mrp/models/stock_warehouse.py:96
diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py
index cb6575673ff..81c2cce8548 100644
--- a/addons/mrp/models/mrp_production.py
+++ b/addons/mrp/models/mrp_production.py
@@ -561,12 +561,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)
@@ -859,15 +860,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 916f0d10ab0..3ac051a0b10 100644
--- a/addons/mrp/tests/test_order.py
+++ b/addons/mrp/tests/test_order.py
@@ -519,6 +519,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):
""" Checks that, for a BOM with two components, when creating a manufacturing order for one
finished products and without reserving, the produce wizards proposes the corrects lines
even if we change the quantity to produce multiple times.
diff --git a/addons/mrp/wizard/change_production_qty.py b/addons/mrp/wizard/change_production_qty.py
index 0725443118e..e92f053780a 100644
--- a/addons/mrp/wizard/change_production_qty.py
+++ b/addons/mrp/wizard/change_production_qty.py
@@ -59,15 +59,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/nb.po b/addons/note/i18n/nb.po
index 14371628afe..2fb4ad9a04d 100644
--- a/addons/note/i18n/nb.po
+++ b/addons/note/i18n/nb.po
@@ -3,17 +3,18 @@
# * note
#
# Translators:
-# Jorunn D. Newth, 2018
-# Martin Trigaux, 2018
-# Marius Stedjan <marius@stedjan.com>, 2018
+# Viktor Basso <viktor@voit.no>, 2018
+# Marius Stedjan <marius@stedjan.com>, 2019
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:17+0000\n"
-"PO-Revision-Date: 2018-08-24 09:21+0000\n"
-"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:49+0000\n"
+"PO-Revision-Date: 2016-08-05 13:06+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,6 +23,16 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: note
+#: model_terms:ir.ui.view,arch_db:note.view_note_note_kanban
+msgid "<i class=\"fa fa-check\" role=\"img\" aria-label=\"Opened\" title=\"Opened\"/>"
+msgstr ""
+
+#. module: note
+#: model_terms:ir.ui.view,arch_db:note.view_note_note_kanban
+msgid "<i class=\"fa fa-undo\" role=\"img\" aria-label=\"Closed\" title=\"Closed\"/>"
+msgstr ""
+
+#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_needaction
msgid "Action Needed"
msgstr "Handling påkrevd"
@@ -93,7 +104,9 @@ msgstr "Etter notatkategori"
#. module: note
#: model:ir.model.fields,help:note.field_mail_activity_type__category
-msgid "Categories may trigger specific behavior like opening calendar view"
+msgid ""
+"Categories may trigger specific behavior like opening calendar view or "
+"automatically mark as done when a document is uploaded"
msgstr ""
#. module: note
@@ -336,6 +349,8 @@ msgid ""
"Notes are private, unless you share them by inviting follower on a note.\n"
" (Useful for meeting minutes)."
msgstr ""
+"Notater er private, men du kan dele dem ved å invitere følgere til enkeltnotater.\n"
+" (Nyttig til for eksempel møtereferater.)"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_needaction_counter
@@ -363,11 +378,6 @@ msgid "Number of unread messages"
msgstr "Antall uleste meldinger"
#. module: note
-#: selection:mail.activity.type,category:0
-msgid "Other"
-msgstr "Annet"
-
-#. module: note
#: selection:note.note,activity_state:0
msgid "Overdue"
msgstr "Forfalt"
@@ -470,6 +480,11 @@ msgid "Stages of Users"
msgstr "Brukerstadier"
#. module: note
+#: selection:mail.activity.type,category:0
+msgid "Standard"
+msgstr "Standard"
+
+#. module: note
#: model:ir.model.fields,help:note.field_note_note__activity_state
msgid ""
"Status based on activities\n"
@@ -477,6 +492,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: note
#: model:ir.model.fields,field_description:note.field_note_tag__name
@@ -527,6 +546,11 @@ msgid "Unread Messages Counter"
msgstr "Teller for uleste meldinger"
#. module: note
+#: selection:mail.activity.type,category:0
+msgid "Upload Document"
+msgstr ""
+
+#. module: note
#: model:ir.model.fields,help:note.field_note_stage__sequence
msgid "Used to order the note stages"
msgstr "Brukt for å holde orden på notatstadiene"
@@ -535,13 +559,3 @@ msgstr "Brukt for å holde orden på notatstadiene"
#: model:ir.model,name:note.model_res_users
msgid "Users"
msgstr "Brukere"
-
-#. module: note
-#: model:ir.model.fields,field_description:note.field_note_note__website_message_ids
-msgid "Website Messages"
-msgstr "Nettstedmeldinger"
-
-#. module: note
-#: model:ir.model.fields,help:note.field_note_note__website_message_ids
-msgid "Website communication history"
-msgstr "Kommunikasjonshistorikk på nettstedet"
diff --git a/addons/note/i18n/pl.po b/addons/note/i18n/pl.po
index ad95bf7ad31..f8f880a055c 100644
--- a/addons/note/i18n/pl.po
+++ b/addons/note/i18n/pl.po
@@ -3,25 +3,26 @@
# * note
#
# Translators:
-# Martin Trigaux, 2018
-# zbik2607 <darek@krokus.com.pl>, 2018
-# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2018
-# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2018
-# Tomasz Leppich <t.leppich@gmail.com>, 2018
-# Piotr Szlązak <szlazakpiotr@gmail.com>, 2018
-# zieloo <zieloo@gmail.com>, 2018
-# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2018
-# Maciej Wichowski <maciej.wichowski@openglobe.pl>, 2018
-# Andrzej Donczew <a.donczew@hadron.eu.com>, 2018
# Paweł Wodyński <pw@myodoo.pl>, 2018
+# Piotr Cierkosz <piotr.w.cierkosz@gmail.com>, 2019
+# Martin Trigaux, 2019
+# Dariusz Żbikowski <darek@krokus.com.pl>, 2019
+# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2019
+# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2019
+# Tomasz Leppich <t.leppich@gmail.com>, 2019
+# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2019
+# Maciej Wichowski <maciej.wichowski@openglobe.pl>, 2019
+# Andrzej Donczew <a.donczew@hadron.eu.com>, 2019
+# Piotr Szlązak <szlazakpiotr@gmail.com>, 2019
+# Karol Rybak <karolrybak85@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:17+0000\n"
-"PO-Revision-Date: 2018-08-24 09:21+0000\n"
-"Last-Translator: Paweł Wodyński <pw@myodoo.pl>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:49+0000\n"
+"PO-Revision-Date: 2016-08-05 13:06+0000\n"
+"Last-Translator: Karol Rybak <karolrybak85@gmail.com>, 2019\n"
"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,6 +31,16 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: note
+#: model_terms:ir.ui.view,arch_db:note.view_note_note_kanban
+msgid "<i class=\"fa fa-check\" role=\"img\" aria-label=\"Opened\" title=\"Opened\"/>"
+msgstr ""
+
+#. module: note
+#: model_terms:ir.ui.view,arch_db:note.view_note_note_kanban
+msgid "<i class=\"fa fa-undo\" role=\"img\" aria-label=\"Closed\" title=\"Closed\"/>"
+msgstr ""
+
+#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_needaction
msgid "Action Needed"
msgstr "Wymagana akcja"
@@ -68,7 +79,7 @@ msgstr ""
#. module: note
#: model_terms:ir.actions.act_window,help:note.note_tag_action
msgid "Add a new tag"
-msgstr ""
+msgstr "Dodaj nowy tag"
#. module: note
#. openerp-web
@@ -92,7 +103,7 @@ msgstr "Archiwizuj"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_attachment_count
msgid "Attachment Count"
-msgstr ""
+msgstr "Ilość Załączników"
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
@@ -101,7 +112,9 @@ msgstr "Według kategorii karteczki"
#. module: note
#: model:ir.model.fields,help:note.field_mail_activity_type__category
-msgid "Categories may trigger specific behavior like opening calendar view"
+msgid ""
+"Categories may trigger specific behavior like opening calendar view or "
+"automatically mark as done when a document is uploaded"
msgstr ""
#. module: note
@@ -161,7 +174,7 @@ msgstr "Nazwa wyświetlana"
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_kanban
msgid "Dropdown menu"
-msgstr ""
+msgstr "Manu typu dropdown"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_stage__fold
@@ -219,6 +232,7 @@ msgstr "Jeśli zaznaczone, to nowa wiadomość wymaga twojej uwagi."
#: model:ir.model.fields,help:note.field_note_note__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
+"Jesli zaznaczone, część wiadomości napotkało na błąd przy próbie doręczenia."
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_is_follower
@@ -254,7 +268,7 @@ msgstr "Spóźnione czynności"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_main_attachment_id
msgid "Main Attachment"
-msgstr ""
+msgstr "Główny Załącznik"
#. module: note
#: selection:mail.activity.type,category:0
@@ -269,7 +283,7 @@ msgstr ""
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_has_error
msgid "Message Delivery error"
-msgstr ""
+msgstr "Błąd Doręczenia wiadomosci"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_ids
@@ -353,7 +367,7 @@ msgstr "Liczba akcji"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_has_error_counter
msgid "Number of error"
-msgstr ""
+msgstr "Numer błedu"
#. module: note
#: model:ir.model.fields,help:note.field_note_note__message_needaction_counter
@@ -363,7 +377,7 @@ msgstr "Liczba wiadomości wymagających akcji"
#. module: note
#: model:ir.model.fields,help:note.field_note_note__message_has_error_counter
msgid "Number of messages with delivery error"
-msgstr ""
+msgstr "Ilośc wiadomości z błedami przy doręczeniu"
#. module: note
#: model:ir.model.fields,help:note.field_note_note__message_unread_counter
@@ -371,11 +385,6 @@ msgid "Number of unread messages"
msgstr "Liczba nieprzeczytanych wiadomości"
#. module: note
-#: selection:mail.activity.type,category:0
-msgid "Other"
-msgstr "Inne"
-
-#. module: note
#: selection:note.note,activity_state:0
msgid "Overdue"
msgstr "Przeterminowane"
@@ -412,7 +421,7 @@ msgstr ""
#: selection:mail.activity.type,category:0
#: model:mail.activity.type,name:note.mail_activity_data_reminder
msgid "Reminder"
-msgstr ""
+msgstr "Przypomnienie"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__activity_user_id
@@ -478,6 +487,11 @@ msgid "Stages of Users"
msgstr "Etapy użytkowników"
#. module: note
+#: selection:mail.activity.type,category:0
+msgid "Standard"
+msgstr "Standard"
+
+#. module: note
#: model:ir.model.fields,help:note.field_note_note__activity_state
msgid ""
"Status based on activities\n"
@@ -485,6 +499,10 @@ msgid ""
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
+"Status bazuje na aktywnościach\n"
+"Opóźnione: Data \"do\" minęła\n"
+"Dziś: Aktywnośc przewidziana na dziś\n"
+"Zaplanowane: Przyszłe aktywności."
#. module: note
#: model:ir.model.fields,field_description:note.field_note_tag__name
@@ -504,7 +522,7 @@ msgstr "Nazwa znacznika już istnieje!"
#: model_terms:ir.ui.view,arch_db:note.note_tag_view_tree
#: model_terms:ir.ui.view,arch_db:note.view_note_note_form
msgid "Tags"
-msgstr "Tagi"
+msgstr "Znaczniki"
#. module: note
#. openerp-web
@@ -535,6 +553,11 @@ msgid "Unread Messages Counter"
msgstr "Licznik nieprzeczytanych wiadomości"
#. module: note
+#: selection:mail.activity.type,category:0
+msgid "Upload Document"
+msgstr ""
+
+#. module: note
#: model:ir.model.fields,help:note.field_note_stage__sequence
msgid "Used to order the note stages"
msgstr "Stosowane do porządkowania notatek etapów"
@@ -543,13 +566,3 @@ msgstr "Stosowane do porządkowania notatek etapów"
#: model:ir.model,name:note.model_res_users
msgid "Users"
msgstr "Użytkownicy"
-
-#. module: note
-#: model:ir.model.fields,field_description:note.field_note_note__website_message_ids
-msgid "Website Messages"
-msgstr "Wiadomości"
-
-#. module: note
-#: model:ir.model.fields,help:note.field_note_note__website_message_ids
-msgid "Website communication history"
-msgstr "Historia komunikacji"
diff --git a/addons/payment/controllers/portal.py b/addons/payment/controllers/portal.py
index 90c0065b643..db9aec543a6 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 afe8bccf2dd..fa899c15c8b 100644
--- a/addons/payment/i18n/de.po
+++ b/addons/payment/i18n/de.po
@@ -870,13 +870,13 @@ msgstr ""
#: 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/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/hu.po b/addons/point_of_sale/i18n/hu.po
index 9ffcbe65699..cad13341119 100644
--- a/addons/point_of_sale/i18n/hu.po
+++ b/addons/point_of_sale/i18n/hu.po
@@ -2358,7 +2358,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/models/pos_config.py b/addons/point_of_sale/models/pos_config.py
index 8643735b642..ab0c675d9a7 100644
--- a/addons/point_of_sale/models/pos_config.py
+++ b/addons/point_of_sale/models/pos_config.py
@@ -244,7 +244,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 df5350216af..2136395c439 100644
--- a/addons/point_of_sale/models/pos_session.py
+++ b/addons/point_of_sale/models/pos_session.py
@@ -225,7 +225,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).with_user(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 59adba108db..085a3fd6178 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
@@ -139,6 +139,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/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 2f1a4859888..7b7ee87c423 100644
--- a/addons/portal/views/portal_templates.xml
+++ b/addons/portal/views/portal_templates.xml
@@ -344,8 +344,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_sale/i18n/de.po b/addons/pos_sale/i18n/de.po
index 742b05323ad..8785889c77a 100644
--- a/addons/pos_sale/i18n/de.po
+++ b/addons/pos_sale/i18n/de.po
@@ -3,15 +3,20 @@
# * pos_sale
#
# Translators:
-# Martin Trigaux, 2018
-# JackTheHunter <Maximilian.N98@gmail.com>, 2018
+# Jan Brodersen <4rmitxes@gmail.com>, 2017
+# e2f <projects@e2f.com>, 2018
+# Martin Trigaux, 2019
+# JackTheHunter <Maximilian.N98@gmail.com>, 2019
+# Chris Egal <sodaswed@web.de>, 2019
+# Leon Grill <leg@odoo.com>, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:16+0000\n"
-"PO-Revision-Date: 2018-09-21 13:16+0000\n"
-"Last-Translator: JackTheHunter <Maximilian.N98@gmail.com>, 2018\n"
+"POT-Creation-Date: 2018-12-24 10:57+0000\n"
+"PO-Revision-Date: 2017-02-15 10:52+0000\n"
+"Last-Translator: Leon Grill <leg@odoo.com>, 2019\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,6 +25,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_sale
+#: model_terms:ir.ui.view,arch_db:pos_sale.pos_config_view_form_pos_sale
+msgid "<span class=\"o_form_label\">Sales Team</span>"
+msgstr "<span class=\"o_form_label\">Verkaufsteam</span>"
+
+#. module: pos_sale
#: selection:sale.report,state:0
msgid "Cancelled"
msgstr "Abgebrochen"
@@ -30,42 +40,16 @@ msgid "Currency Rate"
msgstr "Wechselkurs"
#. module: pos_sale
-#: code:addons/pos_sale/models/crm_team.py:107
-#, python-format
-msgid "Dashboard"
-msgstr "Dashboard"
-
-#. module: pos_sale
-#: selection:crm.team,dashboard_graph_group_pos:0
-msgid "Day"
-msgstr "Tag"
-
-#. module: pos_sale
#: selection:sale.report,state:0
msgid "Draft Quotation"
msgstr "Angebotsentwurf"
#. module: pos_sale
-#: model_terms:ir.ui.view,arch_db:pos_sale.crm_team_view_form_inherit_pos_sale
-msgid "Group by"
-msgstr "Gruppiert nach"
-
-#. 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 "So gruppiert dieses Dashboard-Diagramm des Kanals die Ergebnisse."
-
-#. module: pos_sale
#: selection:sale.report,state:0
msgid "Invoiced"
msgstr "Abgerechnet"
#. module: pos_sale
-#: selection:crm.team,dashboard_graph_group_pos:0
-msgid "Month"
-msgstr "Monat"
-
-#. module: pos_sale
#: selection:sale.report,state:0
msgid "New"
msgstr "Neu"
@@ -81,22 +65,11 @@ msgid "Open Sessions"
msgstr "Sitzungen öffnen"
#. module: pos_sale
-#: model:ir.model.fields,field_description:pos_sale.field_crm_team__dashboard_graph_group_pos
-msgid "POS Grouping"
-msgstr ""
-
-#. module: pos_sale
#: selection:sale.report,state:0
msgid "Paid"
msgstr "Bezahlt"
#. module: pos_sale
-#: selection:crm.team,dashboard_graph_group_pos:0
-#: model:crm.team,name:pos_sale.pos_sales_team selection:crm.team,team_type:0
-msgid "Point of Sale"
-msgstr "Point of Sale"
-
-#. module: pos_sale
#: model:ir.model,name:pos_sale.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Point Of Sale Konfiguration"
@@ -127,15 +100,9 @@ msgid "Quotation Sent"
msgstr "Angebot gesendet"
#. module: pos_sale
-#: selection:crm.team,team_type:0
-#: model_terms:ir.ui.view,arch_db:pos_sale.crm_team_salesteams_view_kanban_inherit_pos_sale
-msgid "Sales"
-msgstr "Verkauf"
-
-#. module: pos_sale
#: model:ir.model,name:pos_sale.model_sale_report
msgid "Sales Analysis Report"
-msgstr ""
+msgstr "Verkaufsanalysebericht"
#. module: pos_sale
#: model:ir.model,name:pos_sale.model_crm_team
@@ -153,21 +120,20 @@ msgid "Sales Order"
msgstr "Verkaufsauftrag"
#. module: pos_sale
+#: model_terms:ir.ui.view,arch_db:pos_sale.pos_config_view_form_pos_sale
+msgid "Sales Reporting"
+msgstr "Verkaufs-berichtswesen"
+
+#. module: pos_sale
#: model:ir.model.fields,field_description:pos_sale.field_pos_config__crm_team_id
#: model:ir.model.fields,field_description:pos_sale.field_pos_session__crm_team_id
msgid "Sales Team"
msgstr "Verkaufsteam"
#. module: pos_sale
-#: code:addons/pos_sale/models/crm_team.py:119
-#, python-format
-msgid "Sales: Untaxed Amount"
-msgstr "Verkauf: Nettobetrag"
-
-#. module: pos_sale
-#: selection:crm.team,dashboard_graph_group_pos:0
-msgid "Salesperson"
-msgstr "Verkäufer"
+#: model_terms:ir.ui.view,arch_db:pos_sale.pos_config_view_form_pos_sale
+msgid "Sales are reported to the following sales team"
+msgstr "Die Umsätze werden an das folgende Vertriebsteam gemeldet"
#. module: pos_sale
#: model_terms:ir.ui.view,arch_db:pos_sale.crm_team_salesteams_view_kanban_inherit_pos_sale
@@ -190,37 +156,16 @@ msgid "Status"
msgstr "Status"
#. module: pos_sale
-#: model:ir.model.fields,field_description:pos_sale.field_crm_team__team_type
-msgid "Team Type"
-msgstr ""
-
-#. module: pos_sale
#: model:ir.model.fields,help:pos_sale.field_pos_order__currency_rate
msgid ""
"The rate of the currency to the currency of rate applicable at the date of "
"the order"
-msgstr ""
-
-#. module: pos_sale
-#: model:ir.model.fields,help:pos_sale.field_crm_team__team_type
-msgid ""
-"The type of this channel, it will define the resources this channel uses."
-msgstr ""
-"Der Typ dieses Kanals, er definiert die Ressourcen, die dieser Kanal "
-"verwendet."
+msgstr "Es gilt immer der Wechselkurs am Tag der Bestellung"
#. module: pos_sale
#: model:ir.model.fields,help:pos_sale.field_pos_config__crm_team_id
#: model:ir.model.fields,help:pos_sale.field_pos_session__crm_team_id
msgid "This Point of sale's sales will be related to this Sales Team."
msgstr ""
-
-#. module: pos_sale
-#: selection:crm.team,team_type:0
-msgid "Website"
-msgstr "Website"
-
-#. module: pos_sale
-#: selection:crm.team,dashboard_graph_group_pos:0
-msgid "Week"
-msgstr "Woche"
+"Die Verkäufe dieser Verkaufsstelle stehen in Beziehung zu diesem "
+"Verkaufsteam."
diff --git a/addons/product/models/res_partner.py b/addons/product/models/res_partner.py
index 2b298a1715d..18e2750ccdf 100644
--- a/addons/product/models/res_partner.py
+++ b/addons/product/models/res_partner.py
@@ -33,7 +33,7 @@ class Partner(models.Model):
# update at each change country, and so erase old pricelist
if partner.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
- partner.env['ir.property'].with_context(force_company=self.env.company.id).sudo().set_multi(
+ self.env['ir.property'].with_context(force_company=self._context.get('force_company', self.env.company.id)).sudo().set_multi(
'property_product_pricelist',
partner._name,
{partner.id: partner.property_product_pricelist or default_for_country.id},
diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml
index 90f6b9d9aa5..27f53bc8f9d 100644
--- a/addons/purchase/views/purchase_views.xml
+++ b/addons/purchase/views/purchase_views.xml
@@ -501,6 +501,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="context">{'quotation_only': True}</field>
<field name="help" type="html">
diff --git a/addons/purchase_stock/models/purchase.py b/addons/purchase_stock/models/purchase.py
index 572b5c0a8c2..cd7192ec7fe 100644
--- a/addons/purchase_stock/models/purchase.py
+++ b/addons/purchase_stock/models/purchase.py
@@ -273,7 +273,7 @@ class PurchaseOrderLine(models.Model):
def write(self, values):
for line in self:
if values.get('date_planned') and line.propagate_date:
- new_date = values['date_planned']
+ new_date = fields.Datetime.to_datetime(values['date_planned'])
delta_days = (new_date - line.date_planned).total_seconds() / 86400
if abs(delta_days) < line.propagate_date_minimum_delta:
continue
diff --git a/addons/repair/i18n/hu.po b/addons/repair/i18n/hu.po
index 89c02d73a56..9150237e051 100644
--- a/addons/repair/i18n/hu.po
+++ b/addons/repair/i18n/hu.po
@@ -3,20 +3,20 @@
# * repair
#
# Translators:
-# Martin Trigaux, 2018
+# Kovács Tibor <kovika@gmail.com>, 2018
# krnkris, 2018
# gezza <geza.nagy@oregional.hu>, 2018
-# Kovács Tibor <kovika@gmail.com>, 2018
-# Ákos Nagy <akos.nagy@oregional.hu>, 2018
-# Tibor Kőnig <konig.tibor@evitalit.hu>, 2018
+# Tibor Kőnig <konig.tibor@evitalit.hu>, 2019
+# Martin Trigaux, 2019
+# Ákos Nagy <akos.nagy@oregional.hu>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"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: Tibor Kőnig <konig.tibor@evitalit.hu>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:51+0000\n"
+"PO-Revision-Date: 2018-03-22 16:02+0000\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"
@@ -207,7 +207,7 @@ msgstr "Javítási rendelés visszavonás"
#. module: repair
#: selection:repair.line,state:0 selection:repair.order,state:0
msgid "Cancelled"
-msgstr "Visszavonva"
+msgstr "Törölve"
#. module: repair
#: code:addons/repair/models/repair.py:244
@@ -295,7 +295,7 @@ msgstr "Létrehozva"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__partner_id
msgid "Customer"
-msgstr "Vevő"
+msgstr "Vásárló"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__default_address_id
@@ -337,7 +337,7 @@ msgstr "Biztosan létre akarja hozni a számlá(ka)t?"
#. module: repair
#: selection:repair.line,state:0
msgid "Done"
-msgstr "Kész"
+msgstr "Elvégezve"
#. module: repair
#: selection:repair.line,state:0
@@ -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
@@ -382,7 +382,7 @@ msgstr "Követők (Partnerek)"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
msgid "Future Activities"
-msgstr ""
+msgstr "Jövőbeli tevékenységek"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
@@ -423,6 +423,7 @@ msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
#: model:ir.model.fields,help:repair.field_repair_order__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
+"Ha be van jelölve, akkor néhány üzenetnél kézbesítési hiba lépett fel."
#. module: repair
#: model_terms:ir.actions.act_window,help:repair.action_repair_order_tree
@@ -439,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
@@ -466,7 +467,7 @@ msgstr "Számlázási kivétel"
#: model:ir.model.fields,field_description:repair.field_repair_fee__invoice_line_id
#: model:ir.model.fields,field_description:repair.field_repair_line__invoice_line_id
msgid "Invoice Line"
-msgstr "Számlasor"
+msgstr "Számla tételsor"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__invoice_method
@@ -515,7 +516,7 @@ msgstr "Ő egy követő"
#: model:ir.model.fields,field_description:repair.field_repair_order_make_invoice____last_update
#: model:ir.model.fields,field_description:repair.field_stock_warn_insufficient_qty_repair____last_update
msgid "Last Modified on"
-msgstr "Legutóbb frissítve"
+msgstr "Utoljára módosítva"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_cancel__write_uid
@@ -525,7 +526,7 @@ msgstr "Legutóbb frissítve"
#: model:ir.model.fields,field_description:repair.field_repair_order_make_invoice__write_uid
#: model:ir.model.fields,field_description:repair.field_stock_warn_insufficient_qty_repair__write_uid
msgid "Last Updated by"
-msgstr "Legutóbb frissítette"
+msgstr "Utoljára frissítette"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_cancel__write_date
@@ -535,12 +536,12 @@ msgstr "Legutóbb frissítette"
#: model:ir.model.fields,field_description:repair.field_repair_order_make_invoice__write_date
#: model:ir.model.fields,field_description:repair.field_stock_warn_insufficient_qty_repair__write_date
msgid "Last Updated on"
-msgstr "Legutóbb frissítve "
+msgstr "Utoljára frissítve "
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter
msgid "Late Activities"
-msgstr ""
+msgstr "Késő tevékenységek"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__location_id
@@ -557,12 +558,12 @@ msgstr "Szett/Széria"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_main_attachment_id
msgid "Main Attachment"
-msgstr ""
+msgstr "Fő melléklet"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_has_error
msgid "Message Delivery error"
-msgstr ""
+msgstr "Üzenetkézbesítési hiba"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_ids
@@ -587,7 +588,7 @@ msgstr "Tevékenységeim"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__activity_date_deadline
msgid "Next Activity Deadline"
-msgstr ""
+msgstr "Következő tevékenység-határidő"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__activity_summary
@@ -597,7 +598,7 @@ msgstr "Következő tevékenység összegzése"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__activity_type_id
msgid "Next Activity Type"
-msgstr ""
+msgstr "Következő tevékenységtípus"
#. module: repair
#: selection:repair.order,invoice_method:0
@@ -650,7 +651,7 @@ msgstr "Műveletek száma"
#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_has_error_counter
msgid "Number of error"
-msgstr ""
+msgstr "Hiba száma"
#. module: repair
#: model:ir.model.fields,help:repair.field_repair_order__message_needaction_counter
@@ -660,7 +661,7 @@ msgstr "Üzenetek száma, melyek akciót igényelnek"
#. module: repair
#: model:ir.model.fields,help:repair.field_repair_order__message_has_error_counter
msgid "Number of messages with delivery error"
-msgstr ""
+msgstr "Kézbesítési hibával rendelkező üzenetek száma"
#. module: repair
#: model:ir.model.fields,help:repair.field_repair_order__message_unread_counter
@@ -698,7 +699,7 @@ msgstr ""
#. module: repair
#: selection:repair.order,activity_state:0
msgid "Planned"
-msgstr ""
+msgstr "Tervezett"
#. module: repair
#: model_terms:ir.ui.view,arch_db:repair.report_repairorder
@@ -853,6 +854,12 @@ msgid "Repair Reference"
msgstr "Hivatkozás javításra"
#. module: repair
+#: model:product.product,name:repair.product_service_order_repair
+#: model:product.template,name:repair.product_service_order_repair_product_template
+msgid "Repair Services"
+msgstr ""
+
+#. module: repair
#: code:addons/repair/models/repair.py:196
#, python-format
msgid "Repair must be canceled in order to reset it to draft."
@@ -968,6 +975,10 @@ msgid ""
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
+"Tevékenységeken alapuló állapot\n"
+"Lejárt: Az esedékesség dátuma már elmúlt\n"
+"Ma: A tevékenység dátuma ma van\n"
+"Tervezett: Jövőbeli tevékenységek."
#. module: repair
#: model:ir.model,name:repair.model_stock_move
@@ -1095,6 +1106,12 @@ msgid "Unit of Measure"
msgstr "Mértékegység"
#. module: repair
+#: model:product.product,uom_name:repair.product_service_order_repair
+#: model:product.template,uom_name:repair.product_service_order_repair_product_template
+msgid "Unit(s)"
+msgstr "Egység(ek)"
+
+#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_unread
msgid "Unread Messages"
msgstr "Olvasatlan üzenetek"
diff --git a/addons/repair/i18n/nb.po b/addons/repair/i18n/nb.po
index 5d8af69d7d4..25f54c909a0 100644
--- a/addons/repair/i18n/nb.po
+++ b/addons/repair/i18n/nb.po
@@ -3,15 +3,17 @@
# * repair
#
# Translators:
-# Martin Trigaux, 2018
-# Jorunn D. Newth, 2018
+# Viktor Basso <viktor@voit.no>, 2018
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\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: Jorunn D. Newth, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:51+0000\n"
+"PO-Revision-Date: 2018-03-22 16:02+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -838,6 +840,12 @@ msgid "Repair Reference"
msgstr "Reparasjonsreferanse"
#. module: repair
+#: model:product.product,name:repair.product_service_order_repair
+#: model:product.template,name:repair.product_service_order_repair_product_template
+msgid "Repair Services"
+msgstr ""
+
+#. module: repair
#: code:addons/repair/models/repair.py:196
#, python-format
msgid "Repair must be canceled in order to reset it to draft."
@@ -948,6 +956,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: repair
#: model:ir.model,name:repair.model_stock_move
@@ -1070,6 +1082,12 @@ msgid "Unit of Measure"
msgstr "Måleenhet"
#. module: repair
+#: model:product.product,uom_name:repair.product_service_order_repair
+#: model:product.template,uom_name:repair.product_service_order_repair_product_template
+msgid "Unit(s)"
+msgstr "Enhet(er)"
+
+#. module: repair
#: model:ir.model.fields,field_description:repair.field_repair_order__message_unread
msgid "Unread Messages"
msgstr "Uleste meldinger"
diff --git a/addons/sale/i18n/nb.po b/addons/sale/i18n/nb.po
index f5afcba0260..8db495b4c70 100644
--- a/addons/sale/i18n/nb.po
+++ b/addons/sale/i18n/nb.po
@@ -676,14 +676,14 @@ msgstr "Banknavn"
#: selection:payment.acquirer,so_reference_type:0
#, python-format
msgid "Based on Customer ID"
-msgstr ""
+msgstr "Basert på kunde-ID"
#. module: sale
#: code:addons/sale/models/payment.py:13
#: selection:payment.acquirer,so_reference_type:0
#, python-format
msgid "Based on Document Reference"
-msgstr ""
+msgstr "Basert på dokumentreferanse"
#. module: sale
#: model:product.template.attribute.value,name:sale.product_template_attribute_value_5
@@ -3354,6 +3354,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: sale
#: model:product.template.attribute.value,name:sale.product_template_attribute_value_3
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_coupon/models/sale_order.py b/addons/sale_coupon/models/sale_order.py
index 6c0fa712229..fc49b4abc73 100644
--- a/addons/sale_coupon/models/sale_order.py
+++ b/addons/sale_coupon/models/sale_order.py
@@ -209,9 +209,9 @@ class SaleOrder(models.Model):
def _get_reward_line_values(self, program):
self.ensure_one()
if program.reward_type == 'discount':
- return self._get_reward_values_discount(program)
+ return self._get_reward_values_discount(program.with_context(lang=self.partner_id.lang))
elif program.reward_type == 'product':
- return [self._get_reward_values_product(program)]
+ return [self._get_reward_values_product(program.with_context(lang=self.partner_id.lang))]
def _create_reward_line(self, program):
self.write({'order_line': [(0, False, value) for value in self._get_reward_line_values(program)]})
diff --git a/addons/sale_management/i18n/de.po b/addons/sale_management/i18n/de.po
index 3ad6e819781..f619ea4f9b8 100644
--- a/addons/sale_management/i18n/de.po
+++ b/addons/sale_management/i18n/de.po
@@ -3,20 +3,24 @@
# * sale_management
#
# Translators:
-# Martin Trigaux, 2018
-# DE R1 <e2fes1@hotmail.com>, 2018
-# DE T2 <e2f48d4s5vd1s2@outlook.com>, 2018
-# Ermin Trevisan <trevi@twanda.com>, 2018
-# Rudolf Schnapka <rs@techno-flex.de>, 2018
-# Mathias Markl <mathias.markl@mukit.at>, 2018
-# Johannes Croe <jcr@odoo.com>, 2018
+# Wolfgang Taferner, 2017
+# 4e7311735ad180fde514b5b19202d965, 2019
+# DE T2 <e2f48d4s5vd1s2@outlook.com>, 2019
+# Ermin Trevisan <trevi@twanda.com>, 2019
+# Rudolf Schnapka <rs@techno-flex.de>, 2019
+# Mathias Markl <mathias.markl@mukit.at>, 2019
+# Johannes Croe <jcr@odoo.com>, 2019
+# Martin Trigaux, 2019
+# Chris Egal <sodaswed@web.de>, 2019
+# Leon Grill <leg@odoo.com>, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-08 06:48+0000\n"
-"PO-Revision-Date: 2018-10-08 06:48+0000\n"
-"Last-Translator: Johannes Croe <jcr@odoo.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:49+0000\n"
+"PO-Revision-Date: 2017-12-13 14:57+0000\n"
+"Last-Translator: Leon Grill <leg@odoo.com>, 2019\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -33,15 +37,7 @@ msgstr "% Rabatt"
#. module: sale_management
#: model:sale.order.template.line,name:sale_management.sale_order_template_line_1
msgid "4 Person Desk"
-msgstr ""
-
-#. module: sale_management
-#: model_terms:ir.ui.view,arch_db:sale_management.res_config_settings_view_form
-msgid ""
-"<em attrs=\"{'invisible': "
-"[('module_sale_quotation_builder','=',False)]}\">Warning: this option will "
-"install the Website app.</em>"
-msgstr ""
+msgstr "Schreibtisch für 4 Personen"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
@@ -51,7 +47,7 @@ msgstr "<span>Rabatt</span>"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.report_saleorder_document_inherit_sale_management
msgid "<span>Optional Products</span>"
-msgstr ""
+msgstr "<span>Optionale Produkte</span>"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_template__active
@@ -77,7 +73,7 @@ msgstr "Unterteilung hinzufügen"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
msgid "Add one"
-msgstr ""
+msgstr "Hinzufügen"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
@@ -92,7 +88,7 @@ msgstr "Zu Auftragszeilen hinzufügen"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_digest_digest__kpi_all_sale_total
msgid "All Sales"
-msgstr ""
+msgstr "Alle Verkäufe"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_template_view_search
@@ -132,12 +128,12 @@ msgstr "Rechnung erzeugen"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.res_config_settings_view_form
msgid "Create standardized offers with default products"
-msgstr ""
+msgstr "Erstellen Sie standardisierte Angebote mit Standardprodukten"
#. module: sale_management
#: model_terms:ir.actions.act_window,help:sale_management.sale_order_template_action
msgid "Create your quotation template"
-msgstr ""
+msgstr "Erstellen Sie Ihre Angebotsvorlage"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_option__create_uid
@@ -171,7 +167,9 @@ msgstr "Beschreibung"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.res_config_settings_view_form
-msgid "Design your quotation templates using building blocks<br/>"
+msgid ""
+"Design your quotation templates using building blocks<br/>\n"
+" <em attrs=\"{'invisible': [('module_sale_quotation_builder','=',False)]}\">Warning: this option will install the Website app.</em>"
msgstr ""
#. module: sale_management
@@ -204,6 +202,7 @@ msgstr "Anzeigetyp"
#, python-format
msgid "Do not have access, skip this data for user's digest email"
msgstr ""
+"Kein Zugriff, überspringen Sie diese Daten für die E-Mail des Benutzers"
#. module: sale_management
#: sql_constraint:sale.order.template.line:0
@@ -216,6 +215,7 @@ msgstr ""
#: model:ir.model.fields,help:sale_management.field_sale_order_option__sequence
msgid "Gives the sequence order when displaying a list of optional products."
msgstr ""
+"Gibt die Reihenfolge beim Anzeigen einer Liste optionaler Produkte an."
#. module: sale_management
#: model:ir.model.fields,help:sale_management.field_sale_order_template_line__sequence
@@ -298,7 +298,7 @@ msgstr "Anzahl der Tage für die Berechnung des Gültigkeitsdatums des Angebots"
#. module: sale_management
#: model:sale.order.template.option,name:sale_management.sale_order_template_option_1
msgid "Office Chair"
-msgstr ""
+msgstr "Büro Stuhl"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_template__require_payment
@@ -350,6 +350,11 @@ msgid "Quantity"
msgstr "Menge"
#. module: sale_management
+#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_form_quote
+msgid "Quantity:"
+msgstr "Menge:"
+
+#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_res_config_settings__module_sale_quotation_builder
msgid "Quotation Builder"
msgstr ""
@@ -411,7 +416,7 @@ msgstr "Löschen"
#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management
msgid "Remove one"
-msgstr ""
+msgstr "Entfernen"
#. module: sale_management
#: model:ir.model.fields,help:sale_management.field_sale_order_template__require_signature
@@ -419,6 +424,8 @@ msgid ""
"Request a online signature to the customer in order to confirm orders "
"automatically."
msgstr ""
+"Beantragung einer Online-Signatur an den Kunden, um Bestellungen automatisch"
+" zu bestätigen."
#. module: sale_management
#: model:ir.model.fields,help:sale_management.field_sale_order_template__require_payment
@@ -426,6 +433,8 @@ msgid ""
"Request an online payment to the customer in order to confirm orders "
"automatically."
msgstr ""
+"Fordern Sie eine Online-Zahlung an den Kunden an, um Bestellungen "
+"automatisch zu bestätigen."
#. module: sale_management
#: model:ir.model,name:sale_management.model_sale_order_option
@@ -433,16 +442,16 @@ msgid "Sale Options"
msgstr "Verkaufsalternativen"
#. module: sale_management
-#: model:ir.model,name:sale_management.model_sale_order
-msgid "Sale Order"
-msgstr "Verkaufsauftrag"
-
-#. module: sale_management
#: model_terms:ir.ui.view,arch_db:sale_management.digest_digest_view_form
msgid "Sales"
msgstr "Verkauf"
#. module: sale_management
+#: model:ir.model,name:sale_management.model_sale_order
+msgid "Sales Order"
+msgstr "Verkaufsauftrag"
+
+#. module: sale_management
#: model:ir.model,name:sale_management.model_sale_order_line
msgid "Sales Order Line"
msgstr "Auftragsposition"
@@ -477,7 +486,7 @@ msgstr "Nummernfolge"
#. module: sale_management
#: model:ir.model.fields,help:sale_management.field_sale_order_template_line__display_type
msgid "Technical field for UX purpose."
-msgstr ""
+msgstr "Technisches Feld für den UX zweck"
#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_template__note
@@ -512,6 +521,11 @@ msgid "Unit Price"
msgstr "Preis pro ME"
#. module: sale_management
+#: model_terms:ir.ui.view,arch_db:sale_management.sale_order_form_quote
+msgid "Unit Price:"
+msgstr "Preis pro Einheit"
+
+#. module: sale_management
#: model:ir.model.fields,field_description:sale_management.field_sale_order_template_line__product_uom_id
msgid "Unit of Measure"
msgstr "Mengeneinheit"
@@ -531,7 +545,7 @@ msgid ""
msgstr ""
#. module: sale_management
-#: code:addons/sale_management/models/sale_order.py:178
+#: code:addons/sale_management/models/sale_order.py:193
#, python-format
msgid "You cannot add options to a confirmed order."
msgstr ""
diff --git a/addons/sale_purchase/i18n/hu.po b/addons/sale_purchase/i18n/hu.po
index 59d2138cefe..3e7d7635902 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_stock/i18n/hu.po b/addons/sale_stock/i18n/hu.po
index 417d604039e..a0d6513bc52 100644
--- a/addons/sale_stock/i18n/hu.po
+++ b/addons/sale_stock/i18n/hu.po
@@ -198,7 +198,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/snailmail/i18n/pl.po b/addons/snailmail/i18n/pl.po
index 6ceab4bb939..418704eea2f 100644
--- a/addons/snailmail/i18n/pl.po
+++ b/addons/snailmail/i18n/pl.po
@@ -3,22 +3,25 @@
# * snailmail
#
# Translators:
-# zbik2607 <darek@krokus.com.pl>, 2018
-# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2018
-# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2018
-# Piotr Szlązak <szlazakpiotr@gmail.com>, 2018
-# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2018
-# Andrzej Donczew <a.donczew@hadron.eu.com>, 2018
-# Martin Trigaux, 2018
-# Maksym <ms@myodoo.pl>, 2018
+# Martin Trigaux, 2019
+# Dariusz Żbikowski <darek@krokus.com.pl>, 2019
+# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2019
+# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2019
+# Piotr Szlązak <szlazakpiotr@gmail.com>, 2019
+# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2019
+# Andrzej Donczew <a.donczew@hadron.eu.com>, 2019
+# Piotr Cierkosz <piotr.w.cierkosz@gmail.com>, 2019
+# Wiktor Kaźmierczak <wik92tor@wp.pl>, 2019
+# Maksym <ms@myodoo.pl>, 2019
+# Karol Rybak <karolrybak85@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-30 12:25+0000\n"
-"PO-Revision-Date: 2018-08-24 09:25+0000\n"
-"Last-Translator: Maksym <ms@myodoo.pl>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:50+0000\n"
+"PO-Revision-Date: 2019-03-20 14:59+0000\n"
+"Last-Translator: Karol Rybak <karolrybak85@gmail.com>, 2019\n"
"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,23 +30,102 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:249
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:222
+#, python-format
+msgid ""
+"<p>An unknown error occured. Please contact our <a "
+"href=\"https://www.odoo.com/help\" target=\"new\">support</a> for further "
+"assistance.</p>"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:190
+#, python-format
+msgid ""
+"<p>The country to which you want to send the letter is not supported by our "
+"service.</p>"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:137
+#, python-format
+msgid ""
+"<p>The letter could not be sent due to insufficient credits on your IAP "
+"account.</p><div class= \"text-right\"><a class=\"btn btn-link buy_credits\""
+" href=%s><i class= \"fa fa-arrow-right\"/> Buy credits</a></div>"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:205
+#, python-format
+msgid ""
+"<p>You need credits on your IAP account to send a letter.</p><div class= "
+"\"text-right\"><a class=\"btn btn-link buy_credits\" href=%s><i class= \"fa "
+"fa-arrow-right\"/> Buy credits</a></div>"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_res_company__snailmail_cover
+#: model:ir.model.fields,field_description:snailmail.field_res_config_settings__snailmail_cover
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__snailmail_cover
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+msgid "Add a Cover Page"
+msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "Address"
+msgstr "Adres"
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/mail_failure.js:21
+#, python-format
+msgid "An error occured when sending a letter with Snailmail"
+msgstr ""
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:320
#, python-format
msgid "An error occured when sending the document by post.<br>Error: %s"
msgstr ""
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:215
+#: code:addons/snailmail/models/snailmail_letter.py:273
#, python-format
msgid "An unknown error happened. Please contact the support."
msgstr ""
#. module: snailmail
+#: code:addons/snailmail/wizard/snailmail_letter_cancel.py:15
+#, python-format
+msgid ""
+"Are you sure you want to discard %s snailmail delivery failures. You won't "
+"be able to re-send these letters later!"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__attachment_id
msgid "Attachment"
msgstr "Załącznik"
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__attachment_fname
+msgid "Attachment Filename"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/xml/thread.xml:27
+#, python-format
+msgid "Awaiting Dispatch"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__duplex
msgid "Both side"
msgstr ""
@@ -54,24 +136,60 @@ msgid "Both sides"
msgstr ""
#. module: snailmail
+#: selection:snailmail.letter,error_code:0
+msgid "CREDIT_ERROR"
+msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_cancel
#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_form
msgid "Cancel"
msgstr "Anuluj"
#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+msgid "Cancel Letter"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:62
+#: code:addons/snailmail/static/src/js/thread_widget.js:81
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+#, python-format
+msgid "Cancel letter"
+msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_cancel
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+msgid "Cancel notification in failure"
+msgstr "Anuluj powiadomienie w przypadku niepowodzenia"
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/xml/thread.xml:23
#: selection:snailmail.letter,state:0
+#, python-format
msgid "Canceled"
msgstr "Anulowano"
#. module: snailmail
-#: model_terms:ir.ui.view,arch_db:snailmail.res_config_settings_view_form
-msgid "Choose the ink used to print documents"
-msgstr ""
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__city
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__city
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "City"
+msgstr "Miasto"
#. module: snailmail
-#: model_terms:ir.ui.view,arch_db:snailmail.res_config_settings_view_form
-msgid "Choose the layout to print documents"
-msgstr ""
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:63
+#: code:addons/snailmail/static/src/js/thread_widget.js:82
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+#, python-format
+msgid "Close"
+msgstr "Zamknij"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_res_company__snailmail_color
@@ -80,6 +198,12 @@ msgid "Color"
msgstr "Kolor"
#. module: snailmail
+#: selection:mail.compose.message,message_type:0
+#: selection:mail.message,message_type:0
+msgid "Comment"
+msgstr "Komentarz"
+
+#. module: snailmail
#: model:ir.model,name:snailmail.model_res_company
msgid "Companies"
msgstr "Firmy"
@@ -100,41 +224,128 @@ msgid "Contact"
msgstr "Kontakt"
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__country_id
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__country_id
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "Country"
+msgstr "Kraj"
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__cover
+msgid "Cover Page"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__create_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__create_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__create_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__create_uid
msgid "Created by"
msgstr "Utworzona przez"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__create_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__create_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__create_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__create_date
msgid "Created on"
msgstr "Data utworzenia"
#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_cancel
+msgid "Discard delivery failures"
+msgstr "Odrzuć błędy dostarczenia"
+
+#. module: snailmail
+#: model:ir.actions.act_window,name:snailmail.snailmail_letter_cancel_action
+msgid "Discard snailmail delivery failures"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model,name:snailmail.model_snailmail_letter_cancel
+msgid "Dismiss notification for resend by model"
+msgstr "Odrzuć powiadomienie dla ponownego wysłania przez model"
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__display_name
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__display_name
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__display_name
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__display_name
msgid "Display Name"
msgstr "Nazwa wyświetlana"
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__attachment_datas
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_list
+msgid "Document"
+msgstr "Dokument"
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__res_id
msgid "Document ID"
msgstr "ID dokumentu"
#. module: snailmail
-#: selection:snailmail.letter,state:0
-msgid "Draft"
-msgstr "Projekt"
+#: selection:mail.compose.message,message_type:0
+#: selection:mail.message,message_type:0
+msgid "Email"
+msgstr "E-mail"
#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/xml/thread.xml:31
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__error_code
#: selection:snailmail.letter,state:0
+#, python-format
msgid "Error"
msgstr "Błąd"
#. module: snailmail
+#: selection:snailmail.letter,error_code:0
+msgid "FORMAT_ERROR"
+msgstr ""
+
+#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:58
+#: code:addons/snailmail/static/src/js/thread_widget.js:78
+#: model:ir.actions.act_window,name:snailmail.snailmail_letter_missing_required_fields_action
+#, python-format
+msgid "Failed letter"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.actions.act_window,name:snailmail.snailmail_letter_format_error_action
+msgid "Format Error"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model,name:snailmail.model_snailmail_letter_format_error
+msgid "Format Error Sending a Snailmail Letter"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__help_message
+msgid "Help message"
+msgstr "Wiadomość pomocy"
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__id
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__id
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__id
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__id
msgid "ID"
msgstr "ID"
#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_cancel
+msgid ""
+"If you want to re-send them, click Cancel now, then click on the "
+"notification and review them one by one by clicking on the red paper-plane "
+"next to each message."
+msgstr ""
+
+#. module: snailmail
#: selection:snailmail.letter,state:0
msgid "In Queue"
msgstr "W kolejce"
@@ -146,33 +357,82 @@ msgstr "Informacja"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter____last_update
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel____last_update
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error____last_update
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields____last_update
msgid "Last Modified on"
msgstr "Data ostatniej modyfikacji"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__write_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__write_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__write_uid
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__write_uid
msgid "Last Updated by"
msgstr "Ostatnio aktualizowane przez"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__write_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__write_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__write_date
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__write_date
msgid "Last Updated on"
msgstr "Data ostatniej aktualizacji"
#. module: snailmail
-#: model:ir.actions.act_window,name:snailmail.action_mail_letters
-#: model:ir.ui.menu,name:snailmail.menu_snailmail_letters
+#: model:ir.model.fields,field_description:snailmail.field_mail_compose_message__letter_ids
+#: model:ir.model.fields,field_description:snailmail.field_mail_mail__letter_ids
+#: model:ir.model.fields,field_description:snailmail.field_mail_message__letter_ids
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__letter_id
+msgid "Letter"
+msgstr "Letter"
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:84
+#, python-format
+msgid "Letter sent by post with Snailmail"
+msgstr ""
+
+#. module: snailmail
#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_list
msgid "Letters"
msgstr ""
#. module: snailmail
+#: selection:snailmail.letter,error_code:0
+msgid "MISSING_REQUIRED_FIELDS"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model,name:snailmail.model_mail_message
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_format_error__message_id
+msgid "Message"
+msgstr "Wiadomość"
+
+#. module: snailmail
+#: model:ir.model.fields,help:snailmail.field_mail_compose_message__message_type
+#: model:ir.model.fields,help:snailmail.field_mail_mail__message_type
+#: model:ir.model.fields,help:snailmail.field_mail_message__message_type
+msgid ""
+"Message type: email for email message, notification for system message, "
+"comment for other messages such as user replies"
+msgstr ""
+"Typ wiadomości: mail jako wiadomość, powiadomienie jako informacja "
+"systemowa, komentarz jako odpowiedź na inne wiadomości."
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__model
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_cancel__model
msgid "Model"
msgstr "Model"
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:211
+#: selection:snailmail.letter,error_code:0
+msgid "NO_PRICE_AVAILABLE"
+msgstr ""
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:269
#, python-format
msgid "One or more required fields are empty."
msgstr ""
@@ -183,15 +443,17 @@ msgid "Optional report to print and attach"
msgstr "Opcjonalny raport do wydrukowania i załączenia"
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:264
-#, python-format
-msgid "Post letter: an error occured."
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+msgid ""
+"Our service cannot read your letter due to its format.<br/>\n"
+" Please modify the format of the template or update your settings\n"
+" to automatically add a blank cover page to all letters."
msgstr ""
#. module: snailmail
-#: model_terms:ir.ui.view,arch_db:snailmail.res_config_settings_view_form
-msgid "Postal Printings"
-msgstr ""
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__partner_id
+msgid "Partner"
+msgstr "Kontrahent"
#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_res_config_settings__snailmail_duplex
@@ -209,11 +471,23 @@ msgid "Qweb Field Contact"
msgstr ""
#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/js/thread_widget.js:61
+#, python-format
+msgid "Re-send letter"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__partner_id
msgid "Recipient"
msgstr "Adresat"
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__reference
+msgid "Related Record"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model,name:snailmail.model_ir_actions_report
msgid "Report Action"
msgstr ""
@@ -224,16 +498,55 @@ msgid "Send Now"
msgstr "Wyślij teraz"
#. module: snailmail
+#. openerp-web
+#: code:addons/snailmail/static/src/xml/thread.xml:19
#: selection:snailmail.letter,state:0
+#, python-format
msgid "Sent"
msgstr "Wysłane"
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__user_id
+msgid "Sent by"
+msgstr ""
+
+#. module: snailmail
+#: selection:mail.compose.message,message_type:0
+#: selection:mail.message,message_type:0
+msgid "Snailmail"
+msgstr ""
+
+#. module: snailmail
#: model:ir.model,name:snailmail.model_snailmail_letter
msgid "Snailmail Letter"
msgstr ""
#. module: snailmail
+#: model:ir.actions.act_window,name:snailmail.action_mail_letters
+#: model:ir.ui.menu,name:snailmail.menu_snailmail_letters
+msgid "Snailmail Letters"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_mail_compose_message__snailmail_status
+#: model:ir.model.fields,field_description:snailmail.field_mail_mail__snailmail_status
+#: model:ir.model.fields,field_description:snailmail.field_mail_message__snailmail_status
+msgid "Snailmail Status"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__message_id
+msgid "Snailmail Status Message"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_mail_compose_message__snailmail_error
+#: model:ir.model.fields,field_description:snailmail.field_mail_mail__snailmail_error
+#: model:ir.model.fields,field_description:snailmail.field_mail_message__snailmail_error
+msgid "Snailmail message in error"
+msgstr ""
+
+#. module: snailmail
#: model:ir.actions.server,name:snailmail.snailmail_print_ir_actions_server
#: model:ir.cron,cron_name:snailmail.snailmail_print
#: model:ir.cron,name:snailmail.snailmail_print
@@ -241,12 +554,58 @@ msgid "Snailmail: process letters queue"
msgstr ""
#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__state_id
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__state_id
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "State"
+msgstr "Stan"
+
+#. module: snailmail
#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__state
msgid "Status"
msgstr "Status"
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:213
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__street
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__street
+msgid "Street"
+msgstr "Ulica"
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "Street 2..."
+msgstr "Ulica 2..."
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "Street..."
+msgstr "Ulica..."
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__street2
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__street2
+msgid "Street2"
+msgstr "Ulica2"
+
+#. module: snailmail
+#: selection:mail.compose.message,message_type:0
+#: selection:mail.message,message_type:0
+msgid "System notification"
+msgstr "Powiadomienie systemowe"
+
+#. module: snailmail
+#: selection:snailmail.letter,error_code:0
+msgid "TRIAL_ERROR"
+msgstr ""
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:291
+#, python-format
+msgid "The address of the recipient is not complete"
+msgstr ""
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:271
#, python-format
msgid ""
"The attachment of the letter could not be sent. Please check its content and"
@@ -254,33 +613,62 @@ msgid ""
msgstr ""
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:209
+#: code:addons/snailmail/models/snailmail_letter.py:267
#, python-format
msgid "The country of the partner is not covered by Snailmail."
msgstr ""
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:242
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid ""
+"The customer address is not complete. Update the address here and re-send "
+"the letter."
+msgstr ""
+
+#. module: snailmail
+#: code:addons/snailmail/models/snailmail_letter.py:315
#, python-format
msgid ""
"The document was correctly sent by post.<br>The tracking id is %ssend_id"
msgstr ""
#. module: snailmail
-#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__user_id
-msgid "User sending the letter"
+#: model:ir.model.fields,field_description:snailmail.field_mail_compose_message__message_type
+#: model:ir.model.fields,field_description:snailmail.field_mail_mail__message_type
+#: model:ir.model.fields,field_description:snailmail.field_mail_message__message_type
+msgid "Type"
+msgstr "Typ"
+
+#. module: snailmail
+#: selection:snailmail.letter,error_code:0
+msgid "UNKNOWN_ERROR"
+msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_format_error
+msgid "Update Config and Re-send"
+msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "Update address and re-send"
+msgstr ""
+
+#. module: snailmail
+#: model:ir.model,name:snailmail.model_snailmail_letter_missing_required_fields
+msgid "Update address of partner"
msgstr ""
#. module: snailmail
#: model:ir.model.fields,help:snailmail.field_snailmail_letter__state
msgid ""
-"When a letter is created, the status is 'Draft'.\n"
+"When a letter is created, the status is 'Pending'.\n"
"If the letter is correctly sent, the status goes in 'Sent',\n"
"If not, it will got in state 'Error' and the error message will be displayed in the field 'Error Message'."
msgstr ""
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:207
+#: code:addons/snailmail/models/snailmail_letter.py:265
#, python-format
msgid ""
"You don't have an IAP account registered for this service.<br>Please go to "
@@ -288,9 +676,20 @@ msgid ""
msgstr ""
#. module: snailmail
-#: code:addons/snailmail/models/snailmail_letter.py:204
+#: code:addons/snailmail/models/snailmail_letter.py:262
#, python-format
msgid ""
"You don't have enough credits to perform this operation.<br>Please go to "
"your <a href=%s target=\"new\">iap account</a>."
msgstr ""
+
+#. module: snailmail
+#: model_terms:ir.ui.view,arch_db:snailmail.snailmail_letter_missing_required_fields
+msgid "ZIP"
+msgstr "Kod pocztowy"
+
+#. module: snailmail
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter__zip
+#: model:ir.model.fields,field_description:snailmail.field_snailmail_letter_missing_required_fields__zip
+msgid "Zip"
+msgstr "Kod pocztowy"
diff --git a/addons/stock/i18n/hu.po b/addons/stock/i18n/hu.po
index f9da28fc4ae..fe388b828c6 100644
--- a/addons/stock/i18n/hu.po
+++ b/addons/stock/i18n/hu.po
@@ -1800,7 +1800,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
@@ -1827,7 +1827,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
@@ -2371,7 +2371,7 @@ msgstr "Behozatal helye"
#: code:addons/stock/models/stock_scrap.py:138
#, 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
@@ -2604,7 +2604,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
@@ -3088,7 +3088,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
@@ -3517,7 +3517,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/models/product.py b/addons/stock/models/product.py
index b68ec1fad5d..c1bd8f80138 100644
--- a/addons/stock/models/product.py
+++ b/addons/stock/models/product.py
@@ -530,7 +530,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_landed_costs/i18n/nb.po b/addons/stock_landed_costs/i18n/nb.po
index ad777b60553..b011676b957 100644
--- a/addons/stock_landed_costs/i18n/nb.po
+++ b/addons/stock_landed_costs/i18n/nb.po
@@ -3,16 +3,18 @@
# * stock_landed_costs
#
# Translators:
-# Martin Trigaux, 2018
# Torvald Baade Bringsvor <bringsvor@bringsvor.com>, 2018
-# Jorunn D. Newth, 2018
+# Viktor Basso <viktor@voit.no>, 2018
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.1\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: Jorunn D. Newth, 2018\n"
+"POT-Creation-Date: 2019-01-16 07:59+0000\n"
+"PO-Revision-Date: 2016-08-05 13:10+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,6 +32,11 @@ msgid " already out"
msgstr "allerede ute"
#. module: stock_landed_costs
+#: model_terms:ir.ui.view,arch_db:stock_landed_costs.stock_landed_cost_view_kanban
+msgid "<i class=\"fa fa-clock-o\" title=\"Date\" role=\"img\" aria-label=\"Date\"/>"
+msgstr ""
+
+#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost_lines__account_id
msgid "Account"
msgstr "Konto"
@@ -45,6 +52,16 @@ msgid "Action Needed"
msgstr "Handling påkrevd"
#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_ids
+msgid "Activities"
+msgstr "Aktiviteter"
+
+#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_state
+msgid "Activity State"
+msgstr "Aktivitetsstatus"
+
+#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_valuation_adjustment_lines__additional_landed_cost
msgid "Additional Landed Cost"
msgstr ""
@@ -236,6 +253,11 @@ msgstr "Tidligere (styk)kostnad"
#. module: stock_landed_costs
#: model_terms:ir.ui.view,arch_db:stock_landed_costs.view_stock_landed_cost_search
+msgid "Future Activities"
+msgstr "Fremtidige aktiviteter"
+
+#. module: stock_landed_costs
+#: model_terms:ir.ui.view,arch_db:stock_landed_costs.view_stock_landed_cost_search
msgid "Group By"
msgstr "Grupper etter"
@@ -364,6 +386,11 @@ msgid "Last Updated on"
msgstr "Sist oppdatert"
#. module: stock_landed_costs
+#: model_terms:ir.ui.view,arch_db:stock_landed_costs.view_stock_landed_cost_search
+msgid "Late Activities"
+msgstr "Forsinkede aktiviteter"
+
+#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
@@ -392,6 +419,21 @@ msgid "New"
msgstr "Ny"
#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Neste aktivitetsfrist"
+
+#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_summary
+msgid "Next Activity Summary"
+msgstr "Oppsummering av neste aktivitet"
+
+#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_type_id
+msgid "Next Activity Type"
+msgstr "Neste aktivitetstype"
+
+#. module: stock_landed_costs
#: code:addons/stock_landed_costs/models/stock_landed_cost.py:91
#, python-format
msgid ""
@@ -430,6 +472,16 @@ msgid "Only draft landed costs can be validated"
msgstr ""
#. module: stock_landed_costs
+#: selection:stock.landed.cost,activity_state:0
+msgid "Overdue"
+msgstr "Forfalt"
+
+#. module: stock_landed_costs
+#: selection:stock.landed.cost,activity_state:0
+msgid "Planned"
+msgstr "Planlagt"
+
+#. module: stock_landed_costs
#: code:addons/stock_landed_costs/models/stock_landed_cost.py:314
#, python-format
msgid "Please configure Stock Expense Account for product: %s."
@@ -467,6 +519,16 @@ msgid "Quantity"
msgstr "Antall"
#. module: stock_landed_costs
+#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__activity_user_id
+msgid "Responsible User"
+msgstr "Ansvarlig bruker"
+
+#. module: stock_landed_costs
+#: model_terms:ir.ui.view,arch_db:stock_landed_costs.view_stock_landed_cost_search
+msgid "Show all records which has next action date is before today"
+msgstr "Vis alle oppføringer som har en neste tiltak-dato før dagen i dag"
+
+#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_product_product__split_method
#: model:ir.model.fields,field_description:stock_landed_costs.field_product_template__split_method
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost_lines__split_method
@@ -484,6 +546,19 @@ msgid "Status"
msgstr "Status"
#. module: stock_landed_costs
+#: model:ir.model.fields,help:stock_landed_costs.field_stock_landed_cost__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"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: stock_landed_costs
#: model:ir.model,name:stock_landed_costs.model_stock_landed_cost
msgid "Stock Landed Cost"
msgstr ""
@@ -500,6 +575,16 @@ msgid "Stock Move"
msgstr "Lagerflytting"
#. module: stock_landed_costs
+#: selection:stock.landed.cost,activity_state:0
+msgid "Today"
+msgstr "I dag"
+
+#. module: stock_landed_costs
+#: model_terms:ir.ui.view,arch_db:stock_landed_costs.view_stock_landed_cost_search
+msgid "Today Activities"
+msgstr "Dagens aktiviteter"
+
+#. module: stock_landed_costs
#: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__amount_total
msgid "Total"
msgstr "Total"
diff --git a/addons/stock_picking_batch/i18n/nb.po b/addons/stock_picking_batch/i18n/nb.po
index 64ef36dcba0..7b6826b3619 100644
--- a/addons/stock_picking_batch/i18n/nb.po
+++ b/addons/stock_picking_batch/i18n/nb.po
@@ -3,15 +3,17 @@
# * stock_picking_batch
#
# Translators:
-# Martin Trigaux, 2018
-# Jorunn D. Newth, 2018
+# Viktor Basso <viktor@voit.no>, 2018
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.1\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: Jorunn D. Newth, 2018\n"
+"POT-Creation-Date: 2018-12-24 10:58+0000\n"
+"PO-Revision-Date: 2017-12-13 14:58+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,6 +33,11 @@ msgstr "<strong>Forpakning</strong>"
#. module: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.report_picking_batch
+msgid "<strong>Product Barcode</strong>"
+msgstr ""
+
+#. module: stock_picking_batch
+#: model_terms:ir.ui.view,arch_db:stock_picking_batch.report_picking_batch
msgid "<strong>Responsible:</strong>"
msgstr ""
@@ -40,6 +47,16 @@ msgid "Action Needed"
msgstr "Handling påkrevd"
#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_ids
+msgid "Activities"
+msgstr "Aktiviteter"
+
+#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_state
+msgid "Activity State"
+msgstr "Aktivitetsstatus"
+
+#. module: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_to_batch_form
msgid "Add pickings to batch"
msgstr ""
@@ -185,6 +202,11 @@ msgstr "Følgere (partnere)"
#. module: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
+msgid "Future Activities"
+msgstr "Fremtidige aktiviteter"
+
+#. module: stock_picking_batch
+#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
msgid "Group By"
msgstr "Grupper etter"
@@ -244,6 +266,11 @@ msgid "Last Updated on"
msgstr "Sist oppdatert"
#. module: stock_picking_batch
+#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
+msgid "Late Activities"
+msgstr "Forsinkede aktiviteter"
+
+#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch__picking_ids
msgid "List of picking associated to this batch"
msgstr ""
@@ -269,6 +296,21 @@ msgid "Name of the batch picking"
msgstr ""
#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Neste aktivitetsfrist"
+
+#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_summary
+msgid "Next Activity Summary"
+msgstr "Oppsummering av neste aktivitet"
+
+#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_type_id
+msgid "Next Activity Type"
+msgstr "Neste aktivitetstype"
+
+#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:52
#, python-format
msgid "Nothing to print."
@@ -300,6 +342,11 @@ msgid "Number of unread messages"
msgstr "Antall uleste meldinger"
#. module: stock_picking_batch
+#: selection:stock.picking.batch,activity_state:0
+msgid "Overdue"
+msgstr "Forfalt"
+
+#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch__user_id
msgid "Person responsible for this batch picking"
msgstr ""
@@ -331,6 +378,11 @@ msgid "Pickings"
msgstr "Plukkinger"
#. module: stock_picking_batch
+#: selection:stock.picking.batch,activity_state:0
+msgid "Planned"
+msgstr "Planlagt"
+
+#. module: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_form
msgid "Print"
msgstr "Skriv ut"
@@ -352,6 +404,11 @@ msgid "Responsible"
msgstr "Ansvarlig"
#. module: stock_picking_batch
+#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch__activity_user_id
+msgid "Responsible User"
+msgstr "Ansvarlig bruker"
+
+#. module: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
#: selection:stock.picking.batch,state:0
msgid "Running"
@@ -373,6 +430,11 @@ msgid "Select a batch"
msgstr ""
#. module: stock_picking_batch
+#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
+msgid "Show all records which has next action date is before today"
+msgstr "Vis alle oppføringer som har en neste tiltak-dato før dagen i dag"
+
+#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:59
#, python-format
msgid ""
@@ -404,6 +466,19 @@ msgid "Status"
msgstr "Status"
#. module: stock_picking_batch
+#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"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: stock_picking_batch
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_form
#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_tree
msgid "Stock Batch Picking"
@@ -429,6 +504,16 @@ msgid "To take from:"
msgstr ""
#. module: stock_picking_batch
+#: selection:stock.picking.batch,activity_state:0
+msgid "Today"
+msgstr "I dag"
+
+#. module: stock_picking_batch
+#: model_terms:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
+msgid "Today Activities"
+msgstr "Dagens aktiviteter"
+
+#. module: stock_picking_batch
#: model:ir.model,name:stock_picking_batch.model_stock_picking
msgid "Transfer"
msgstr "Overføring"
diff --git a/addons/web/static/src/js/views/list/list_renderer.js b/addons/web/static/src/js/views/list/list_renderer.js
index ad1a95cd14f..46b8d58d05e 100644
--- a/addons/web/static/src/js/views/list/list_renderer.js
+++ b/addons/web/static/src/js/views/list/list_renderer.js
@@ -25,6 +25,7 @@ var DECORATIONS = [
];
var FIELD_CLASSES = {
+ char: 'o_list_char',
float: 'o_list_number',
integer: 'o_list_number',
monetary: 'o_list_number',
diff --git a/addons/web/static/src/scss/list_view.scss b/addons/web/static/src/scss/list_view.scss
index d7a0384ed22..3d25258eac5 100644
--- a/addons/web/static/src/scss/list_view.scss
+++ b/addons/web/static/src/scss/list_view.scss
@@ -30,12 +30,10 @@
&.o_list_number {
text-align: right;
}
- &.o_list_text {
- white-space: pre-wrap;
- }
+ &.o_list_char,
+ &.o_list_text,
&.o_list_many2one {
white-space: pre-wrap;
-
}
}
@@ -180,11 +178,14 @@
.o_list_record_remove_header, .o_handle_cell {
width: 32px;
}
+ &>tbody>tr>td.o_list_char,
&>tbody>tr>td.o_list_many2one {
white-space: nowrap;
}
// checkboxes in editable lists should be clickable and activate the row
.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/field_one2many_tests.js b/addons/web/static/tests/fields/relational_fields/field_one2many_tests.js
index 4f5958f65cd..2404890c440 100644
--- a/addons/web/static/tests/fields/relational_fields/field_one2many_tests.js
+++ b/addons/web/static/tests/fields/relational_fields/field_one2many_tests.js
@@ -1093,7 +1093,7 @@ QUnit.module('fields', {}, function () {
await testUtils.form.clickEdit(form);
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#21#22#23#24#25#26#27#28#29",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#21#22#23#24#25#26#27#28#29",
"should display the records in order");
await testUtils.dom.click(form.$('.o_field_one2many .o_list_view tbody tr:first td:first'));
@@ -1102,12 +1102,12 @@ QUnit.module('fields', {}, function () {
// the domain fail if the widget does not use the allready loaded data.
await testUtils.form.clickDiscard(form);
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "blurp#21#22#23#24#25#26#27#28#29",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "blurp#21#22#23#24#25#26#27#28#29",
"should display the records in order with the changes");
await testUtils.dom.click($('.modal .modal-footer button:first'));
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#21#22#23#24#25#26#27#28#29",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#21#22#23#24#25#26#27#28#29",
"should cancel changes and display the records in order");
await testUtils.form.clickEdit(form);
@@ -1119,7 +1119,7 @@ QUnit.module('fields', {}, function () {
{ position: 'top' }
);
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#30#31#32#33#34#35#36#37#38",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#30#31#32#33#34#35#36#37#38",
"should display the records in order after resequence (display record with turtle_int=0)");
// Drag and drop the third line in second position
@@ -1129,17 +1129,17 @@ QUnit.module('fields', {}, function () {
{ position: 'top' }
);
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#39#40#41#42#43#44#45#46#47",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#39#40#41#42#43#44#45#46#47",
"should display the records in order after resequence (display record with turtle_int=0)");
await testUtils.form.clickDiscard(form);
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#39#40#41#42#43#44#45#46#47",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#39#40#41#42#43#44#45#46#47",
"should display the records in order after resequence");
await testUtils.dom.click($('.modal .modal-footer button:first'));
- assert.equal(form.$('.o_field_one2many td[class="o_data_cell"]').text(), "#20#21#22#23#24#25#26#27#28#29",
+ assert.equal(form.$('.o_field_one2many .o_list_char').text(), "#20#21#22#23#24#25#26#27#28#29",
"should cancel changes and display the records in order");
form.destroy();
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/static/src/js/wysiwyg/plugin/helper.js b/addons/web_editor/static/src/js/wysiwyg/plugin/helper.js
index a025d6a0082..1738e6e7b48 100644
--- a/addons/web_editor/static/src/js/wysiwyg/plugin/helper.js
+++ b/addons/web_editor/static/src/js/wysiwyg/plugin/helper.js
@@ -1885,6 +1885,9 @@ var HelperPlugin = AbstractPlugin.extend({
// Create empty text node to have a range into the node
if (range.sc.tagName && !dom.isVoid(range.sc) && !range.sc.childNodes[range.so]) {
$(range.sc).append(invisible);
+ if (invisible.previousSibling && invisible.previousSibling.tagName === "BR") {
+ invisible.previousSibling.remove();
+ }
range = this.context.invoke('editor.setRange', invisible, 0);
}
diff --git a/addons/web_editor/static/src/js/wysiwyg/plugin/text.js b/addons/web_editor/static/src/js/wysiwyg/plugin/text.js
index f2834c531f7..9014b367fee 100644
--- a/addons/web_editor/static/src/js/wysiwyg/plugin/text.js
+++ b/addons/web_editor/static/src/js/wysiwyg/plugin/text.js
@@ -780,7 +780,10 @@ var TextPlugin = AbstractPlugin.extend({
clipboardData = e.originalEvent.clipboardData.getData('text/plain');
// get that text as an array of text nodes separated by <br> where needed
var allNewlines = /\n/g;
- clipboardData = $('<p>' + clipboardData.replace(allNewlines, '<br>') + '</p>').contents().toArray();
+ clipboardData = _.str.trim(clipboardData)
+ .replace(/</g, '&lt;').replace(/>/g, '&gt;')
+ .replace(allNewlines, '<br>');
+ clipboardData = $('<p>' + clipboardData + '</p>').contents().toArray();
}
// Delete selection
diff --git a/addons/web_editor/static/tests/wysiwyg_keyboard_tests.js b/addons/web_editor/static/tests/wysiwyg_keyboard_tests.js
index d2b79b3e969..cba62aef1c6 100644
--- a/addons/web_editor/static/tests/wysiwyg_keyboard_tests.js
+++ b/addons/web_editor/static/tests/wysiwyg_keyboard_tests.js
@@ -814,6 +814,18 @@ var keyboardTestsChar = [{
start: "b:contents(0)->1",
},
},
+ {
+ name: "'a' in empty li",
+ content: '<ul><li><p><br></p></li></ul>',
+ steps: [{
+ start: "p->1",
+ key: 'a',
+ }],
+ test: {
+ content: '<ul><li><p>a</p></li></ul>',
+ start: "p:contents(0)->1",
+ },
+ },
];
QUnit.test('Char', function (assert) {
@@ -2248,6 +2260,25 @@ var keyboardTestsComplex = [{
start: "p:eq(1)->0",
},
},
+ // List indent
+ {
+ name: "ENTER -> TAB -> a' at end of li > p (split -> indent -> write)",
+ content: '<ul><li><p>a</p></li></ul>',
+ steps: [{
+ start: "p:contents()[0]->1",
+ key: 'ENTER',
+ },
+ {
+ key: 'TAB',
+ },
+ {
+ key: 'a',
+ }],
+ test: {
+ content: '<ul><li><p>a</p></li><li class="o_indent"><ul><li><p>a</p></li></ul></li></ul>',
+ start: "p:eq(1):contents()[0]->1",
+ },
+ },
];
QUnit.test('Complex', function (assert) {
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/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py
index 47a0afe2ca4..072605452d7 100644
--- a/addons/website/models/res_config_settings.py
+++ b/addons/website/models/res_config_settings.py
@@ -23,8 +23,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_blog/static/src/js/s_latest_posts_frontend.js b/addons/website_blog/static/src/js/s_latest_posts_frontend.js
index 324f0cd51ca..87f3ffc5f6f 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
@@ -23,7 +23,10 @@ publicWidget.registry.js_get_posts = publicWidget.Widget.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/static/src/js/crm_partner_assign.js b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
index 2f8cffd0363..bc5b17b5151 100644
--- a/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
+++ b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
@@ -227,7 +227,9 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({
_onEditOppConfirm: function (ev) {
ev.preventDefault();
ev.stopPropagation();
- this._buttonExec($(ev.currentTarget), this._editOpportunity);
+ if ($(".edit_opp_form")[0].checkValidity()) {
+ this._buttonExec($(ev.currentTarget), this._editOpportunity);
+ }
},
/**
* @private
diff --git a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml
index 21b70a11112..822678fa8d7 100644
--- a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml
+++ b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml
@@ -675,7 +675,7 @@
<label>Expected Closing:</label>
<div class="input-group date" id="exp_closing_div" data-target-input="nearest">
<t t-set='date_formatted'><t t-options='{"widget": "date"}' t-esc="opportunity.date_deadline"/></t>
- <input type="text" name="date_deadline" t-att-value="date_formatted" class="datetimepicker-input form-control date_deadline" t-att-name="prefix"/>
+ <input type="date" min="1900-01-01" name="date_deadline" t-att-value="date_formatted" class="datetimepicker-input form-control date_deadline" data-date-format="YYYY-MM-DD" t-att-name="prefix" placeholder="YYYY-MM-DD"/>
<div class="input-group-append" data-target="#exp_closing_div" data-toggle="datetimepicker">
<span class="input-group-text">
<span class="fa fa-calendar" role="img" aria-label="Calendar"></span>
@@ -701,7 +701,7 @@
<label class="col-form-label" for="activity_date_deadline">Next Activity Date</label>
<div class="input-group date" id="next_activity_div" data-target-input="nearest">
<t t-set='date_formatted'><t t-options='{"widget": "date"}' t-esc="user_activity.date_deadline"/></t>
- <input type="text" name="activity_date_deadline" t-att-value="date_formatted" class="form-control activity_date_deadline datetimepicker-input" t-att-name="prefix"/>
+ <input type="date" min="1900-01-01" name="activity_date_deadline" t-att-value="date_formatted" class="form-control activity_date_deadline datetimepicker-input" data-date-format="YYYY-MM-DD" t-att-name="prefix" placeholder="YYYY-MM-DD"/>
<div class="input-group-append" data-target="#next_activity_div" data-toggle="datetimepicker">
<span class="input-group-text">
<span class="fa fa-calendar" role="img" aria-label="Calendar" title="Calendar"></span>
diff --git a/addons/website_event_track/i18n/nb.po b/addons/website_event_track/i18n/nb.po
index 56ea3e23cd5..ee3cdbbea38 100644
--- a/addons/website_event_track/i18n/nb.po
+++ b/addons/website_event_track/i18n/nb.po
@@ -3,17 +3,18 @@
# * website_event_track
#
# Translators:
-# Martin Trigaux, 2018
-# Jorunn D. Newth, 2018
-# Marius Stedjan <marius@stedjan.com>, 2018
+# Viktor Basso <viktor@voit.no>, 2018
+# Martin Trigaux, 2019
+# Marius Stedjan <marius@stedjan.com>, 2019
+# Jorunn D. Newth, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-08 06:49+0000\n"
-"PO-Revision-Date: 2018-08-24 09:34+0000\n"
-"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:50+0000\n"
+"PO-Revision-Date: 2016-08-05 13:12+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -179,7 +180,7 @@ msgid "Advanced reporting"
msgstr ""
#. module: website_event_track
-#: code:addons/website_event_track/models/event.py:97
+#: code:addons/website_event_track/models/event.py:94
#, python-format
msgid "Agenda"
msgstr "Dagsorden"
@@ -232,6 +233,11 @@ msgid "Call for Proposals"
msgstr ""
#. module: website_event_track
+#: model:ir.model.fields,field_description:website_event_track.field_event_track__can_publish
+msgid "Can publish"
+msgstr ""
+
+#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track_stage__is_cancel
msgid "Canceled Stage"
msgstr "Kansellert stadium"
@@ -1043,6 +1049,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: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal
@@ -1076,7 +1086,7 @@ msgid "Talk Introduction"
msgstr ""
#. module: website_event_track
-#: code:addons/website_event_track/models/event.py:102
+#: code:addons/website_event_track/models/event.py:99
#, python-format
msgid "Talk Proposals"
msgstr ""
@@ -1087,7 +1097,7 @@ msgid "Talk Title"
msgstr "Foredragstittel"
#. module: website_event_track
-#: code:addons/website_event_track/models/event.py:96
+#: code:addons/website_event_track/models/event.py:93
#, python-format
msgid "Talks"
msgstr "Foredrag"
@@ -1272,7 +1282,7 @@ msgstr "Se spor"
#. module: website_event_track
#: model:ir.model.fields,field_description:website_event_track.field_event_track__website_published
msgid "Visible on current website"
-msgstr "Synlig på nåværende nettsted"
+msgstr "Synlig på gjeldende nettsted"
#. module: website_event_track
#: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal
diff --git a/addons/website_hr_recruitment/i18n/uk.po b/addons/website_hr_recruitment/i18n/uk.po
index 7d900def1f1..e0c582a2557 100644
--- a/addons/website_hr_recruitment/i18n/uk.po
+++ b/addons/website_hr_recruitment/i18n/uk.po
@@ -25,7 +25,7 @@ msgstr ""
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "$15k"
-msgstr "$15k"
+msgstr "$15 000"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -161,7 +161,7 @@ msgstr "Всі країни"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.job_departments
msgid "All Departments"
-msgstr "Всі установи"
+msgstr "Усі відділи"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.job_offices
@@ -239,7 +239,7 @@ msgid ""
" ups"
msgstr ""
"Особиста координація з функціональними консультантами для отримання "
-"кваліфікації та подальшої діяльності"
+"кваліфікації та нагадувань"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -329,8 +329,8 @@ msgstr ""
msgid ""
"Large apps scope: CRM, MRP, Accounting, Inventory, HR, Project Mgt, etc."
msgstr ""
-"Великі додатки: CRM, MRP, Бухгалтерський облік, інвентаризація, HR, "
-"Управління проектом тощо."
+"Велика область застосування: CRM, MRP, Бухгалтерський облік, інвентаризація,"
+" HR, Управління проектом тощо."
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.thankyou_ir_ui_view
@@ -384,7 +384,7 @@ msgstr ""
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Personal Evolution:"
-msgstr "Персональна еволюція:"
+msgstr "Персональний розвиток:"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -566,7 +566,7 @@ msgstr ""
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.apply
msgid "Your Email"
-msgstr "Ваш ел. пошта"
+msgstr "Ваша ел. пошта"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.apply
@@ -593,7 +593,7 @@ msgstr "Вашу заявку було надіслано до:"
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.index
msgid "for job opportunities."
-msgstr "для нагод роботи."
+msgstr "для вакансій."
#. module: website_hr_recruitment
#: model_terms:ir.ui.view,arch_db:website_hr_recruitment.index
diff --git a/addons/website_mass_mailing/i18n/uk.po b/addons/website_mass_mailing/i18n/uk.po
index f06f3ac622f..4e580645dd0 100644
--- a/addons/website_mass_mailing/i18n/uk.po
+++ b/addons/website_mass_mailing/i18n/uk.po
@@ -3,18 +3,18 @@
# * website_mass_mailing
#
# Translators:
-# Yaroslav Molochko <onorua@gmail.com>, 2018
-# Martin Trigaux, 2018
+# Bohdan Lisnenko, 2018
# ТАрас <tratatuta@i.ua>, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Martin Trigaux, 2019
+# Alina Lisnenko <alinasemeniuk1@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-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"PO-Revision-Date: 2016-08-05 13:13+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -33,8 +33,8 @@ msgid ""
"<strong>Newsletter Popup!</strong> The newsletter popup snippet effect is "
"active on this page. Click"
msgstr ""
-"<strong>Бюлетень спливаючого вікна!</strong> На цій сторінці активовано "
-"ефект спливаючих вікон для новин. Натисніть"
+"<strong>Спливаюче вікно!</strong> На цій сторінці активовано ефект "
+"спливаючих вікон для новин. Натисніть"
#. module: website_mass_mailing
#. openerp-web
@@ -53,7 +53,7 @@ msgstr "Додати вікно підписки на інформаційний
#. module: website_mass_mailing
#: model_terms:ir.ui.view,arch_db:website_mass_mailing.newsletter_subscribe_options
msgid "Change Newsletter"
-msgstr "Заміна Розсилки"
+msgstr "Змінити інформаційний бюлетень"
#. module: website_mass_mailing
#: model:ir.model,name:website_mass_mailing.model_res_config_settings
@@ -157,7 +157,7 @@ msgstr "Тип тут ..."
#. module: website_mass_mailing
#: model:res.groups,name:website_mass_mailing.group_website_popup_on_exit
msgid "Use subscription pop up on the website"
-msgstr "Використовуйте підписку на веб-сайті"
+msgstr "Використовуйте спливаюче вікно підписки на веб-сайті"
#. module: website_mass_mailing
#: model:ir.model.fields,field_description:website_mass_mailing.field_res_config_settings__group_website_popup_on_exit
@@ -172,7 +172,7 @@ msgstr "Зміст спливаючого вікна веб-сайту"
#. module: website_mass_mailing
#: model:ir.model.fields,field_description:website_mass_mailing.field_mail_mass_mailing_list__popup_redirect_url
msgid "Website Popup Redirect URL"
-msgstr "URL-адреса переспрямування веб-сайту"
+msgstr "Переспрямування URL-адреси спливаючого вікна веб-сайту"
#. module: website_mass_mailing
#: model_terms:ir.ui.view,arch_db:website_mass_mailing.s_newsletter_subscribe_form
diff --git a/addons/website_membership/i18n/uk.po b/addons/website_membership/i18n/uk.po
index ecb1418efe2..4914c9a70e1 100644
--- a/addons/website_membership/i18n/uk.po
+++ b/addons/website_membership/i18n/uk.po
@@ -4,17 +4,18 @@
#
# Translators:
# Yaroslav Molochko <onorua@gmail.com>, 2018
-# Martin Trigaux, 2018
+# Bohdan Lisnenko, 2018
# ТАрас <tratatuta@i.ua>, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Martin Trigaux, 2019
+# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:18+0000\n"
-"PO-Revision-Date: 2018-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"POT-Creation-Date: 2019-01-16 08:00+0000\n"
+"PO-Revision-Date: 2016-08-05 13:13+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,6 +24,15 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#. module: website_membership
+#: model_terms:ir.ui.view,arch_db:website_membership.opt_index_google_map
+msgid ""
+"<span class=\"fa fa-external-link\" role=\"img\" aria-label=\"External "
+"link\" title=\"External link\"/>"
+msgstr ""
+"<span class=\"fa fa-external-link\" role=\"img\" aria-label=\"External "
+"link\" title=\"External link\"/>"
+
+#. module: website_membership
#: model_terms:ir.ui.view,arch_db:website_membership.index
msgid "All"
msgstr "Всі"
@@ -36,7 +46,7 @@ msgstr "Всі країни"
#. module: website_membership
#: model_terms:ir.ui.view,arch_db:website_membership.index
msgid "Associations"
-msgstr "Асоціація"
+msgstr "Об'єднання"
#. module: website_membership
#: model_terms:ir.ui.view,arch_db:website_membership.opt_index_google_map
@@ -52,7 +62,7 @@ msgstr "Знайти бізнес-партнера"
#: code:addons/website_membership/controllers/main.py:126
#, python-format
msgid "Free Members"
-msgstr "Безкоштовні учасники"
+msgstr "Вільні учасники"
#. module: website_membership
#: model_terms:ir.ui.view,arch_db:website_membership.opt_index_country
diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py
index 891976d0e2b..dae1e9c4d9e 100644
--- a/addons/website_sale/models/website.py
+++ b/addons/website_sale/models/website.py
@@ -335,7 +335,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 c4c9c001343..095011a969f 100644
--- a/addons/website_sale/views/templates.xml
+++ b/addons/website_sale/views/templates.xml
@@ -1302,7 +1302,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/uk.po b/addons/website_sale_comparison/i18n/uk.po
index d5db34cdbed..d8d8d3660a0 100644
--- a/addons/website_sale_comparison/i18n/uk.po
+++ b/addons/website_sale_comparison/i18n/uk.po
@@ -3,16 +3,18 @@
# * website_sale_comparison
#
# Translators:
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Bohdan Lisnenko, 2018
+# ТАрас <tratatuta@i.ua>, 2018
+# Martin Trigaux, 2019
+# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-08 06:49+0000\n"
-"PO-Revision-Date: 2018-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"POT-Creation-Date: 2019-01-16 08:00+0000\n"
+"PO-Revision-Date: 2017-07-17 09:13+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,6 +33,15 @@ msgid "308 g"
msgstr "308 g"
#. module: website_sale_comparison
+#: model_terms:ir.ui.view,arch_db:website_sale_comparison.product_compare
+msgid ""
+"<i class=\"fa fa-chevron-circle-down o_product_comparison_collpase\" "
+"role=\"img\" aria-label=\"Collapse\" title=\"Collapse\"/>"
+msgstr ""
+"<i class=\"fa fa-chevron-circle-down o_product_comparison_collpase\" "
+"role=\"img\" aria-label=\"Collapse\" title=\"Collapse\"/>"
+
+#. module: website_sale_comparison
#: model_terms:ir.ui.view,arch_db:website_sale_comparison.recommended_product
msgid "<i class=\"fa fa-exchange\"/> Compare"
msgstr "<i class=\"fa fa-exchange\"/> Порівняйте"
@@ -41,6 +52,11 @@ msgid "<i class=\"fa fa-shopping-cart\"/>&amp;nbsp;Add to Cart"
msgstr "<i class=\"fa fa-shopping-cart\"/>&amp;nbsp;Додати до кошика"
#. module: website_sale_comparison
+#: model_terms:ir.ui.view,arch_db:website_sale_comparison.product_product
+msgid "<i class=\"fa fa-trash\" role=\"img\" aria-label=\"Remove\"/>"
+msgstr "<i class=\"fa fa-trash\" role=\"img\" aria-label=\"Remove\"/>"
+
+#. module: website_sale_comparison
#: model_terms:ir.ui.view,arch_db:website_sale_comparison.recommended_product
msgid "<span class=\"h3\">Suggested alternatives: </span>"
msgstr "<span class=\"h3\">Запропоновані альтернативи: </span>"
diff --git a/addons/website_sale_coupon/i18n/uk.po b/addons/website_sale_coupon/i18n/uk.po
index f89aa851e7c..fa8aae6fff9 100644
--- a/addons/website_sale_coupon/i18n/uk.po
+++ b/addons/website_sale_coupon/i18n/uk.po
@@ -9,9 +9,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~12.1+e\n"
+"Project-Id-Version: Odoo Server saas~12.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-01-16 08:13+0000\n"
+"POT-Creation-Date: 2019-06-12 12:25+0000\n"
"PO-Revision-Date: 2017-02-15 11:47+0000\n"
"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
diff --git a/addons/website_sale_digital/i18n/nb.po b/addons/website_sale_digital/i18n/nb.po
index 5ff618ae9b8..8ec39a57f80 100644
--- a/addons/website_sale_digital/i18n/nb.po
+++ b/addons/website_sale_digital/i18n/nb.po
@@ -3,15 +3,16 @@
# * website_sale_digital
#
# Translators:
-# Martin Trigaux, 2018
-# Jorunn D. Newth, 2018
+# Martin Trigaux, 2019
+# Jorunn D. Newth, 2019
+#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.2\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"
-"Last-Translator: Jorunn D. Newth, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:50+0000\n"
+"PO-Revision-Date: 2016-08-05 13:14+0000\n"
+"Last-Translator: Jorunn D. Newth, 2019\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,6 +40,7 @@ msgstr ""
#. module: website_sale_digital
#: model:ir.model.fields,field_description:website_sale_digital.field_ir_attachment__product_downloadable
+#: model:ir.model.fields,field_description:website_sale_digital.field_mrp_document__product_downloadable
msgid "Downloadable from product portal"
msgstr "Kan lastes ned fra produktportalen"
@@ -76,9 +78,4 @@ msgstr "Enhet(er)"
#. module: website_sale_digital
#: model:product.template,name:website_sale_digital.product_1
msgid "eBook: Office Renovation for Dummies"
-msgstr ""
-
-#. module: website_sale_digital
-#: model:product.template,weight_uom_name:website_sale_digital.product_1
-msgid "kg"
-msgstr "kg"
+msgstr "Ebok: Kontor-oppussing for dummies"
diff --git a/addons/website_sale_digital/i18n/uk.po b/addons/website_sale_digital/i18n/uk.po
index 2a771156680..052dd0b6618 100644
--- a/addons/website_sale_digital/i18n/uk.po
+++ b/addons/website_sale_digital/i18n/uk.po
@@ -3,17 +3,17 @@
# * website_sale_digital
#
# Translators:
-# Bohdan Lisnenko, 2018
# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Bohdan Lisnenko, 2018
+# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-08 06:49+0000\n"
-"PO-Revision-Date: 2018-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:50+0000\n"
+"PO-Revision-Date: 2016-08-05 13:14+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,14 +24,14 @@ msgstr ""
#. module: website_sale_digital
#: model:ir.model,name:website_sale_digital.model_ir_attachment
msgid "Attachment"
-msgstr "Долучення"
+msgstr "Прикріплення"
#. module: website_sale_digital
#: code:addons/website_sale_digital/models/product.py:23
#: code:addons/website_sale_digital/models/product.py:54
#, python-format
msgid "Digital Attachments"
-msgstr "Цифрові долучення"
+msgstr "Цифрові прикріплення"
#. module: website_sale_digital
#: model_terms:ir.ui.view,arch_db:website_sale_digital.product_product_view_form_inherit_digital
@@ -41,6 +41,7 @@ msgstr "Цифрові файли"
#. module: website_sale_digital
#: model:ir.model.fields,field_description:website_sale_digital.field_ir_attachment__product_downloadable
+#: model:ir.model.fields,field_description:website_sale_digital.field_mrp_document__product_downloadable
msgid "Downloadable from product portal"
msgstr "Завантажується з порталу товарів"
@@ -79,8 +80,3 @@ msgstr "Штука(и)"
#: model:product.template,name:website_sale_digital.product_1
msgid "eBook: Office Renovation for Dummies"
msgstr "Електронна книга: Офісний ремонт для чайників"
-
-#. module: website_sale_digital
-#: model:product.template,weight_uom_name:website_sale_digital.product_1
-msgid "kg"
-msgstr "кг"
diff --git a/addons/website_sale_management/i18n/uk.po b/addons/website_sale_management/i18n/uk.po
index a03ab8d3050..6940d82c595 100644
--- a/addons/website_sale_management/i18n/uk.po
+++ b/addons/website_sale_management/i18n/uk.po
@@ -3,16 +3,15 @@
# * website_sale_management
#
# Translators:
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Alina Lisnenko <alinasemeniuk1@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-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"PO-Revision-Date: 2017-12-13 15:01+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -33,4 +32,4 @@ msgstr ""
#: code:addons/website_sale_management/static/src/xml/website_sale_dashboard.xml:6
#, python-format
msgid "Orders to Invoice"
-msgstr "Замовлення для рахунку"
+msgstr "Перетворення замовлення у рахунок"
diff --git a/addons/website_sale_stock/i18n/uk.po b/addons/website_sale_stock/i18n/uk.po
index 667f47824a1..edae2d5f383 100644
--- a/addons/website_sale_stock/i18n/uk.po
+++ b/addons/website_sale_stock/i18n/uk.po
@@ -4,16 +4,17 @@
#
# Translators:
# Bohdan Lisnenko, 2018
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# ТАрас <tratatuta@i.ua>, 2018
+# Martin Trigaux, 2019
+# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:18+0000\n"
-"PO-Revision-Date: 2018-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"POT-Creation-Date: 2019-03-20 13:50+0000\n"
+"PO-Revision-Date: 2016-08-05 13:14+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -120,8 +121,8 @@ msgstr "Шаблон товару"
#. module: website_sale_stock
#: model:ir.model,name:website_sale_stock.model_sale_order
-msgid "Sale Order"
-msgstr "Замовлення"
+msgid "Sales Order"
+msgstr "Замовлення на продаж"
#. module: website_sale_stock
#: model:ir.model,name:website_sale_stock.model_sale_order_line
@@ -132,7 +133,7 @@ msgstr "Рядок замовлення"
#: selection:product.template,inventory_availability:0
#: selection:res.config.settings,inventory_availability:0
msgid "Sell regardless of inventory"
-msgstr "Продавати незалежно від запасу"
+msgstr "Продавайте незалежно від запасу"
#. module: website_sale_stock
#: selection:product.template,inventory_availability:0
@@ -147,7 +148,8 @@ msgstr ""
#: selection:res.config.settings,inventory_availability:0
msgid "Show inventory on website and prevent sales if not enough stock"
msgstr ""
-"Показати запас на веб-сайті та запобігти продажам, якщо не вистачає запасів"
+"Показуйте запас на веб-сайті та запобігайте продажам, якщо не вистачає "
+"запасів"
#. module: website_sale_stock
#: selection:product.template,inventory_availability:0
diff --git a/addons/website_sale_wishlist/i18n/uk.po b/addons/website_sale_wishlist/i18n/uk.po
index 00f6908c4bb..a2704ac20a9 100644
--- a/addons/website_sale_wishlist/i18n/uk.po
+++ b/addons/website_sale_wishlist/i18n/uk.po
@@ -3,16 +3,18 @@
# * website_sale_wishlist
#
# Translators:
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Bohdan Lisnenko, 2018
+# ТАрас <tratatuta@i.ua>, 2018
+# Martin Trigaux, 2019
+# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server saas~11.5\n"
+"Project-Id-Version: Odoo Server saas~12.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-21 13:18+0000\n"
-"PO-Revision-Date: 2018-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"POT-Creation-Date: 2019-01-16 08:00+0000\n"
+"PO-Revision-Date: 2017-07-17 09:13+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,6 +37,12 @@ msgid "<small><i class=\"fa fa-trash-o\"/> Remove</small>"
msgstr "<small><i class=\"fa fa-trash-o\"/> Видалити</small>"
#. module: website_sale_wishlist
+#: model_terms:ir.ui.view,arch_db:website_sale_wishlist.add_to_wishlist
+#: model_terms:ir.ui.view,arch_db:website_sale_wishlist.product_add_to_wishlist
+msgid "<span class=\"fa fa-heart\" role=\"img\" aria-label=\"Add to wishlist\"/>"
+msgstr "<span class=\"fa fa-heart\" role=\"img\" aria-label=\"Add to wishlist\"/>"
+
+#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist__active
msgid "Active"
msgstr "Активно"
@@ -128,19 +136,25 @@ msgstr "Ціна товару, коли він був доданий до спи
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist__pricelist_id
msgid "Pricelist"
-msgstr "Прайслист"
+msgstr "Прайс-лист"
#. module: website_sale_wishlist
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist__pricelist_id
msgid "Pricelist when added"
-msgstr "Прайслист, коли додано"
+msgstr "Прайс-лист, коли додано"
#. module: website_sale_wishlist
+#: model:ir.model,name:website_sale_wishlist.model_product_product
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist__product_id
msgid "Product"
msgstr "Товар"
#. module: website_sale_wishlist
+#: model:ir.model,name:website_sale_wishlist.model_product_template
+msgid "Product Template"
+msgstr "Шаблон товару"
+
+#. module: website_sale_wishlist
#: model:ir.model,name:website_sale_wishlist.model_product_wishlist
msgid "Product Wishlist"
msgstr "Список бажаних товарів"
diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py
index e858fad831c..313b76b55d3 100644
--- a/addons/website_slides/models/slide_channel.py
+++ b/addons/website_slides/models/slide_channel.py
@@ -22,12 +22,13 @@ class ChannelUsersRelation(models.Model):
partner_id = fields.Many2one('res.partner', index=True, required=True)
partner_email = fields.Char(related='partner_id.email', readonly=True)
- @api.depends('channel_id.slide_partner_ids.partner_id', 'channel_id.slide_partner_ids.completed', 'partner_id')
+ @api.depends('channel_id.slide_partner_ids.partner_id', 'channel_id.slide_partner_ids.completed', 'partner_id', 'channel_id.slide_partner_ids.slide_id.is_published')
def _compute_completion(self):
read_group_res = self.env['slide.slide.partner'].sudo().read_group(
['&', '&', ('channel_id', 'in', self.mapped('channel_id').ids),
('partner_id', 'in', self.mapped('partner_id').ids),
- ('completed', '=', True)],
+ ('completed', '=', True),
+ ('slide_id.is_published', '=', True)],
['channel_id', 'partner_id'],
groupby=['channel_id', 'partner_id'], lazy=False)
mapped_data = dict()
diff --git a/addons/website_slides/tests/test_statistics.py b/addons/website_slides/tests/test_statistics.py
index 46dd3e3c1ef..5321eb0c611 100644
--- a/addons/website_slides/tests/test_statistics.py
+++ b/addons/website_slides/tests/test_statistics.py
@@ -75,6 +75,15 @@ class TestStatistics(common.SlidesCase):
self.assertEqual(channel_emp.completion, 100)
self.assertTrue(channel_emp.completed)
+ self.slide_3.is_published = False
+ self.assertEqual(channel_emp.completion, 100)
+ self.assertTrue(channel_emp.completed)
+
+ self.slide_3.is_published = True
+ self.slide_3.active = False
+ self.assertEqual(channel_emp.completion, 100)
+ self.assertTrue(channel_emp.completed)
+
@mute_logger('odoo.models')
def test_channel_user_statistics_complete_check_member(self):
(self.slide | self.slide_2).write({'is_preview': True})
diff --git a/addons/website_theme_install/i18n/uk.po b/addons/website_theme_install/i18n/uk.po
index 5508cc97465..8f317e3b9d9 100644
--- a/addons/website_theme_install/i18n/uk.po
+++ b/addons/website_theme_install/i18n/uk.po
@@ -3,19 +3,19 @@
# * website_theme_install
#
# Translators:
-# Zoriana Zaiats, 2018
-# Bohdan Lisnenko, 2018
-# ТАрас <tratatuta@i.ua>, 2018
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Martin Trigaux, 2019
+# Zoriana Zaiats, 2019
+# Bohdan Lisnenko, 2019
+# ТАрас <tratatuta@i.ua>, 2019
+# Alina Lisnenko <alinasemeniuk1@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-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"PO-Revision-Date: 2017-02-15 11:04+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,22 +31,22 @@ msgstr "Активно"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_ui_view__arch
msgid "Arch"
-msgstr ""
+msgstr "Структура"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_ui_view__arch_fs
msgid "Arch Fs"
-msgstr ""
+msgstr "Шлях до структури"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_ir_attachment
msgid "Attachment"
-msgstr "Вкладення"
+msgstr "Прикріплення"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_attachment__copy_ids
msgid "Attachment using a copy of me"
-msgstr ""
+msgstr "Прикріплення використовує мою копію"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_search
@@ -72,12 +72,12 @@ msgstr "Категорія"
#: model_terms:ir.ui.view,arch_db:website_theme_install.res_config_settings_view_form
#: model_terms:ir.ui.view,arch_db:website_theme_install.view_website_form_view_themes_modal
msgid "Choose a theme"
-msgstr ""
+msgstr "Вибрати тему"
#. module: website_theme_install
#: model:ir.actions.act_window,name:website_theme_install.theme_install_kanban_action
msgid "Choose a theme for your website"
-msgstr ""
+msgstr "Виберіть тему для вашого веб-сайту"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_res_company
@@ -92,7 +92,7 @@ msgstr "Налаштування"
#. module: website_theme_install
#: model:ir.actions.server,name:website_theme_install.theme_install_todo_action
msgid "Config: Choose Your Theme"
-msgstr "Налаштування: Оберіть вашу тему"
+msgstr "Налашт.: Оберіть вашу тему"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_attachment__create_uid
@@ -108,7 +108,7 @@ msgstr "Створив"
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_menu__create_date
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_page__create_date
msgid "Created on"
-msgstr "Створено"
+msgstr "Створено на"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_attachment__display_name
@@ -146,7 +146,7 @@ msgstr "Встановлено"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_ir_module_module__is_installed_on_current_website
msgid "Is Installed On Current Website"
-msgstr ""
+msgstr "Чи встановлено на поточному веб-сайті?"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_ir_attachment__key
@@ -162,7 +162,7 @@ msgstr "Ключ"
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_menu____last_update
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_page____last_update
msgid "Last Modified on"
-msgstr "Остання модифікація"
+msgstr "Останні зміни на"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_attachment__write_uid
@@ -183,7 +183,7 @@ msgstr "Останнє оновлення"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.onboarding_website_theme_step
msgid "Let's start!"
-msgstr ""
+msgstr "Давайте почнемо!"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_kanban
@@ -193,7 +193,7 @@ msgstr "Попередній перегляд"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_menu__copy_ids
msgid "Menu using a copy of me"
-msgstr ""
+msgstr "Меню використовує мою копію"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_ui_view__mode
@@ -220,7 +220,7 @@ msgstr "Нове вікно"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_res_company__website_theme_onboarding_done
msgid "Onboarding website theme step done"
-msgstr ""
+msgstr "Крок долучення теми веб-сайту виконано"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_website_page
@@ -251,7 +251,7 @@ msgstr "Пріоритет"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_kanban
msgid "Remove theme"
-msgstr ""
+msgstr "Вилучити тему"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_ir_module_module__image_ids
@@ -261,7 +261,7 @@ msgstr "Скріншоти"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.onboarding_website_theme_step
msgid "Select a theme for your website."
-msgstr ""
+msgstr "Виберіть тему для вашого веб-сайту."
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_menu__sequence
@@ -274,6 +274,8 @@ msgid ""
"Technical field used to resolve multiple attachments in a multi-website "
"environment."
msgstr ""
+"Технічне поле, що використовується для вирішення кількох вкладень у "
+"середовищі з кількома веб-сайтами."
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_search
@@ -283,7 +285,7 @@ msgstr "Тема"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_theme_ir_attachment
msgid "Theme Attachments"
-msgstr ""
+msgstr "Прикріплення теми"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_ir_attachment__theme_template_id
@@ -292,12 +294,12 @@ msgstr ""
#: model:ir.model.fields,field_description:website_theme_install.field_website_menu__theme_template_id
#: model:ir.model.fields,field_description:website_theme_install.field_website_page__theme_template_id
msgid "Theme Template"
-msgstr ""
+msgstr "Шаблон теми"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_theme_ir_ui_view
msgid "Theme UI View"
-msgstr ""
+msgstr "Перегляд користувацького інтерфейсу теми"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_theme_utils
@@ -307,12 +309,12 @@ msgstr "Утиліти теми"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_kanban
msgid "Theme preview"
-msgstr ""
+msgstr "Попередній перегляд теми"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_website_page__copy_ids
msgid "Theme using a copy of me"
-msgstr ""
+msgstr "Тема з використанням копії мене"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_ui_view__type
@@ -322,7 +324,7 @@ msgstr "Тип"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_kanban
msgid "Update theme"
-msgstr ""
+msgstr "Оновити тему"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_attachment__url
@@ -334,7 +336,7 @@ msgstr "URL"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_kanban
msgid "Use this theme"
-msgstr ""
+msgstr "Використовувати цю тему"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_ir_ui_view
@@ -345,7 +347,7 @@ msgstr "Перегляд"
#. module: website_theme_install
#: model:ir.model.fields,field_description:website_theme_install.field_theme_ir_ui_view__copy_ids
msgid "Views using a copy of me"
-msgstr ""
+msgstr "Перегляди використовують мою копію"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_website
@@ -365,17 +367,17 @@ msgstr "Тема сайту"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_theme_website_menu
msgid "Website Theme Menu"
-msgstr ""
+msgstr "Меню теми веб-сайту"
#. module: website_theme_install
#: model:ir.model,name:website_theme_install.model_theme_website_page
msgid "Website Theme Page"
-msgstr ""
+msgstr "Сторінка теми веб-сайту"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.customize_modal
msgid "install a theme"
-msgstr ""
+msgstr "встановити тему"
#. module: website_theme_install
#: selection:theme.ir.ui.view,inherit_id:0
@@ -385,9 +387,9 @@ msgstr "ir.ui.view"
#. module: website_theme_install
#: selection:theme.ir.ui.view,inherit_id:0
msgid "theme.ir.ui.view"
-msgstr ""
+msgstr "theme.ir.ui.view"
#. module: website_theme_install
#: model_terms:ir.ui.view,arch_db:website_theme_install.customize_modal
msgid "to customize your website."
-msgstr ""
+msgstr "щоб налаштувати ваш веб-сайт."
diff --git a/addons/website_twitter/i18n/uk.po b/addons/website_twitter/i18n/uk.po
index 92e03545cb0..3764ed4c35c 100644
--- a/addons/website_twitter/i18n/uk.po
+++ b/addons/website_twitter/i18n/uk.po
@@ -3,16 +3,17 @@
# * website_twitter
#
# Translators:
-# Martin Trigaux, 2018
-# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018
+# Bohdan Lisnenko, 2018
+# ТАрас <tratatuta@i.ua>, 2018
+# Alina Lisnenko <alinasemeniuk1@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-08-24 09:35+0000\n"
-"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2018\n"
+"PO-Revision-Date: 2016-08-05 13:21+0000\n"
+"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2019\n"
"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,6 +27,8 @@ msgid ""
"<i class=\"fa fa-arrow-right\"/>\n"
" Show me how to obtain the Twitter API key and Twitter API secret"
msgstr ""
+"<i class=\"fa fa-arrow-right\"/>\n"
+" Покажіть мені, як отримати секретний ключ API для Twitter і API Twitter"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -33,21 +36,23 @@ msgid ""
"<span class=\"o_form_label\">Twitter Roller</span>\n"
" <span class=\"fa fa-lg fa-globe\" title=\"Values set here are website-specific.\" groups=\"website.group_multi_website\"/>"
msgstr ""
+"<span class=\"o_form_label\">Прокручування Twitter</span>\n"
+" <span class=\"fa fa-lg fa-globe\" title=\"Values set here are website-specific.\" groups=\"website.group_multi_website\"/>"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "<strong>Callback URL: </strong>Leave blank"
-msgstr ""
+msgstr "<strong>URL-адреса зворотнього виклику: </strong>Залишити порожнім"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "<strong>Description: </strong> Odoo Twitter Integration"
-msgstr ""
+msgstr "<strong>Опис: </strong> Інтеграція Odoo Twitter"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "<strong>Name: </strong> Odoo Twitter Integration"
-msgstr ""
+msgstr "<strong>Назва: </strong> Інтеграція Odoo Twitter"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -64,7 +69,7 @@ msgstr "Ключ API "
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings__twitter_api_secret
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "API secret"
-msgstr "Секретний API"
+msgstr "Пароль API"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -72,6 +77,8 @@ msgid ""
"Accept terms of use and click on the Create your Twitter application button "
"at the bottom"
msgstr ""
+"Прийміть умови використання та натисніть кнопку Створити свою заявку на "
+"Twitter внизу"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:16
@@ -94,6 +101,8 @@ msgid ""
"Copy/Paste Consumer Key (API Key) and Consumer Secret (API Secret) keys "
"below."
msgstr ""
+"Скопіюйте та вставте нижче наведений ключ (ключ API) та Секретний ключ "
+"користувача (секретний API)."
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -119,18 +128,18 @@ msgstr "Назва для відображення"
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings__twitter_screen_name
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Favorites From"
-msgstr "Закладки з"
+msgstr "Найкращі форми"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website__twitter_screen_name
msgid "Get favorites from this screen name"
-msgstr "Отримайте закладки з назви цього екрана"
+msgstr "Отримайте найкращі із цього екрана"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:48
#, python-format
msgid "HTTP Error: Something is misconfigured"
-msgstr "Помилка HTTP: Щось неправильно налаштовано"
+msgstr "Помилка HTTP: Щось неправильно налаштоване"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -215,7 +224,7 @@ msgid ""
"does not have to match the API Key/Secret."
msgstr ""
"Назва екрану облікового запису Twitter, з якого ви хочете завантажити "
-"закладки. Він не повинен відповідати ключу/паролю API."
+"улюблені. Він не повинен відповідати ключу/паролю API."
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
@@ -310,7 +319,7 @@ msgstr "Пароль API твіттера"
#. module: website_twitter
#: model:ir.model.fields,help:website_twitter.field_res_config_settings__twitter_api_secret
msgid "Twitter API secret you can get it from https://apps.twitter.com/"
-msgstr "Секретний API твіттера ви можете отримати з https://apps.twitter.com/"
+msgstr "Секрет Twitter API ви можете отримати з https://apps.twitter.com/"
#. module: website_twitter
#. openerp-web
@@ -329,7 +338,7 @@ msgstr "Помилка авторизації Twitter!"
#: code:addons/website_twitter/models/res_config_settings.py:20
#, python-format
msgid "Twitter is down or being upgraded."
-msgstr "Твіттер впав або оновлюється."
+msgstr "Твіттер падає або оновлюється."
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:19
@@ -344,12 +353,12 @@ msgstr ""
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings__twitter_server_uri
msgid "Twitter server uri"
-msgstr ""
+msgstr "uri сервера Twitter"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Twitter tutorial"
-msgstr ""
+msgstr "Інструкція Twitter"
#. module: website_twitter
#: code:addons/website_twitter/controllers/main.py:37
@@ -358,7 +367,7 @@ msgid ""
"Twitter user @%(username)s has less than 12 favorite tweets. Please add more"
" or choose a different screen name."
msgstr ""
-"Користувач Twitter @%(username)s має менше ніж 12 кращих твітів. Будь-ласка,"
+"Користувач Twitter @%(username)s має менже ніж 12 кращих твітів. Будь-ласка,"
" додайте більше або оберіть іншу назву екрану."
#. module: website_twitter
@@ -366,14 +375,14 @@ msgstr ""
#: code:addons/website_twitter/static/src/xml/website.twitter.xml:6
#, python-format
msgid "Twitter's user"
-msgstr ""
+msgstr "Користувачі Twitter"
#. module: website_twitter
#: model:ir.actions.server,name:website_twitter.ir_cron_twitter_actions_ir_actions_server
#: model:ir.cron,cron_name:website_twitter.ir_cron_twitter_actions
#: model:ir.cron,name:website_twitter.ir_cron_twitter_actions
msgid "Twitter: Fetch new favorites"
-msgstr "Twitter: Отримайте нові закладки"
+msgstr "Twitter: Отримайте нові обрані"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:58
@@ -391,7 +400,7 @@ msgstr "Веб-сайт"
#. module: website_twitter
#: model:ir.model,name:website_twitter.model_website_twitter_tweet
msgid "Website Twitter"
-msgstr ""
+msgstr "Веб-сайт Twitter"
#. module: website_twitter
#: model_terms:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form