diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index ef446d59c7e..dc3e92cd88a 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -440,7 +440,7 @@ class AccountInvoice(models.Model): vendor_display_name = _('From: ') + invoice.source_email invoice.invoice_icon = '@' else: - vendor_display_name = ('Created by: ') + invoice.sudo().create_uid.name + vendor_display_name = _('Created by: %s') % invoice.sudo().create_uid.name invoice.invoice_icon = '#' invoice.vendor_display_name = vendor_display_name @@ -1568,6 +1568,8 @@ class AccountInvoice(models.Model): values['type'] = TYPE2REFUND[invoice['type']] values['date_invoice'] = date_invoice or fields.Date.context_today(invoice) + if values.get('date_due', False) and values['date_invoice'] > values['date_due']: + values['date_due'] = values['date_invoice'] values['state'] = 'draft' values['number'] = False values['origin'] = invoice.number diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py index db91c34a07c..7a6e334b939 100644 --- a/addons/account/models/partner.py +++ b/addons/account/models/partner.py @@ -451,6 +451,7 @@ class ResPartner(models.Model): return {'domain': {'property_account_position_id': [('company_id', 'in', [company.id, False])]}} def can_edit_vat(self): + ''' Can't edit `vat` if there is (non draft) issued invoices. ''' can_edit_vat = super(ResPartner, self).can_edit_vat() if not can_edit_vat: return can_edit_vat diff --git a/addons/account_bank_statement_import/i18n/cs.po b/addons/account_bank_statement_import/i18n/cs.po index 7c937e76dfe..1519d119f77 100644 --- a/addons/account_bank_statement_import/i18n/cs.po +++ b/addons/account_bank_statement_import/i18n/cs.po @@ -225,12 +225,12 @@ msgstr "Vytvořeno" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__refund_sequence_id msgid "Credit Note Entry Sequence" -msgstr "" +msgstr "Postup při zadávání dobropisu" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__refund_sequence_number_next msgid "Credit Notes: Next Number" -msgstr "" +msgstr "Dobropisy: Další číslo" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__currency_id @@ -363,7 +363,7 @@ msgstr "Chová se jako výchozí účet pro částku Má dáti" #. module: account_bank_statement_import #: model:ir.model.fields,help:account_bank_statement_import.field_account_bank_statement_import_journal_creation__alias_name msgid "It creates draft vendor bill by sending an email." -msgstr "" +msgstr "Vytvoří návrh vyúčtování dodavatele odesláním e-mailu." #. module: account_bank_statement_import #: model:ir.model,name:account_bank_statement_import.model_account_journal diff --git a/addons/account_voucher/models/account_voucher.py b/addons/account_voucher/models/account_voucher.py index f071b6cd187..3cb54bf3b43 100644 --- a/addons/account_voucher/models/account_voucher.py +++ b/addons/account_voucher/models/account_voucher.py @@ -353,14 +353,19 @@ class AccountVoucher(models.Model): temp['amount_currency'] = company_cur._convert(tax_vals['amount'], current_cur, line.company_id, self.account_date or fields.Date.today(), round=True) self.env['account.move.line'].create(temp) - self.env['account.move.line'].create(move_line) # When global rounding is activated, we must wait until all tax lines are computed to # merge them. if tax_calculation_rounding_method == 'round_globally': + # _apply_taxes modifies the dict move_line in place to account for included/excluded taxes tax_lines_vals += self.env['account.move.line'].with_context(round=False)._apply_taxes( move_line, move_line.get('debit', 0.0) - move_line.get('credit', 0.0) ) + # rounding False means the move_line's amount are not rounded + currency = self.env['res.currency'].browse(company_currency) + move_line['debit'] = currency.round(move_line['debit']) + move_line['credit'] = currency.round(move_line['credit']) + self.env['account.move.line'].create(move_line) # When round globally is set, we merge the tax lines if tax_calculation_rounding_method == 'round_globally': diff --git a/addons/auth_signup/i18n/cs.po b/addons/auth_signup/i18n/cs.po index 727d76c5e03..6f2578093e8 100644 --- a/addons/auth_signup/i18n/cs.po +++ b/addons/auth_signup/i18n/cs.po @@ -572,6 +572,9 @@ msgid "" "list view and click on 'Portal Access Management' option in the dropdown " "menu *Action*." msgstr "" +"Chcete-li posílat pozvánky v režimu B2B, otevřete kontakt nebo vyberte " +"několik v zobrazení seznamu a klikněte na možnost Správa portálového " +"přístupu v rozevírací nabídce *Akce*." #. module: auth_signup #: model:ir.model,name:auth_signup.model_res_users diff --git a/addons/barcodes/i18n/cs.po b/addons/barcodes/i18n/cs.po index f1f7aff04c8..10df8ec7fba 100644 --- a/addons/barcodes/i18n/cs.po +++ b/addons/barcodes/i18n/cs.po @@ -412,7 +412,7 @@ msgstr "UPC/EAN konverze" #. module: barcodes #: selection:barcode.rule,type:0 msgid "Unit Product" -msgstr "" +msgstr "Jednotkový produkt" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__sequence diff --git a/addons/base_automation/i18n/it.po b/addons/base_automation/i18n/it.po index a4763cc04d0..3abaf8fb905 100644 --- a/addons/base_automation/i18n/it.po +++ b/addons/base_automation/i18n/it.po @@ -285,7 +285,7 @@ msgstr "Tipo di scadenza" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__template_id msgid "Email Template" -msgstr "Template Email" +msgstr "Modello e-mail" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__xml_id diff --git a/addons/base_import/i18n/it.po b/addons/base_import/i18n/it.po index 5ebf5d301ba..9e6616d0855 100644 --- a/addons/base_import/i18n/it.po +++ b/addons/base_import/i18n/it.po @@ -309,9 +309,7 @@ msgstr "Sembra tutto corretto." #: code:addons/base_import/static/src/xml/base_import.xml:82 #, python-format msgid "Excel files are recommended as fields formatting is automatic." -msgstr "" -"File Excel sono raccomandati dato che la formattazione dei campi è " -"automatica." +msgstr "Sono consigliati file Excel, la formattazione dei campi è automatica." #. module: base_import #: code:addons/base_import/models/base_import.py:169 @@ -570,7 +568,7 @@ msgstr "Ultimo aggiornamento il" #: code:addons/base_import/static/src/xml/base_import.xml:101 #, python-format msgid "Load File" -msgstr "Carica File" +msgstr "Carica file" #. module: base_import #. openerp-web @@ -651,7 +649,7 @@ msgstr "Res Model" #: code:addons/base_import/static/src/xml/base_import.xml:79 #, python-format msgid "Select a CSV or Excel file to import." -msgstr "Selezionare un file CSV o Excel da importare." +msgstr "Seleziona un file CSV o Excel da importare." #. module: base_import #. openerp-web diff --git a/addons/delivery/i18n/km.po b/addons/delivery/i18n/km.po index d212eedeb13..1cfb84dde39 100644 --- a/addons/delivery/i18n/km.po +++ b/addons/delivery/i18n/km.po @@ -140,7 +140,7 @@ msgstr "" #. module: delivery #: selection:delivery.carrier,delivery_type:0 msgid "Based on Rules" -msgstr "" +msgstr "ផ្តោតលើច្បាប់" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_stock_picking__weight_bulk @@ -160,7 +160,7 @@ msgstr "លុបចោល" #: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_search #: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_tree msgid "Carrier" -msgstr "" +msgstr "ក្រុមហ៊ុនដឹកជញ្ជូន" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_delivery_carrier__company_id @@ -224,7 +224,7 @@ msgstr "" #. module: delivery #: model_terms:ir.ui.view,arch_db:delivery.view_delivery_carrier_search msgid "Delivery Carrier" -msgstr "" +msgstr "ក្រុមហ៊ុនដឹកជញ្ជូន" #. module: delivery #: model_terms:ir.ui.view,arch_db:delivery.view_delivery_price_rule_form @@ -255,7 +255,7 @@ msgstr "" #: model:ir.ui.menu,name:delivery.sale_menu_action_delivery_carrier_form #: model_terms:ir.ui.view,arch_db:delivery.res_config_settings_view_form msgid "Delivery Methods" -msgstr "" +msgstr "វិធីសាស្ត្រដឹកជញ្ជូន" #. module: delivery #: model:ir.model,name:delivery.model_choose_delivery_package @@ -358,7 +358,7 @@ msgstr "" #: selection:delivery.carrier,delivery_type:0 #: model:ir.model.fields,field_description:delivery.field_delivery_carrier__fixed_price msgid "Fixed Price" -msgstr "" +msgstr "តំលៃថេរ" #. module: delivery #: model:delivery.carrier,name:delivery.free_delivery_carrier @@ -520,7 +520,7 @@ msgstr "ឈ្មោះ" #. module: delivery #: selection:product.packaging,package_carrier_type:0 msgid "No carrier integration" -msgstr "" +msgstr "គ្មានការបញ្ចូលក្រុមហ៊ុន" #. module: delivery #: code:addons/delivery/models/sale_order.py:80 @@ -623,7 +623,7 @@ msgstr "" #. module: delivery #: model:ir.model,name:delivery.model_product_packaging msgid "Product Packaging" -msgstr "" +msgstr "កញ្ជាប់ផលិតផល" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_delivery_carrier__delivery_type @@ -652,7 +652,7 @@ msgstr "" #. module: delivery #: model:ir.model,name:delivery.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_delivery_price_rule__list_price @@ -772,7 +772,7 @@ msgstr "" #. module: delivery #: model_terms:ir.ui.view,arch_db:delivery.view_picking_withcarrier_out_form msgid "Tracking" -msgstr "" +msgstr "ការ​តាមដាន" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_stock_picking__carrier_tracking_ref @@ -807,7 +807,7 @@ msgstr "" #: model:product.template,uom_name:delivery.product_product_delivery_poste_product_template #: model:product.template,uom_name:delivery.product_product_delivery_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: delivery #: model:ir.model.fields,field_description:delivery.field_delivery_price_rule__variable @@ -923,4 +923,4 @@ msgstr "" #: model:product.template,weight_uom_name:delivery.product_product_delivery_poste_product_template #: model:product.template,weight_uom_name:delivery.product_product_delivery_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" diff --git a/addons/event/i18n/cs.po b/addons/event/i18n/cs.po index 0a2c6aafbcf..0ef761f4ffd 100644 --- a/addons/event/i18n/cs.po +++ b/addons/event/i18n/cs.po @@ -37,7 +37,7 @@ msgstr "%s (kopie)" #. module: event #: model_terms:event.event,description:event.event_0 msgid "5 Intensive Days" -msgstr "" +msgstr "5 Intenzivních dnů" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_kanban @@ -45,6 +45,8 @@ msgid "" "\n" " To" msgstr "" +"\n" +" Do" #. module: event #: model:mail.template,body_html:event.event_registration_mail_template_badge @@ -133,7 +135,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_2 msgid "Conference for Architects" -msgstr "" +msgstr "Konference pro Architekty" #. module: event #: model_terms:event.event,description:event.event_0 @@ -573,7 +575,7 @@ msgstr "" #. module: event #: model_terms:ir.actions.act_window,help:event.action_event_view msgid "Add a new event" -msgstr "" +msgstr "Přidat novou událost" #. module: event #: model_terms:event.event,description:event.event_0 @@ -590,7 +592,7 @@ msgstr "" #: selection:event.mail,interval_type:0 #: selection:event.type.mail,interval_type:0 msgid "After the event" -msgstr "" +msgstr "Po události" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_search @@ -609,7 +611,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Arrays" -msgstr "" +msgstr "Pole" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__message_attachment_count @@ -620,7 +622,7 @@ msgstr "Počet příloh" #. module: event #: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form msgid "Attendance" -msgstr "Účast" +msgstr "Docházka" #. module: event #: selection:event.registration,state:0 @@ -638,7 +640,7 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree msgid "Attended the Event" -msgstr "" +msgstr "zúčastnil se akce" #. module: event #: model:ir.model.fields,field_description:event.field_event_mail_registration__registration_id @@ -650,7 +652,7 @@ msgstr "Účastník" #: model:ir.model.fields,field_description:event.field_event_registration__name #: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge msgid "Attendee Name" -msgstr "" +msgstr "Jméno účastníka" #. module: event #: model:ir.actions.act_window,name:event.act_event_registration_from_event @@ -675,7 +677,7 @@ msgstr "" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__use_mail_schedule msgid "Automatically Send Emails" -msgstr "" +msgstr "Automaticky odesílat e-maily" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__seats_available @@ -836,7 +838,7 @@ msgstr "Potvrzeno" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_kanban msgid "Confirmed attendees" -msgstr "" +msgstr "Potvrzení účastníci" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_search @@ -911,7 +913,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Day 3" -msgstr "" +msgstr "Den 3" #. module: event #: selection:event.mail,interval_unit:0 @@ -1060,7 +1062,7 @@ msgstr "" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__event_logo msgid "Event Logo" -msgstr "" +msgstr "Logo Události" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_mail_form @@ -1172,7 +1174,7 @@ msgstr "" #. module: event #: model:event.type,name:event.event_type_1 msgid "Exhibition" -msgstr "" +msgstr "Výstava" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_registration_search @@ -1182,7 +1184,7 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_kanban msgid "Expected attendees" -msgstr "" +msgstr "Očekávaní účastníci" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_form @@ -1496,7 +1498,7 @@ msgstr "Manažer" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__seats_availability msgid "Maximum Attendees" -msgstr "" +msgstr "Maximum účastníků" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__seats_max @@ -1506,7 +1508,7 @@ msgstr "" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__default_registration_max msgid "Maximum Registrations" -msgstr "" +msgstr "Maximum registrací" #. module: event #: code:addons/event/models/event.py:258 @@ -1530,12 +1532,12 @@ msgstr "Zprávy" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__seats_min msgid "Minimum Attendees" -msgstr "" +msgstr "Minimum účastníků" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__default_registration_min msgid "Minimum Registrations" -msgstr "" +msgstr "Minimum registrací" #. module: event #: model_terms:event.event,description:event.event_0 @@ -1613,7 +1615,7 @@ msgstr "Počet nepřečtených zpráv" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Odoo Official Website" -msgstr "" +msgstr "Oficiální webová strana Odoo" #. module: event #: model_terms:event.event,description:event.event_0 @@ -1641,7 +1643,7 @@ msgstr "" #. module: event #: model:ir.model.fields,field_description:event.field_res_config_settings__module_website_event_sale msgid "Online Ticketing" -msgstr "" +msgstr "Online prodej vstupenek" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_type_form @@ -1776,7 +1778,7 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_mail_form msgid "Registration mail" -msgstr "" +msgstr "Registrační e-mail" #. module: event #: model_terms:event.event,description:event.event_0 @@ -1875,7 +1877,7 @@ msgstr "Nastavení" #. module: event #: model:event.type,name:event.event_type_3 msgid "Show" -msgstr "" +msgstr "Šou" #. module: event #: model:ir.model.fields,field_description:event.field_event_registration__origin @@ -1943,7 +1945,7 @@ msgstr "Časové pásmo" #. module: event #: model_terms:event.event,description:event.event_0 msgid "To get more information, visit the" -msgstr "" +msgstr "Pro více informací, navštivte " #. module: event #: model:ir.model.fields,field_description:event.field_res_config_settings__module_website_event_track @@ -2036,7 +2038,7 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_search msgid "Upcoming/Running" -msgstr "" +msgstr "Nadcházející / Probíhající" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__use_hashtag @@ -2088,7 +2090,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "What you will learn?" -msgstr "" +msgstr "Co se naučíte?" #. module: event #: model_terms:event.event,description:event.event_0 @@ -2115,12 +2117,12 @@ msgstr "" #. module: event #: model:mail.template,subject:event.event_subscription msgid "Your registration at ${object.event_id.name}" -msgstr "" +msgstr "Vaše registrace na ${object.event_id.name}" #. module: event #: model:mail.template,report_name:event.event_registration_mail_template_badge msgid "badge_of_${(object.event_id.name or '').replace('/','_')}" -msgstr "" +msgstr "badge_of_${(object.event_id.name or '').replace('/','_')}" #. module: event #: model_terms:event.event,description:event.event_0 @@ -2142,13 +2144,13 @@ msgstr "" #: code:addons/event/models/event.py:530 #, python-format msgid "next month" -msgstr "" +msgstr "příští měsíc" #. module: event #: code:addons/event/models/event.py:528 #, python-format msgid "next week" -msgstr "" +msgstr "příští týden" #. module: event #: code:addons/event/models/event.py:532 @@ -2160,7 +2162,7 @@ msgstr "" #: code:addons/event/models/event.py:522 #, python-format msgid "today" -msgstr "" +msgstr "dnes" #. module: event #: code:addons/event/models/event.py:524 diff --git a/addons/event/i18n/km.po b/addons/event/i18n/km.po index 02258aa2c25..5639f782f92 100644 --- a/addons/event/i18n/km.po +++ b/addons/event/i18n/km.po @@ -44,6 +44,8 @@ msgid "" "\n" " To" msgstr "" +"\n" +" ទៅ" #. module: event #: model:mail.template,body_html:event.event_registration_mail_template_badge @@ -74,6 +76,8 @@ msgid "" "to learn Odoo" " Programming" msgstr "" +"ដើម្បីរៀន " +"ធ្វើកម្មវិធី Odoo" #. module: event #: model_terms:event.event,description:event.event_0 @@ -98,7 +102,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge #: model_terms:ir.ui.view,arch_db:event.event_registration_report_template_badge msgid "to" -msgstr "" +msgstr "ទៅ" #. module: event #: model_terms:event.event,description:event.event_0 @@ -112,6 +116,9 @@ msgid "" " to\n" " " msgstr "" +"\n" +" ទៅ\n" +" " #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_confirm @@ -119,6 +126,9 @@ msgid "" "Warning: This Event has not reached its Minimum" " Registration Limit. Are you sure you want to confirm it?" msgstr "" +"ការព្រមាន​: " +"ព្រឹត្តការណ៍នេះមិនទាន់ទទួលបានការចុះឈ្មោះដល់កម្រិតអប្បបរមាទេ។ " +"តើអ្នកពិតជាចង់បញ្ជាក់ពីវាមែនទេ?" #. module: event #: model_terms:event.event,description:event.event_0 @@ -132,14 +142,14 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_2 msgid "Conference for Architects" -msgstr "" +msgstr "សិក្ខាសាលាសម្រាប់ស្ថាបតយ្យកម្ម" #. module: event #: model_terms:event.event,description:event.event_0 msgid "" "Having attended this course, participants should be able " "to:" -msgstr "" +msgstr "ដើម្បីបានចូលរួមមុខវិជ្ជានេះ, អ្នកចូលរួមគួរតែអាច:" #. module: event #: model_terms:event.event,description:event.event_0 @@ -150,22 +160,22 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Our prices include:" -msgstr "" +msgstr "តម្លៃរបស់ពួកយើងរួមបញ្ចូលទាំង:" #. module: event #: model_terms:event.event,description:event.event_2 msgid "Program:" -msgstr "" +msgstr "កម្មវិធី:" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Requirements:" -msgstr "" +msgstr "តម្រូវការ:" #. module: event #: model_terms:event.event,description:event.event_2 msgid "Where to find us:" -msgstr "" +msgstr "កន្លែងដែលស្វែងរកពួកយើង:" #. module: event #: model:mail.template,body_html:event.event_subscription @@ -356,6 +366,191 @@ msgid "" "\n" " " msgstr "" +"\n" +"\n" +"% if object.company_id\n" +"\n" +"% endif\n" +"
\n" +"% set date_begin = format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%SZ')\n" +"% set date_end = format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%SZ')\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" Your registration
\n" +" \n" +" ${object.name}\n" +" \n" +"
\n" +" \"${'%s'\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +"
\n" +" Hello ${object.name or ''},
\n" +" We are happy to confirm your registration to the event\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +" ${object.event_id.name}\n" +" % else:\n" +" ${object.event_id.name}\n" +" % endif\n" +" for attendee ${object.name}.\n" +"
\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +"
\n" +" View Event
\n" +"
\n" +" % endif\n" +"
\n" +" See you soon,
\n" +" \n" +" --
\n" +" % if object.event_id.organizer_id:\n" +" ${object.event_id.organizer_id.name}\n" +" % else:\n" +" The organizers.\n" +" % endif\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +" % if object.event_id.organizer_id:\n" +" \n" +" % endif\n" +" \n" +" \n" +" % if object.event_id.address_id:\n" +" \n" +" % endif\n" +"
\n" +" \n" +" \n" +" \n" +" \n" +" % if object.event_id.address_id.country_id.name:\n" +" \n" +" \n" +" % endif\n" +" \n" +"
\n" +" \"\"/\n" +" \n" +"
From ${object.event_id.date_begin_located}
\n" +"
To ${object.event_id.date_end_located}
\n" +"
TZ ${object.event_id.date_tz}
\n" +"
\n" +" \"\"/\n" +" \n" +" % set location = ''\n" +" % if object.event_id.address_id.name:\n" +"
${object.event_id.address_id.name}
\n" +" % endif\n" +" % if object.event_id.address_id.street:\n" +"
${object.event_id.address_id.street}
\n" +" % set location = object.event_id.address_id.street\n" +" % endif\n" +" % if object.event_id.address_id.street2:\n" +"
${object.event_id.address_id.street2}
\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n" +" % endif\n" +"
\n" +" % if object.event_id.address_id.city:\n" +" ${object.event_id.address_id.city},\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n" +" % endif\n" +" % if object.event_id.address_id.state_id.name:\n" +" ${object.event_id.address_id.state_id.name},\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n" +" % endif\n" +" % if object.event_id.address_id.zip:\n" +" ${object.event_id.address_id.zip}\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n" +" % endif\n" +"
\n" +" % if object.event_id.address_id.country_id.name:\n" +"
${object.event_id.address_id.country_id.name}
\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n" +" % endif\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" Questions about this event?\n" +"
Please contact the organizer:
\n" +"
    \n" +"
  • ${object.event_id.organizer_id.name}
  • \n" +" % if object.event_id.organizer_id.email\n" +"
  • Mail: ${object.event_id.organizer_id.email}
  • \n" +" % endif\n" +" % if object.event_id.organizer_id.phone\n" +"
  • Phone: ${object.event_id.organizer_id.phone}
  • \n" +" % endif\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +" \n" +"
\n" +" Add this event to your calendar\n" +" \"\"/ Google\n" +" \"\"/ Outlook\n" +" \n" +" \"\"/ Yahoo\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \"Google\n" +" \n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +"
\n" +" Sent by ${object.company_id.name}\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +"
\n" +" Discover all our events.\n" +" % endif\n" +"
\n" +"
\n" +" " #. module: event #: model:mail.template,body_html:event.event_reminder @@ -545,6 +740,190 @@ msgid "" "\n" " " msgstr "" +"\n" +"\n" +"% if object.company_id\n" +"\n" +"% endif\n" +"
\n" +"% set date_begin = format_tz(object.event_id.date_begin, tz='UTC', format='%Y%m%dT%H%M%SZ')\n" +"% set date_end = format_tz(object.event_id.date_end, tz='UTC', format='%Y%m%dT%H%M%SZ')\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" Your registration
\n" +" \n" +" ${object.name}\n" +" \n" +"
\n" +" \"${'%s'\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +"
\n" +" Hello ${object.name},
\n" +" We are excited to remind you that the event\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +" ${object.event_id.name}\n" +" % else:\n" +" ${object.event_id.name}\n" +" % endif\n" +" is starting ${object.get_date_range_str()}.\n" +"
\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +"
\n" +" View Event
\n" +"
\n" +" % endif\n" +"
\n" +" We confirm your registration and hope to meet you there,
\n" +" \n" +" --
\n" +" % if object.event_id.organizer_id:\n" +" ${object.event_id.organizer_id.name}\n" +" % else:\n" +" The organizers.\n" +" % endif\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +" % if object.event_id.organizer_id:\n" +" \n" +" % endif\n" +" \n" +" \n" +" % if object.event_id.address_id:\n" +" \n" +" % endif\n" +"
\n" +" \n" +" \n" +" \n" +" \n" +" % if object.event_id.address_id.country_id.name:\n" +" \n" +" \n" +" % endif\n" +" \n" +"
\n" +" \"\"/\n" +" \n" +"
From ${object.event_id.date_begin_located}
\n" +"
To ${object.event_id.date_end_located}
\n" +"
TZ ${object.event_id.date_tz}
\n" +"
\n" +" \"\"/\n" +" \n" +" % set location = ''\n" +" % if object.event_id.address_id.name:\n" +"
${object.event_id.address_id.name}
\n" +" % endif\n" +" % if object.event_id.address_id.street:\n" +"
${object.event_id.address_id.street}
\n" +" % set location = object.event_id.address_id.street\n" +" % endif\n" +" % if object.event_id.address_id.street2:\n" +"
${object.event_id.address_id.street2}
\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.street2)\n" +" % endif\n" +"
\n" +" % if object.event_id.address_id.city:\n" +" ${object.event_id.address_id.city},\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.city)\n" +" % endif\n" +" % if object.event_id.address_id.state_id.name:\n" +" ${object.event_id.address_id.state_id.name},\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.state_id.name)\n" +" % endif\n" +" % if object.event_id.address_id.zip:\n" +" ${object.event_id.address_id.zip}\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.zip)\n" +" % endif\n" +"
\n" +" % if object.event_id.address_id.country_id.name:\n" +"
${object.event_id.address_id.country_id.name}
\n" +" % set location = '%s, %s' % (location, object.event_id.address_id.country_id.name)\n" +" % endif\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" Questions about this event?\n" +"
Please contact the organizer:
\n" +"
    \n" +"
  • ${object.event_id.organizer_id.name}
  • \n" +" % if object.event_id.organizer_id.email\n" +"
  • Mail: ${object.event_id.organizer_id.email}
  • \n" +" % endif\n" +" % if object.event_id.organizer_id.phone\n" +"
  • Phone: ${object.event_id.organizer_id.phone}
  • \n" +" % endif\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +" \n" +"
\n" +" Add this event to your calendar\n" +" \"\"/ Google\n" +" \n" +" \"\"/ Yahoo\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \"Google\n" +" \n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +"
\n" +" Sent by ${object.company_id.name}\n" +" % if 'website_url' in object.event_id and object.event_id.website_url:\n" +"
\n" +" Discover all our events.\n" +" % endif\n" +"
\n" +"
\n" +" " #. module: event #: model:ir.model.fields,field_description:event.field_event_event__message_needaction @@ -567,12 +946,12 @@ msgstr "" #. module: event #: model_terms:ir.actions.act_window,help:event.act_event_registration_from_event msgid "Add a new attendee" -msgstr "" +msgstr "បន្ថែមអ្នកចូលរួមថ្មី" #. module: event #: model_terms:ir.actions.act_window,help:event.action_event_view msgid "Add a new event" -msgstr "" +msgstr "បន្ថែមព្រឹត្តិការណ៍ថ្មី" #. module: event #: model_terms:event.event,description:event.event_0 @@ -583,13 +962,13 @@ msgstr "" #: selection:event.mail,interval_type:0 #: selection:event.type.mail,interval_type:0 msgid "After each registration" -msgstr "" +msgstr "បន្ទាប់ពីរាល់ការចុះឈ្មោះ" #. module: event #: selection:event.mail,interval_type:0 #: selection:event.type.mail,interval_type:0 msgid "After the event" -msgstr "" +msgstr "បន្ទាប់ពីព្រឹត្តិការណ៍" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_search @@ -602,6 +981,8 @@ msgid "" "Are you sure you want to cancel this event? All the linked attendees will be" " cancelled as well." msgstr "" +"តើអ្នកពិតជាចង់លុបចោលព្រឹត្តការណ៍នេះឬ? " +"តំណភ្ជាប់អ្នកចូលរួមក៏ត្រូវបានលុបចោលដូចគ្នា។" #. module: event #: model_terms:event.event,description:event.event_0 @@ -617,25 +998,25 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form msgid "Attendance" -msgstr "" +msgstr "វត្តមាន" #. module: event #: selection:event.registration,state:0 #: model_terms:ir.ui.view,arch_db:event.view_event_registration_form #: model_terms:ir.ui.view,arch_db:event.view_registration_search msgid "Attended" -msgstr "" +msgstr "បានចូលរួម" #. module: event #: model:ir.model.fields,field_description:event.field_event_registration__date_closed #: model_terms:ir.ui.view,arch_db:event.view_registration_search msgid "Attended Date" -msgstr "" +msgstr "កាលបរិច្ឆេទបានចូលរួម" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree msgid "Attended the Event" -msgstr "" +msgstr "ព្រឹត្តិការណ៍បានចូលរួម" #. module: event #: model:ir.model.fields,field_description:event.field_event_mail_registration__registration_id @@ -647,7 +1028,7 @@ msgstr "ចូលរួម" #: model:ir.model.fields,field_description:event.field_event_registration__name #: model_terms:ir.ui.view,arch_db:event.event_event_report_template_badge msgid "Attendee Name" -msgstr "" +msgstr "ឈ្មោះអ្នកចូលរួម" #. module: event #: model:ir.actions.act_window,name:event.act_event_registration_from_event @@ -667,17 +1048,17 @@ msgstr "" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__auto_confirm msgid "Automatically Confirm Registrations" -msgstr "" +msgstr "ការបញ្ជាក់ការចុះឈ្មោះដោយស្វ័យប្រវត្តិ" #. module: event #: model:ir.model.fields,field_description:event.field_event_type__use_mail_schedule msgid "Automatically Send Emails" -msgstr "" +msgstr "សារអេឡិចត្រូនិចផ្ញើរដោយស្វ័យប្រវត្តិ" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__seats_available msgid "Available Seats" -msgstr "" +msgstr "កៅអីនៅសល់" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__badge_back @@ -708,7 +1089,7 @@ msgstr "Barcode" #: selection:event.mail,interval_type:0 #: selection:event.type.mail,interval_type:0 msgid "Before the event" -msgstr "" +msgstr "មុនព្រឹត្តិការណ៍" #. module: event #: model_terms:event.event,description:event.event_2 @@ -723,7 +1104,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Bring your own laptop." -msgstr "" +msgstr "យកកុំព្យូទ័រផ្ទាល់ខ្លួនរបស់អ្នក" #. module: event #: model_terms:event.event,description:event.event_0 @@ -743,13 +1124,13 @@ msgstr "លុបចោល" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_form msgid "Cancel Event" -msgstr "" +msgstr "លុបចោលព្រឹត្តិការណ៍" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_registration_form #: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree msgid "Cancel Registration" -msgstr "" +msgstr "លុបចោលការចុះឈ្មោះ" #. module: event #: selection:event.event,state:0 selection:event.registration,state:0 @@ -786,12 +1167,12 @@ msgstr "សរសេរអុីម៉ែល" #. module: event #: model:event.type,name:event.event_type_2 msgid "Conference" -msgstr "" +msgstr "សិក្ខាសាលា" #. module: event #: model:event.event,name:event.event_2 msgid "Conference for Architects" -msgstr "" +msgstr "សិក្ខាសាលាសម្រាប់ស្ថាបត្យកម្ម" #. module: event #: model:ir.model,name:event.model_res_config_settings @@ -811,17 +1192,17 @@ msgstr "បញ្ជាក់" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_confirm msgid "Confirm Anyway" -msgstr "" +msgstr "យ៉ាងណាក៏ដោយបញ្ជាក់យល់ព្រម" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_form msgid "Confirm Event" -msgstr "" +msgstr "បញ្ជាក់ព្រឹត្តិការណ៍" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_registration_tree msgid "Confirm Registration" -msgstr "" +msgstr "បញ្ជាក់ការចុះឈ្មោះ" #. module: event #: selection:event.event,state:0 selection:event.registration,state:0 @@ -833,12 +1214,12 @@ msgstr "បញ្ជាក់" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_kanban msgid "Confirmed attendees" -msgstr "" +msgstr "បានបញ្ជាក់អ្នកចូលរួម" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_search msgid "Confirmed events" -msgstr "" +msgstr "បានបញ្ជាក់ព្រឹត្តិការណ៍" #. module: event #: model:ir.model,name:event.model_res_partner @@ -859,7 +1240,7 @@ msgstr "ប្រទេស" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Course Summary" -msgstr "" +msgstr "សង្ខេបមេរៀន" #. module: event #: model:ir.model.fields,field_description:event.field_event_confirm__create_uid @@ -893,22 +1274,22 @@ msgstr "អតិថិជន" #: code:addons/event/models/event.py:457 #, python-format msgid "Customer Email" -msgstr "" +msgstr "សារអេឡិចត្រូនិចរបស់អតិថិជន" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Day 1" -msgstr "" +msgstr "ថ្ងៃទី1" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Day 2" -msgstr "" +msgstr "ថ្ងៃទី2" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Day 3" -msgstr "" +msgstr "ថ្ងៃទី3" #. module: event #: selection:event.mail,interval_unit:0 @@ -973,6 +1354,7 @@ msgid "" "During this conference, our team will give a detailed overview of our " "business applications. You’ll know all the benefits of using it." msgstr "" +"កំឡុងពេលនៃសិក្ខាសាលានេះ,ក្រុមរបស់យើងនឹងផ្តល់ការបង្ហាញពិស្តារនូវកម្មវិធីជំនួញរបស់ពួកយើង។អ្នកនឹងដឹងពីគុណសម្បត្តិនៃការប្រើប្រាស់។" #. module: event #: model:ir.model.fields,field_description:event.field_event_registration__email @@ -983,7 +1365,7 @@ msgstr "អុីម៉ែល" #: model_terms:ir.ui.view,arch_db:event.view_event_form #: model_terms:ir.ui.view,arch_db:event.view_event_type_form msgid "Email Schedule" -msgstr "" +msgstr "កាលវិភាគសារអេឡិចត្រូនិច" #. module: event #: model:ir.model.fields,field_description:event.field_event_mail__template_id @@ -1042,17 +1424,17 @@ msgstr "" #: model:ir.model,name:event.model_event_confirm #: model_terms:ir.ui.view,arch_db:event.view_event_confirm msgid "Event Confirmation" -msgstr "" +msgstr "ការបញ្ជាក់ព្រឹត្តិការណ៍" #. module: event #: model:ir.model.fields,field_description:event.field_event_registration__event_end_date msgid "Event End Date" -msgstr "" +msgstr "កាលបរិច្ឆេទបញ្ចប់ព្រឹត្តិការណ៍" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_registration_form msgid "Event Information" -msgstr "" +msgstr "ពត៌មានព្រឹត្តិការណ៍" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__event_logo @@ -1077,7 +1459,7 @@ msgstr "ឈ្មោះព្រឹត្តការណ៍" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_calendar msgid "Event Organization" -msgstr "" +msgstr "ការរៀបចំព្រឹត្តិការណ៍" #. module: event #: model:ir.model,name:event.model_event_registration @@ -1085,7 +1467,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:event.view_event_registration_form #: model_terms:ir.ui.view,arch_db:event.view_registration_search msgid "Event Registration" -msgstr "" +msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍" #. module: event #: code:addons/event/models/event_mail.py:143 @@ -1109,12 +1491,12 @@ msgstr "" #: model:ir.model.fields,field_description:event.field_event_registration__event_begin_date #: model_terms:ir.ui.view,arch_db:event.view_registration_search msgid "Event Start Date" -msgstr "" +msgstr "កាលបរិច្ឆេទចាប់ផ្តើមព្រឹត្តិការណ៍" #. module: event #: model:ir.model.fields,field_description:event.field_event_type_mail__event_type_id msgid "Event Type" -msgstr "" +msgstr "ប្រភេទព្រឹត្តិការណ៍" #. module: event #: model:ir.actions.server,name:event.event_mail_scheduler_ir_actions_server @@ -1135,12 +1517,12 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:event.view_event_search #: model_terms:ir.ui.view,arch_db:event.view_event_tree msgid "Events" -msgstr "" +msgstr "ព្រឹត្តិការណ៍" #. module: event #: model:ir.actions.act_window,name:event.event_event_action_pivot msgid "Events Analysis" -msgstr "" +msgstr "ការវិភាគព្រឹត្តិការណ៍" #. module: event #: model:ir.actions.act_window,name:event.action_event_mail @@ -1174,17 +1556,17 @@ msgstr "" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_registration_search msgid "Expected" -msgstr "" +msgstr "បានរំពឹងទុក" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_kanban msgid "Expected attendees" -msgstr "" +msgstr "បានរំពឹងទុកអ្នកចូលរួម" #. module: event #: model_terms:ir.ui.view,arch_db:event.view_event_form msgid "Finish Event" -msgstr "" +msgstr "បញ្ចប់ព្រឹត្តិការណ៍" #. module: event #: model:ir.model.fields,field_description:event.field_event_event__message_follower_ids @@ -1207,7 +1589,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_2 msgid "For any additional information, please contact us at" -msgstr "" +msgstr "សម្រាប់ពត៌មានបន្ថែមផ្សេងទៀត,សូមទាក់ទងពួកយើងនៅ" #. module: event #: model:ir.model.fields,help:event.field_event_event__seats_max @@ -1215,6 +1597,9 @@ msgid "" "For each event you can define a maximum registration of seats(number of " "attendees), above this numbers the registrations are not accepted." msgstr "" +"សម្រាប់រាល់ព្រឹត្តិការណ៍ " +"អ្នកអាចកំណត់ចំនួនអតិបរមានៃការចុះឈ្មោះកន្លែងអង្គុយ(ចំនួនអ្នកចូលរួម) " +"លើសពីចំនួននេះការចុះឈ្មោះមិនត្រូវបានទទួលទេ។" #. module: event #: model:ir.model.fields,help:event.field_event_event__seats_min @@ -1248,7 +1633,7 @@ msgstr "" #. module: event #: model_terms:event.event,description:event.event_0 msgid "Hello World" -msgstr "" +msgstr "សួស្តីពិភពលោក" #. module: event #: selection:event.mail,interval_unit:0 @@ -1946,7 +2331,7 @@ msgstr "" #. module: event #: model:event.type,name:event.event_type_4 msgid "Training" -msgstr "" +msgstr "ការបណ្តុះបណ្តាល" #. module: event #: model_terms:event.event,description:event.event_0 diff --git a/addons/event_sale/i18n/km.po b/addons/event_sale/i18n/km.po index 50a3cd867dc..05896f29758 100644 --- a/addons/event_sale/i18n/km.po +++ b/addons/event_sale/i18n/km.po @@ -32,7 +32,7 @@ msgstr "" #. module: event_sale #: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_available msgid "Available Seats" -msgstr "" +msgstr "កៅអីនៅសល់" #. module: event_sale #: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form @@ -126,7 +126,7 @@ msgstr "ឈ្មោះព្រឹត្តការណ៍" #: model:product.product,name:event_sale.product_product_event #: model:product.template,name:event_sale.product_product_event_product_template msgid "Event Registration" -msgstr "" +msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍" #. module: event_sale #: model:ir.actions.act_window,name:event_sale.action_sale_order_event_registration @@ -156,7 +156,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:event_sale.event_sale_product_template_form #: model:product.category,name:event_sale.product_category_events msgid "Events" -msgstr "" +msgstr "ព្រឹត្តិការណ៍" #. module: event_sale #: code:addons/event_sale/models/event.py:254 @@ -338,7 +338,7 @@ msgstr "" #. module: event_sale #: model:ir.model,name:event_sale.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: event_sale #: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__deadline @@ -423,7 +423,7 @@ msgstr "" #: code:addons/event_sale/models/event.py:256 #, python-format msgid "To pay" -msgstr "" +msgstr "ដើម្បីទូទាត់" #. module: event_sale #: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_unconfirmed @@ -434,7 +434,7 @@ msgstr "" #: model:product.product,uom_name:event_sale.product_product_event #: model:product.template,uom_name:event_sale.product_product_event_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: event_sale #: selection:event.event.ticket,seats_availability:0 @@ -451,7 +451,7 @@ msgstr "" #: model:product.product,weight_uom_name:event_sale.product_product_event #: model:product.template,weight_uom_name:event_sale.product_product_event_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: event_sale #: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form diff --git a/addons/fetchmail/i18n/km.po b/addons/fetchmail/i18n/km.po index 009944f9bbe..959e49f03d2 100644 --- a/addons/fetchmail/i18n/km.po +++ b/addons/fetchmail/i18n/km.po @@ -37,7 +37,7 @@ msgstr "" #. module: fetchmail #: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form msgid "Advanced Options" -msgstr "" +msgstr "ជម្រើសកម្រិតខ្ពស់" #. module: fetchmail #: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__configuration diff --git a/addons/fleet/i18n/km.po b/addons/fleet/i18n/km.po index 1289febebb5..a82f457caaf 100644 --- a/addons/fleet/i18n/km.po +++ b/addons/fleet/i18n/km.po @@ -880,7 +880,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_search #: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_view_search msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 @@ -1154,7 +1154,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_search #: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_view_search msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: fleet #: model:fleet.service.type,name:fleet.type_contract_leasing @@ -1991,7 +1991,7 @@ msgstr "សរុប​" #: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_log_fuel__amount #: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_log_services__amount msgid "Total Price" -msgstr "" +msgstr "តំលៃសរុប" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_service_14 diff --git a/addons/gamification/i18n/km.po b/addons/gamification/i18n/km.po index c3a651dfe1b..9df30c2f3c5 100644 --- a/addons/gamification/i18n/km.po +++ b/addons/gamification/i18n/km.po @@ -443,7 +443,7 @@ msgstr "សកម្ម" #. module: gamification #: model_terms:ir.ui.view,arch_db:gamification.challenge_form_view msgid "Advanced Options" -msgstr "" +msgstr "ជម្រើសកម្រិតខ្ពស់" #. module: gamification #: model:ir.model.fields,field_description:gamification.field_gamification_badge__rule_auth @@ -920,7 +920,7 @@ msgstr "" #. module: gamification #: model_terms:ir.ui.view,arch_db:gamification.goal_kanban_view msgid "From" -msgstr "" +msgstr "មកពី" #. module: gamification #: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition__full_suffix diff --git a/addons/gamification_sale_crm/i18n/km.po b/addons/gamification_sale_crm/i18n/km.po index 28cb02f933f..ccce8ed39bb 100644 --- a/addons/gamification_sale_crm/i18n/km.po +++ b/addons/gamification_sale_crm/i18n/km.po @@ -76,7 +76,7 @@ msgstr "" #: model:gamification.challenge.line,name:gamification_sale_crm.line_crm_sale1 #: model:gamification.goal.definition,name:gamification_sale_crm.definition_crm_tot_invoices msgid "Total Invoiced" -msgstr "" +msgstr "វិក័យប័ត្រសរុប" #. module: gamification_sale_crm #: model:gamification.goal.definition,name:gamification_sale_crm.definition_crm_tot_paid_sale_order diff --git a/addons/hr/i18n/cs.po b/addons/hr/i18n/cs.po index fc7cddbbe28..1516298149e 100644 --- a/addons/hr/i18n/cs.po +++ b/addons/hr/i18n/cs.po @@ -624,7 +624,7 @@ msgstr "" #. module: hr #: selection:mail.alias,alias_contact:0 msgid "Followers only" -msgstr "" +msgstr "pouze sledující" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__gender diff --git a/addons/hr/i18n/it.po b/addons/hr/i18n/it.po index a44d6fb3d75..c1317a75b77 100644 --- a/addons/hr/i18n/it.po +++ b/addons/hr/i18n/it.po @@ -650,7 +650,7 @@ msgstr "Followers (Partner)" #. module: hr #: selection:mail.alias,alias_contact:0 msgid "Followers only" -msgstr "Followers soltanto" +msgstr "Solo follower" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__gender diff --git a/addons/hr_attendance/i18n/cs.po b/addons/hr_attendance/i18n/cs.po index 36855ef34dc..70327bf78b2 100644 --- a/addons/hr_attendance/i18n/cs.po +++ b/addons/hr_attendance/i18n/cs.po @@ -7,7 +7,7 @@ # Jaroslav Helemik Nemec , 2018 # Jan Horzinka , 2018 # Michal Veselý , 2018 -# trendspotter , 2018 +# trendspotter , 2019 # msgid "" msgstr "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:17+0000\n" "PO-Revision-Date: 2018-08-24 09:18+0000\n" -"Last-Translator: trendspotter , 2018\n" +"Last-Translator: trendspotter , 2019\n" "Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -58,7 +58,7 @@ msgstr "" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance msgid "Attendance" -msgstr "" +msgstr "Docházka" #. module: hr_attendance #: model_terms:ir.actions.act_window,help:hr_attendance.hr_employee_attendance_action_kanban @@ -89,7 +89,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_pivot #: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance msgid "Attendance" -msgstr "Účast" +msgstr "Docházka" #. module: hr_attendance #: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action_graph @@ -100,7 +100,7 @@ msgstr "Analýza docházky" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__attendance_state msgid "Attendance Status" -msgstr "Stav účasti" +msgstr "Stav docházky" #. module: hr_attendance #: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action @@ -111,7 +111,7 @@ msgstr "Stav účasti" #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_department_view_kanban #: model_terms:ir.ui.view,arch_db:hr_attendance.res_config_settings_view_form msgid "Attendances" -msgstr "Účastníci" +msgstr "Docházející" #. module: hr_attendance #. openerp-web @@ -300,7 +300,7 @@ msgstr "PIN zaměstnance" #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_form #: model_terms:ir.ui.view,arch_db:hr_attendance.view_attendance_tree msgid "Employee attendances" -msgstr "Docházka zaměstnance" +msgstr "Docházky zaměstnanců" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_kanban_inherit_hr_attendance @@ -455,7 +455,7 @@ msgstr "" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__last_attendance_id msgid "Last Attendance" -msgstr "Poslední účast" +msgstr "Poslední docházka" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_attendance____last_update @@ -475,7 +475,7 @@ msgstr "Naposled upraveno" #. module: hr_attendance #: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance_manage_attendances msgid "Manage Attendances" -msgstr "" +msgstr "Spravovat Docházky" #. module: hr_attendance #: model:res.groups,name:hr_attendance.group_hr_attendance_manager @@ -486,7 +486,7 @@ msgstr "Manažer" #: model:ir.model.fields,field_description:hr_attendance.field_hr_employee__manual_attendance #: model:res.groups,name:hr_attendance.group_hr_attendance msgid "Manual Attendance" -msgstr "" +msgstr "Ručně zapsaná docházka" #. module: hr_attendance #: model:ir.actions.client,name:hr_attendance.hr_attendance_action_greeting_message @@ -496,7 +496,7 @@ msgstr "Zpráva" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_filter msgid "My Attendances" -msgstr "Moje účast" +msgstr "Moje docházka" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_filter @@ -755,7 +755,7 @@ msgstr "" #. module: hr_attendance #: model:ir.model.fields,help:hr_attendance.field_hr_employee__attendance_ids msgid "list of attendances for the employee" -msgstr "seznam návštěv zaměstnanců" +msgstr "seznam docházek zaměstnanců" #. module: hr_attendance #. openerp-web diff --git a/addons/hr_attendance/i18n/km.po b/addons/hr_attendance/i18n/km.po index faa5a339431..e795946c2d2 100644 --- a/addons/hr_attendance/i18n/km.po +++ b/addons/hr_attendance/i18n/km.po @@ -86,7 +86,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_pivot #: model_terms:ir.ui.view,arch_db:hr_attendance.view_employee_form_inherit_hr_attendance msgid "Attendance" -msgstr "" +msgstr "វត្តមាន" #. module: hr_attendance #: model:ir.actions.act_window,name:hr_attendance.hr_attendance_action_graph diff --git a/addons/hr_expense/i18n/cs.po b/addons/hr_expense/i18n/cs.po index 704a50e21c8..4a54533d66f 100644 --- a/addons/hr_expense/i18n/cs.po +++ b/addons/hr_expense/i18n/cs.po @@ -1362,7 +1362,7 @@ msgstr "Ke schválení" #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_pay #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "To Pay" -msgstr "" +msgstr "K platbě" #. module: hr_expense #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post diff --git a/addons/hr_expense/i18n/da.po b/addons/hr_expense/i18n/da.po index f70f44d4fbd..980b93e518e 100644 --- a/addons/hr_expense/i18n/da.po +++ b/addons/hr_expense/i18n/da.po @@ -15,6 +15,7 @@ # Ejner Sønniksen , 2018 # lhmflexerp , 2018 # Sanne Kristensen , 2018 +# Rasmus Værum , 2019 # msgid "" msgstr "" @@ -22,7 +23,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" "PO-Revision-Date: 2018-08-24 09:18+0000\n" -"Last-Translator: Sanne Kristensen , 2018\n" +"Last-Translator: Rasmus Værum , 2019\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1387,7 +1388,7 @@ msgstr "Til betaling" #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "To Post" -msgstr "" +msgstr "Til bogføring" #. module: hr_expense #: selection:hr.expense,state:0 diff --git a/addons/hr_expense/i18n/km.po b/addons/hr_expense/i18n/km.po index 54148a37492..71ff2703613 100644 --- a/addons/hr_expense/i18n/km.po +++ b/addons/hr_expense/i18n/km.po @@ -397,7 +397,7 @@ msgstr "" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.res_config_settings_view_form msgid "Email Alias" -msgstr "" +msgstr "អ៊ីម៉ែល" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.res_config_settings_view_form @@ -435,7 +435,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_form msgid "Expense" -msgstr "" +msgstr "ចំណាយ" #. module: hr_expense #: model:mail.activity.type,name:hr_expense.mail_act_expense_approval @@ -665,7 +665,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.product_product_expense_form_view @@ -778,7 +778,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_res_config_settings__use_mailgateway @@ -1029,12 +1029,12 @@ msgstr "ដៃគូ" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__amount msgid "Payment Amount" -msgstr "" +msgstr "ចំនួនទឹកប្រាក់ទូទាត់" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__payment_date msgid "Payment Date" -msgstr "" +msgstr "កាលបរិច្ឆេទបង់ប្រាក់" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__journal_id @@ -1350,7 +1350,7 @@ msgstr "" #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_pay #: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "To Pay" -msgstr "" +msgstr "ដើម្បីទូទាត់" #. module: hr_expense #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post @@ -1414,7 +1414,7 @@ msgstr "" #: model:product.template,uom_name:hr_expense.air_ticket_product_template #: model:product.template,uom_name:hr_expense.product_product_fixed_cost_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__message_unread @@ -1581,7 +1581,7 @@ msgstr "" #: model:product.template,weight_uom_name:hr_expense.car_travel_product_template #: model:product.template,weight_uom_name:hr_expense.product_product_fixed_cost_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: hr_expense #: model:product.product,uom_name:hr_expense.car_travel diff --git a/addons/hr_expense_check/i18n/it.po b/addons/hr_expense_check/i18n/it.po index a2b7d576545..27b02c1c896 100644 --- a/addons/hr_expense_check/i18n/it.po +++ b/addons/hr_expense_check/i18n/it.po @@ -4,7 +4,7 @@ # # Translators: # Paolo Valier, 2018 -# Sergio Zanchetta , 2018 +# Sergio Zanchetta , 2019 # msgid "" msgstr "" @@ -12,7 +12,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:17+0000\n" "PO-Revision-Date: 2018-08-24 09:18+0000\n" -"Last-Translator: Sergio Zanchetta , 2018\n" +"Last-Translator: Sergio Zanchetta , 2019\n" "Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,7 +39,7 @@ msgstr "" #. module: hr_expense_check #: model:ir.model,name:hr_expense_check.model_hr_expense_sheet_register_payment_wizard msgid "Expense Register Payment Wizard" -msgstr "" +msgstr "Procedura registrazione pagamento nota spese" #. module: hr_expense_check #: model:ir.model.fields,field_description:hr_expense_check.field_hr_expense_sheet_register_payment_wizard__check_manual_sequencing diff --git a/addons/hr_holidays/i18n/it.po b/addons/hr_holidays/i18n/it.po index 628eb295e2d..0ae783b0533 100644 --- a/addons/hr_holidays/i18n/it.po +++ b/addons/hr_holidays/i18n/it.po @@ -2140,8 +2140,8 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" -"Stato basato sulle attività:\n" -"In ritardo: la data pianificata è scaduta\n" +"Stato basato sulle attività\n" +"In ritardo: la data di scadenza è superata\n" "Oggi: la data dell'attività è oggi\n" "Pianificata: attività future." diff --git a/addons/hr_holidays/i18n/km.po b/addons/hr_holidays/i18n/km.po index 749556a064e..380dcf68bf9 100644 --- a/addons/hr_holidays/i18n/km.po +++ b/addons/hr_holidays/i18n/km.po @@ -844,7 +844,7 @@ msgstr "" #: model_terms:ir.actions.act_window,help:hr_holidays.hr_leave_action_payroll #: model_terms:ir.actions.act_window,help:hr_holidays.open_company_allocation msgid "Create a new leave request" -msgstr "" +msgstr "បង្កើតសំណើរឈប់សម្រាកថ្មីមួយ" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_holidays_summary_dept__create_uid @@ -867,19 +867,19 @@ msgstr "បង្កើតនៅ" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__current_leave_state msgid "Current Leave Status" -msgstr "" +msgstr "ស្ថានភាពឈប់សម្រាកថ្មី" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__current_leave_id msgid "Current Leave Type" -msgstr "" +msgstr "ប្រភេទការឈប់សម្រាកថ្មី" #. module: hr_holidays #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter_report #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter msgid "Current Year" -msgstr "" +msgstr "ឆ្នាំថ្មីៗ" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__request_unit_hours @@ -899,7 +899,7 @@ msgstr "" #. module: hr_holidays #: selection:hr.leave.type,request_unit:0 msgid "Day" -msgstr "" +msgstr "ថ្ងៃ" #. module: hr_holidays #: selection:hr.leave.allocation,unit_per_interval:0 @@ -1000,7 +1000,7 @@ msgstr "" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__number_of_days_display msgid "Duration in days" -msgstr "" +msgstr "រយៈពេលក្នុងថ្ងៃ" #. module: hr_holidays #: model:ir.model.fields,help:hr_holidays.field_hr_leave_allocation__number_of_days @@ -1010,7 +1010,7 @@ msgstr "" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__number_of_hours_display msgid "Duration in hours" -msgstr "" +msgstr "រយៈពេលក្នុងម៉ោង" #. module: hr_holidays #: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_allocation_view_kanban @@ -1036,7 +1036,7 @@ msgstr "បុគ្គលិក" #. module: hr_holidays #: selection:hr.leave.type,validation_type:0 msgid "Employee Manager" -msgstr "" +msgstr "អ្នកគ្រប់គ្រងបុគ្គលិក" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__category_id @@ -1124,18 +1124,18 @@ msgstr "" #: model:ir.model.fields,field_description:hr_holidays.field_hr_holidays_summary_employee__date_from #: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_view_form msgid "From" -msgstr "" +msgstr "មកពី" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__leave_date_from msgid "From Date" -msgstr "" +msgstr "ចាប់ពីកាលបរិច្ឆេទ" #. module: hr_holidays #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: hr_holidays #: model:ir.model.fields,help:hr_holidays.field_hr_leave__payslip_status @@ -1178,7 +1178,7 @@ msgstr "" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_leave__request_unit_half msgid "Half Day" -msgstr "" +msgstr "កន្លះថ្ងៃ" #. module: hr_holidays #: model:ir.model,name:hr_holidays.model_report_hr_holidays_report_holidayssummary @@ -1316,7 +1316,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter #: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: hr_holidays #: selection:hr.leave.type,color_name:0 @@ -1735,7 +1735,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_report_tree #: model_terms:ir.ui.view,arch_db:hr_holidays.hr_leave_view_tree msgid "Number of Days" -msgstr "" +msgstr "ចំនួនថ្ងៃ" #. module: hr_holidays #: model:ir.model.fields,field_description:hr_holidays.field_hr_employee__leaves_count @@ -1869,7 +1869,7 @@ msgstr "" #. module: hr_holidays #: model:ir.ui.menu,name:hr_holidays.menu_hr_holidays_dashboard msgid "Overview" -msgstr "" +msgstr "ទិដ្ឋភាពទូទៅ" #. module: hr_holidays #: model:hr.leave.type,name:hr_holidays.holiday_status_cla diff --git a/addons/hr_maintenance/i18n/km.po b/addons/hr_maintenance/i18n/km.po index aeb13fdae34..4c8eec6be26 100644 --- a/addons/hr_maintenance/i18n/km.po +++ b/addons/hr_maintenance/i18n/km.po @@ -35,7 +35,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_form_inherit_hr #: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_search_inherit_hr msgid "Created By" -msgstr "" +msgstr "បានបង្កើតដោយ" #. module: hr_maintenance #: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_request__owner_user_id diff --git a/addons/hr_payroll/i18n/km.po b/addons/hr_payroll/i18n/km.po index bddf0edb7a4..ea2ec8614f2 100644 --- a/addons/hr_payroll/i18n/km.po +++ b/addons/hr_payroll/i18n/km.po @@ -956,7 +956,7 @@ msgstr "កំណត់សម្គាល់" #. module: hr_payroll #: model:ir.model.fields,field_description:hr_payroll.field_hr_payslip_worked_days__number_of_days msgid "Number of Days" -msgstr "" +msgstr "ចំនួនថ្ងៃ" #. module: hr_payroll #: model:ir.model.fields,field_description:hr_payroll.field_hr_payslip_worked_days__number_of_hours diff --git a/addons/hr_recruitment/i18n/it.po b/addons/hr_recruitment/i18n/it.po index cafdc7c8c9c..f9c3d538dcc 100644 --- a/addons/hr_recruitment/i18n/it.po +++ b/addons/hr_recruitment/i18n/it.po @@ -2062,7 +2062,7 @@ msgstr "" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__email_cc msgid "Watchers Emails" -msgstr "Email osservatori" +msgstr "E-mail analisti" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__website_message_ids diff --git a/addons/hr_recruitment/i18n/km.po b/addons/hr_recruitment/i18n/km.po index 5b67e0233b1..8d770e9e262 100644 --- a/addons/hr_recruitment/i18n/km.po +++ b/addons/hr_recruitment/i18n/km.po @@ -804,7 +804,7 @@ msgstr "" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__email_from @@ -816,7 +816,7 @@ msgstr "អុីម៉ែល" #: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form #: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_survey msgid "Email Alias" -msgstr "" +msgstr "អ៊ីម៉ែល" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_survey @@ -922,7 +922,7 @@ msgstr "" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: hr_recruitment #: model:ir.model.fields,help:hr_recruitment.field_hr_recruitment_degree__sequence @@ -1151,7 +1151,7 @@ msgstr "" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__kanban_state msgid "Kanban State" -msgstr "" +msgstr "រដ្ឋកាណាន" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__legend_done @@ -1181,7 +1181,7 @@ msgstr "" #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__date_last_stage_update #: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter msgid "Last Stage Update" -msgstr "" +msgstr "ធ្វើឱ្យទាន់សម័យដំណាក់កាលចុងក្រោយ" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__write_uid @@ -1204,7 +1204,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: hr_recruitment #: model_terms:ir.actions.act_window,help:hr_recruitment.action_hr_job @@ -1253,7 +1253,7 @@ msgstr "សារ" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__partner_mobile msgid "Mobile" -msgstr "" +msgstr "ទូរស័ព្ទដៃ" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter @@ -1338,7 +1338,7 @@ msgstr "" #: model:ir.ui.menu,name:hr_recruitment.hr_applicant_nmenu_activity #: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_tree_activity msgid "Next Activities" -msgstr "" +msgstr "សកម្មភាពបន្ទាប់" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__activity_date_deadline @@ -1359,7 +1359,7 @@ msgstr "" #: code:addons/hr_recruitment/models/hr_recruitment.py:389 #, python-format msgid "No Subject" -msgstr "" +msgstr "មិនមានប្រធានបទ" #. module: hr_recruitment #: model_terms:ir.actions.act_window,help:hr_recruitment.action_hr_job_applications @@ -1515,7 +1515,7 @@ msgstr "" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__probability msgid "Probability" -msgstr "" +msgstr "ប្រូបាប" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__salary_proposed @@ -1615,7 +1615,7 @@ msgstr "" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__reference msgid "Referred By" -msgstr "" +msgstr "ធានាដោយ" #. module: hr_recruitment #: model_terms:ir.ui.view,arch_db:hr_recruitment.crm_case_form_view_job @@ -1990,7 +1990,7 @@ msgstr "" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__user_email msgid "User Email" -msgstr "" +msgstr "អ្នកប្រើប្រាស់អ៊ីម៉ែល" #. module: hr_recruitment #: selection:hr.applicant,priority:0 diff --git a/addons/hr_recruitment/i18n/uk.po b/addons/hr_recruitment/i18n/uk.po index 12ef5a463c5..a9c631fba67 100644 --- a/addons/hr_recruitment/i18n/uk.po +++ b/addons/hr_recruitment/i18n/uk.po @@ -735,7 +735,7 @@ msgstr "Призначено" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__message_attachment_count msgid "Attachment Count" -msgstr "Підрахунок прикріплення" +msgstr "Підрахунок прикріплень" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__attachment_ids diff --git a/addons/hr_timesheet_attendance/i18n/cs.po b/addons/hr_timesheet_attendance/i18n/cs.po index b41569861f7..504924f26f3 100644 --- a/addons/hr_timesheet_attendance/i18n/cs.po +++ b/addons/hr_timesheet_attendance/i18n/cs.po @@ -6,14 +6,15 @@ # Martin Trigaux, 2018 # Chris , 2018 # Jan Horzinka , 2018 -# trendspotter, 2018 +# trendspotter , 2019 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:17+0000\n" -"PO-Revision-Date: 2018-09-21 13:17+0000\n" -"Last-Translator: trendspotter, 2018\n" +"PO-Revision-Date: 2018-08-24 09:19+0000\n" +"Last-Translator: trendspotter , 2019\n" "Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -81,4 +82,4 @@ msgstr "Uživatel" #: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_pivot #: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_search msgid "timesheet attendance" -msgstr "" +msgstr "časový rozvrh docházky" diff --git a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py index 0aa0bbaf275..572ba6d5ce9 100644 --- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py +++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report.py @@ -17,6 +17,7 @@ class TimesheetAttendance(models.Model): @api.model_cr def init(self): + self._cr.execute("DROP VIEW IF EXISTS hr_timesheet_attendance_report") self._cr.execute("""CREATE OR REPLACE VIEW %s AS ( SELECT max(id) AS id, @@ -31,7 +32,7 @@ class TimesheetAttendance(models.Model): resource_resource.user_id AS user_id, hr_attendance.worked_hours AS attendance, NULL AS timesheet, - date_trunc('day', hr_attendance.check_in) AS date + hr_attendance.check_in::date AS date FROM hr_attendance LEFT JOIN hr_employee ON hr_employee.id = hr_attendance.employee_id LEFT JOIN resource_resource on resource_resource.id = hr_employee.resource_id @@ -41,7 +42,7 @@ class TimesheetAttendance(models.Model): ts.user_id AS user_id, NULL AS attendance, ts.unit_amount AS timesheet, - date_trunc('day', ts.date) AS date + ts.date AS date FROM account_analytic_line AS ts WHERE ts.project_id IS NOT NULL ) AS t diff --git a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml index 85d071cf51d..6d868f15c50 100644 --- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml +++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml @@ -15,7 +15,7 @@ HR timesheet attendance report: Pivot hr.timesheet.attendance.report - + diff --git a/addons/hw_drivers/controllers/driver.py b/addons/hw_drivers/controllers/driver.py index 64d45a1fcfc..90e498a401c 100755 --- a/addons/hw_drivers/controllers/driver.py +++ b/addons/hw_drivers/controllers/driver.py @@ -55,7 +55,7 @@ def get_token(): return read_file_first_line('token') def get_version(): - return '19_04' + return '19_07' #---------------------------------------------------------- # Controllers diff --git a/addons/hw_posbox_homepage/views/homepage.html b/addons/hw_posbox_homepage/views/homepage.html index b14573e9805..74a502f7ca7 100644 --- a/addons/hw_posbox_homepage/views/homepage.html +++ b/addons/hw_posbox_homepage/views/homepage.html @@ -91,7 +91,7 @@ Version - V19.04 update + V19.07 update IP Address diff --git a/addons/im_livechat/i18n/km.po b/addons/im_livechat/i18n/km.po index 6d7293dd29a..9f33bc343e2 100644 --- a/addons/im_livechat/i18n/km.po +++ b/addons/im_livechat/i18n/km.po @@ -40,7 +40,7 @@ msgstr "" #: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel__rating_percentage_satisfaction #: model_terms:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form msgid "% Happy" -msgstr "" +msgstr "% រីករាយ" #. module: im_livechat #: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule__action diff --git a/addons/l10n_multilang/i18n/km.po b/addons/l10n_multilang/i18n/km.po index f28efef1708..65a61afaab1 100644 --- a/addons/l10n_multilang/i18n/km.po +++ b/addons/l10n_multilang/i18n/km.po @@ -54,7 +54,7 @@ msgstr "" #. module: l10n_multilang #: model:ir.model.fields,field_description:l10n_multilang.field_account_tax_template__description msgid "Display on Invoices" -msgstr "" +msgstr "បង្ហាញលើវិក័យប័ត្រ" #. module: l10n_multilang #: model:ir.model,name:l10n_multilang.model_account_fiscal_position @@ -134,7 +134,7 @@ msgstr "" #: model:ir.model.fields,field_description:l10n_multilang.field_account_tax__name #: model:ir.model.fields,field_description:l10n_multilang.field_account_tax_template__name msgid "Tax Name" -msgstr "" +msgstr "ឈ្មោះពន្ធ" #. module: l10n_multilang #: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template diff --git a/addons/lunch/i18n/cs.po b/addons/lunch/i18n/cs.po index b502327e635..9bf2cd19881 100644 --- a/addons/lunch/i18n/cs.po +++ b/addons/lunch/i18n/cs.po @@ -910,7 +910,7 @@ msgstr "" #. module: lunch #: model_terms:ir.actions.act_window,help:lunch.lunch_cashmove_action_payment msgid "Register a payment" -msgstr "" +msgstr "Registrovat platbu" #. module: lunch #: model:ir.model.fields,field_description:lunch.field_lunch_alert__saturday diff --git a/addons/lunch/i18n/km.po b/addons/lunch/i18n/km.po index b09a03c0e0e..626f80cff19 100644 --- a/addons/lunch/i18n/km.po +++ b/addons/lunch/i18n/km.po @@ -373,7 +373,7 @@ msgstr "កាលបរិច្ឆេត" #. module: lunch #: model:ir.model.fields,field_description:lunch.field_lunch_alert__specific_day msgid "Day" -msgstr "" +msgstr "ថ្ងៃ" #. module: lunch #: model:ir.model.fields,field_description:lunch.field_lunch_cashmove__description diff --git a/addons/mail/i18n/km.po b/addons/mail/i18n/km.po index 4d011c7803a..c98a276512e 100644 --- a/addons/mail/i18n/km.po +++ b/addons/mail/i18n/km.po @@ -194,6 +194,10 @@ msgstr "" msgid "" "

Hello,

%s invited you to follow a new document.

" msgstr "" +"successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/az.po b/addons/mass_mailing/i18n/az.po index 60ab6842de8..e4c8e39b561 100644 --- a/addons/mass_mailing/i18n/az.po +++ b/addons/mass_mailing/i18n/az.po @@ -2315,9 +2315,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/bs.po b/addons/mass_mailing/i18n/bs.po index 9f654b420e7..0008c7633c4 100644 --- a/addons/mass_mailing/i18n/bs.po +++ b/addons/mass_mailing/i18n/bs.po @@ -2320,9 +2320,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/ca.po b/addons/mass_mailing/i18n/ca.po index cb9d5594617..1304f905754 100644 --- a/addons/mass_mailing/i18n/ca.po +++ b/addons/mass_mailing/i18n/ca.po @@ -2412,9 +2412,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/da.po b/addons/mass_mailing/i18n/da.po index fa573d545f0..99721853c98 100644 --- a/addons/mass_mailing/i18n/da.po +++ b/addons/mass_mailing/i18n/da.po @@ -2339,9 +2339,9 @@ msgstr "Du er ikke tilmeldt nogen af vores maillister." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/de.po b/addons/mass_mailing/i18n/de.po index 475fee8f46f..3b163410258 100644 --- a/addons/mass_mailing/i18n/de.po +++ b/addons/mass_mailing/i18n/de.po @@ -2520,9 +2520,9 @@ msgstr "Sie sind derzeit bei keiner Mailingliste angemeldet." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/el.po b/addons/mass_mailing/i18n/el.po index 78f98a1db71..3d22d2462f1 100644 --- a/addons/mass_mailing/i18n/el.po +++ b/addons/mass_mailing/i18n/el.po @@ -2415,9 +2415,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/es.po b/addons/mass_mailing/i18n/es.po index 569e374a239..ee0a5ccf58d 100644 --- a/addons/mass_mailing/i18n/es.po +++ b/addons/mass_mailing/i18n/es.po @@ -2501,9 +2501,9 @@ msgstr "No está suscrito a ninguna de nuestras listas de mailing" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/et.po b/addons/mass_mailing/i18n/et.po index 32367df058e..01546dc16d9 100644 --- a/addons/mass_mailing/i18n/et.po +++ b/addons/mass_mailing/i18n/et.po @@ -2327,9 +2327,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/fa.po b/addons/mass_mailing/i18n/fa.po index 0bd6ee0467b..471ec3f2962 100644 --- a/addons/mass_mailing/i18n/fa.po +++ b/addons/mass_mailing/i18n/fa.po @@ -2331,9 +2331,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/fr.po b/addons/mass_mailing/i18n/fr.po index 51e9eabc988..547ddc818a6 100644 --- a/addons/mass_mailing/i18n/fr.po +++ b/addons/mass_mailing/i18n/fr.po @@ -2545,10 +2545,10 @@ msgstr "Vous n'êtes pas abonné à l'une des notre liste d'envoi." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." -msgstr "Vous avez été désinscrit avec succès de." +msgid "You have been successfully unsubscribed from %s." +msgstr "" #. module: mass_mailing #. openerp-web diff --git a/addons/mass_mailing/i18n/gu.po b/addons/mass_mailing/i18n/gu.po index 1f22a77f7f2..48abc8065f7 100644 --- a/addons/mass_mailing/i18n/gu.po +++ b/addons/mass_mailing/i18n/gu.po @@ -2323,9 +2323,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/he.po b/addons/mass_mailing/i18n/he.po index 524664370be..d19f55719d1 100644 --- a/addons/mass_mailing/i18n/he.po +++ b/addons/mass_mailing/i18n/he.po @@ -2327,9 +2327,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/hr.po b/addons/mass_mailing/i18n/hr.po index b68b89266d3..bad35ef1309 100644 --- a/addons/mass_mailing/i18n/hr.po +++ b/addons/mass_mailing/i18n/hr.po @@ -2458,9 +2458,9 @@ msgstr "Niste se pretplatili na bilo koju našu mailing listu." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/hu.po b/addons/mass_mailing/i18n/hu.po index f042ab82a4b..431a4427de1 100644 --- a/addons/mass_mailing/i18n/hu.po +++ b/addons/mass_mailing/i18n/hu.po @@ -2438,9 +2438,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/is.po b/addons/mass_mailing/i18n/is.po index 3362e5cb197..393b6bb6b9e 100644 --- a/addons/mass_mailing/i18n/is.po +++ b/addons/mass_mailing/i18n/is.po @@ -2373,9 +2373,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/ja.po b/addons/mass_mailing/i18n/ja.po index 951d11ef64c..1964e8dc2d3 100644 --- a/addons/mass_mailing/i18n/ja.po +++ b/addons/mass_mailing/i18n/ja.po @@ -2326,9 +2326,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/mn.po b/addons/mass_mailing/i18n/mn.po index 55fb37e697f..43b694b10e7 100644 --- a/addons/mass_mailing/i18n/mn.po +++ b/addons/mass_mailing/i18n/mn.po @@ -2463,9 +2463,9 @@ msgstr "Та манай аль ч мэйл жагсаалтад бүртгүүл #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/nb.po b/addons/mass_mailing/i18n/nb.po index 877ae0f66ed..ca8b850ddb9 100644 --- a/addons/mass_mailing/i18n/nb.po +++ b/addons/mass_mailing/i18n/nb.po @@ -2425,9 +2425,9 @@ msgstr "Du abonnerer ikke på noen av epostlistene våre." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/nl.po b/addons/mass_mailing/i18n/nl.po index c8a64142c63..a95812b122f 100644 --- a/addons/mass_mailing/i18n/nl.po +++ b/addons/mass_mailing/i18n/nl.po @@ -2538,10 +2538,10 @@ msgstr "U bent niet ingeschreven voor een van onze nieuwsbrieven." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." -msgstr "U bent succesvol uitgeschreven uit." +msgid "You have been successfully unsubscribed from %s." +msgstr "U bent succesvol uitgeschreven van %s." #. module: mass_mailing #. openerp-web diff --git a/addons/mass_mailing/i18n/pt.po b/addons/mass_mailing/i18n/pt.po index d1a25871d93..ab170b0275b 100644 --- a/addons/mass_mailing/i18n/pt.po +++ b/addons/mass_mailing/i18n/pt.po @@ -2330,9 +2330,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/pt_BR.po b/addons/mass_mailing/i18n/pt_BR.po index ce12b8a9649..243ef525dfa 100644 --- a/addons/mass_mailing/i18n/pt_BR.po +++ b/addons/mass_mailing/i18n/pt_BR.po @@ -2430,9 +2430,9 @@ msgstr "Você não está inscrito em nenhuma de nossa listas de correspondência #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/ro.po b/addons/mass_mailing/i18n/ro.po index fbb12029a13..94331040334 100644 --- a/addons/mass_mailing/i18n/ro.po +++ b/addons/mass_mailing/i18n/ro.po @@ -2415,9 +2415,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/ru.po b/addons/mass_mailing/i18n/ru.po index 22b6682338d..ae4e9cff039 100644 --- a/addons/mass_mailing/i18n/ru.po +++ b/addons/mass_mailing/i18n/ru.po @@ -2472,9 +2472,9 @@ msgstr "Вы не подписаны на какой-либо из нашего #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/sk.po b/addons/mass_mailing/i18n/sk.po index fcc34e49b23..189bfb972aa 100644 --- a/addons/mass_mailing/i18n/sk.po +++ b/addons/mass_mailing/i18n/sk.po @@ -2330,9 +2330,9 @@ msgstr "Nie ste prihlásený k žiadnemu odberu v nášho mailing listu." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/sr.po b/addons/mass_mailing/i18n/sr.po index f9bb97d1ab4..737ee29ed07 100644 --- a/addons/mass_mailing/i18n/sr.po +++ b/addons/mass_mailing/i18n/sr.po @@ -2319,9 +2319,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/sv.po b/addons/mass_mailing/i18n/sv.po index 45e1888a734..70ae6b24aba 100644 --- a/addons/mass_mailing/i18n/sv.po +++ b/addons/mass_mailing/i18n/sv.po @@ -2418,9 +2418,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/th.po b/addons/mass_mailing/i18n/th.po index d31972f005d..55ae075c42c 100644 --- a/addons/mass_mailing/i18n/th.po +++ b/addons/mass_mailing/i18n/th.po @@ -2328,9 +2328,9 @@ msgstr "" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/tr.po b/addons/mass_mailing/i18n/tr.po index f767415438a..c0046f35c85 100644 --- a/addons/mass_mailing/i18n/tr.po +++ b/addons/mass_mailing/i18n/tr.po @@ -2488,9 +2488,9 @@ msgstr "E-Posta listelerimizden herhangi birine üye değilsiniz." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/uk.po b/addons/mass_mailing/i18n/uk.po index 1f4764eb5d0..c7ee5d0563e 100644 --- a/addons/mass_mailing/i18n/uk.po +++ b/addons/mass_mailing/i18n/uk.po @@ -383,12 +383,12 @@ msgstr "Заархівовано" #. module: mass_mailing #: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form msgid "Attach a file" -msgstr "Долучити файл" +msgstr "Прикріпити файл" #. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_contact__message_attachment_count msgid "Attachment Count" -msgstr "Підрахунок прикріплення" +msgstr "Підрахунок прикріплень" #. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing__attachment_ids @@ -2527,10 +2527,10 @@ msgstr "Ви не підписані на наш список розсилки." #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." -msgstr "Ви успішно відписалися від ." +msgid "You have been successfully unsubscribed from %s." +msgstr "Ви успішно відписалися від %s." #. module: mass_mailing #. openerp-web diff --git a/addons/mass_mailing/i18n/vi.po b/addons/mass_mailing/i18n/vi.po index 88d904e8298..9b590a981e4 100644 --- a/addons/mass_mailing/i18n/vi.po +++ b/addons/mass_mailing/i18n/vi.po @@ -2333,9 +2333,9 @@ msgstr "Bạn chưa đăng ký nhận tin từ bất kỳ mailing list nào củ #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." +msgid "You have been successfully unsubscribed from %s." msgstr "" #. module: mass_mailing diff --git a/addons/mass_mailing/i18n/zh_CN.po b/addons/mass_mailing/i18n/zh_CN.po index f041ca95ad7..35ae0dc385e 100644 --- a/addons/mass_mailing/i18n/zh_CN.po +++ b/addons/mass_mailing/i18n/zh_CN.po @@ -2473,10 +2473,10 @@ msgstr "您没有订阅任何我们的邮件列表。" #. module: mass_mailing #. openerp-web -#: code:addons/mass_mailing/static/src/js/unsubscribe.js:49 +#: code:addons/mass_mailing/static/src/js/unsubscribe.js:50 #, python-format -msgid "You have been successfully unsubscribed from ." -msgstr "您已成功取消订阅。" +msgid "You have been successfully unsubscribed from %s." +msgstr "" #. module: mass_mailing #. openerp-web diff --git a/addons/mass_mailing_sale/i18n/km.po b/addons/mass_mailing_sale/i18n/km.po index 4668b530f13..c48a398c940 100644 --- a/addons/mass_mailing_sale/i18n/km.po +++ b/addons/mass_mailing_sale/i18n/km.po @@ -2,12 +2,16 @@ # This file contains the translation of the following modules: # * mass_mailing_sale # +# Translators: +# Lux Sok , 2019 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" -"PO-Revision-Date: 2018-10-08 06:49+0000\n" +"PO-Revision-Date: 2018-08-24 09:21+0000\n" +"Last-Translator: Lux Sok , 2019\n" "Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,7 +22,7 @@ msgstr "" #. module: mass_mailing_sale #: model_terms:ir.ui.view,arch_db:mass_mailing_sale.mail_mass_mailing_view_form msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: mass_mailing_sale #: model:ir.model.fields,field_description:mass_mailing_sale.field_mail_mass_mailing__sale_invoiced_amount diff --git a/addons/membership/i18n/km.po b/addons/membership/i18n/km.po index 0a6500f0fb3..556020194ef 100644 --- a/addons/membership/i18n/km.po +++ b/addons/membership/i18n/km.po @@ -270,7 +270,7 @@ msgstr "" #. module: membership #: model:ir.model.fields,field_description:membership.field_membership_membership_line__date_from msgid "From" -msgstr "" +msgstr "មកពី" #. module: membership #: model_terms:ir.ui.view,arch_db:membership.view_report_membership_search @@ -293,7 +293,7 @@ msgstr "ID" #. module: membership #: model_terms:ir.ui.view,arch_db:membership.membership_product_search_form_view msgid "Inactive" -msgstr "" +msgstr "អសកម្ម" #. module: membership #: model:ir.model,name:membership.model_account_invoice diff --git a/addons/mrp/i18n/km.po b/addons/mrp/i18n/km.po index ee0f635d6e1..13b79efc2c6 100644 --- a/addons/mrp/i18n/km.po +++ b/addons/mrp/i18n/km.po @@ -1225,7 +1225,7 @@ msgstr "" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.report_mrporder msgid "From" -msgstr "" +msgstr "មកពី" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.oee_search_view @@ -1240,7 +1240,7 @@ msgstr "" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.mrp_workcenter_view @@ -1310,7 +1310,7 @@ msgstr "" #. module: mrp #: selection:mrp.document,priority:0 msgid "High" -msgstr "" +msgstr "ខ្ពស់" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_change_production_qty__id @@ -1450,7 +1450,7 @@ msgstr "" #. module: mrp #: selection:stock.picking.type,code:0 msgid "Internal" -msgstr "" +msgstr "ផ្ទៃក្នុង" #. module: mrp #: model:ir.actions.act_window,name:mrp.action_mrp_production_moves @@ -1601,7 +1601,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view #: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: mrp #: model:product.product,description:mrp.product_product_wood_ply @@ -1685,7 +1685,7 @@ msgstr "" #. module: mrp #: selection:mrp.document,priority:0 msgid "Low" -msgstr "" +msgstr "ខាត" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_res_config_settings__group_mrp_routings @@ -2246,7 +2246,7 @@ msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_dashboard msgid "Overview" -msgstr "" +msgstr "ទិដ្ឋភាពទូទៅ" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line__bom_id @@ -3638,7 +3638,7 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workorder__product_tracking #: model:ir.model.fields,field_description:mrp.field_stock_move__needs_lots msgid "Tracking" -msgstr "" +msgstr "ការ​តាមដាន" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_document__type @@ -3736,7 +3736,7 @@ msgstr "" #: model:product.template,uom_name:mrp.product_product_wood_ply_product_template #: model:product.template,uom_name:mrp.product_product_wood_wear_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view @@ -3829,7 +3829,7 @@ msgstr "" #. module: mrp #: selection:mrp.document,priority:0 msgid "Very High" -msgstr "" +msgstr "ខ្ពស់​ណាស់" #. module: mrp #: selection:mrp.production,priority:0 @@ -4346,7 +4346,7 @@ msgstr "" #: model:product.template,weight_uom_name:mrp.product_product_wood_ply_product_template #: model:product.template,weight_uom_name:mrp.product_product_wood_wear_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: mrp #: model_terms:ir.ui.view,arch_db:mrp.mrp_routing_workcenter_form_view diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 3162d02db3f..e3b3fc2a611 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -568,12 +568,13 @@ class MrpProduction(models.Model): move[0]._recompute_state() move[0]._action_assign() move[0].unit_factor = quantity / move[0].raw_material_production_id.product_qty - elif quantity < 0: # Do not remove 0 lines + return move[0], old_qty, quantity + else: if move[0].quantity_done > 0: raise UserError(_('Lines need to be deleted, but can not as you still have some quantities to consume in them. ')) move[0]._action_cancel() move[0].unlink() - return move[0], old_qty, quantity + return self.env['stock.move'], old_qty, quantity else: move_values = self._get_move_raw_values(bom_line, line_data) move = self.env['stock.move'].create(move_values) @@ -847,15 +848,14 @@ class MrpProduction(models.Model): raise UserError(_('Work order %s is still running') % wo.name) self._check_lots() - # Cancel unfinished move - move_to_cancel = self.move_raw_ids.filtered(lambda m: m.state not in ('done', 'cancel') and float_is_zero(m.quantity_done, precision_rounding=m.product_uom.rounding)) - move_to_cancel._action_cancel() - self.post_inventory() # Moves without quantity done are not posted => set them as done instead of canceling. In # case the user edits the MO later on and sets some consumed quantity on those, we do not # want the move lines to be canceled. - (self.move_raw_ids | self.move_finished_ids).filtered(lambda x: x.state not in ('done', 'cancel')).write({'state': 'done'}) + (self.move_raw_ids | self.move_finished_ids).filtered(lambda x: x.state not in ('done', 'cancel')).write({ + 'state': 'done', + 'product_uom_qty': 0.0, + }) self.write({'date_finished': fields.Datetime.now()}) return True diff --git a/addons/mrp/tests/test_order.py b/addons/mrp/tests/test_order.py index 1445e240e97..5bfbec8df12 100644 --- a/addons/mrp/tests/test_order.py +++ b/addons/mrp/tests/test_order.py @@ -5,6 +5,7 @@ from odoo.tests import Form from datetime import datetime, timedelta from odoo.fields import Datetime as Dt +from odoo.exceptions import UserError from odoo.addons.mrp.tests.common import TestMrpCommon @@ -691,6 +692,51 @@ class TestMrpOrder(TestMrpCommon): self.assertEqual(mo.move_raw_ids.filtered(lambda m: m.product_id == p1).quantity_done, 20, 'Update the produce quantity should not impact already produced quantity.') mo.button_mark_done() + def test_product_produce_6(self): + """ Plan 5 finished products, reserve and produce 3. Post the current production. + Simulate an unlock and edit and, on the opened moves, set the consumed quantity + to 3. Now, try to update the quantity to produce to 3. It should fail since there + are consumed quantities. Unlock and edit, remove the consumed quantities and + update the quantity to produce to 3.""" + self.stock_location = self.env.ref('stock.stock_location_stock') + mo, bom, p_final, p1, p2 = self.generate_mo() + self.assertEqual(len(mo), 1, 'MO should have been created') + + self.env['stock.quant']._update_available_quantity(p1, self.stock_location, 20) + + self.env['stock.quant']._update_available_quantity(p2, self.stock_location, 5) + mo.action_assign() + + produce_wizard = self.env['mrp.product.produce'].with_context({ + 'active_id': mo.id, + 'active_ids': [mo.id], + }).create({ + 'product_qty': 3.0, + }) + produce_wizard._onchange_product_qty() + produce_wizard.do_produce() + + mo.post_inventory() + self.assertEqual(len(mo.move_raw_ids), 4) + + mo.move_raw_ids.filtered(lambda m: m.state != 'done')[0].quantity_done = 3 + + update_quantity_wizard = self.env['change.production.qty'].create({ + 'mo_id': mo.id, + 'product_qty': 3, + }) + with self.assertRaises(UserError): + update_quantity_wizard.change_prod_qty() + + mo.move_raw_ids.filtered(lambda m: m.state != 'done')[0].quantity_done = 0 + update_quantity_wizard.change_prod_qty() + + self.assertEqual(len(mo.move_raw_ids), 2) + + mo.button_mark_done() + self.assertTrue(all(s == 'done' for s in mo.move_raw_ids.mapped('state'))) + self.assertEqual(sum(mo.move_raw_ids.mapped('move_line_ids.product_uom_qty')), 0) + def test_product_produce_6(self): """ Build some final products and change the quantity to produce directly in the wizard. The component line should be updated . diff --git a/addons/mrp/wizard/change_production_qty.py b/addons/mrp/wizard/change_production_qty.py index 9e40bb63b67..e98364f9b93 100644 --- a/addons/mrp/wizard/change_production_qty.py +++ b/addons/mrp/wizard/change_production_qty.py @@ -57,15 +57,22 @@ class ChangeProductionQty(models.TransientModel): if line.child_bom_id and line.child_bom_id.type == 'phantom' or\ line.product_id.type not in ['product', 'consu']: continue - move, old_qty, new_qty = production._update_raw_move(line, line_data) + move = production.move_raw_ids.filtered(lambda x: x.bom_line_id.id == line.id and x.state not in ('done', 'cancel')) + if move: + old_qty = move[0].product_uom_qty + else: + old_qty = 0 iterate_key = production._get_document_iterate_key(move) if iterate_key: - document = self.env['stock.picking']._log_activity_get_documents({move: (new_qty, old_qty)}, iterate_key, 'UP') + document = self.env['stock.picking']._log_activity_get_documents({move: (line_data['qty'], old_qty)}, iterate_key, 'UP') for key, value in document.items(): if documents.get(key): documents[key] += [value] else: documents[key] = [value] + + production._update_raw_move(line, line_data) + production._log_manufacture_exception(documents) operation_bom_qty = {} for bom, bom_data in boms: diff --git a/addons/note/i18n/km.po b/addons/note/i18n/km.po index 386c99af622..da4bd50b9d5 100644 --- a/addons/note/i18n/km.po +++ b/addons/note/i18n/km.po @@ -182,7 +182,7 @@ msgstr "" #. module: note #: model_terms:ir.ui.view,arch_db:note.view_note_note_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: note #: model_terms:ir.ui.view,arch_db:note.view_note_note_filter @@ -240,7 +240,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: note #: model_terms:ir.ui.view,arch_db:note.view_note_note_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: note #: model:ir.model.fields,field_description:note.field_note_note__message_main_attachment_id @@ -444,7 +444,7 @@ msgstr "ដំណាក់កាល" #. module: note #: model:ir.model.fields,field_description:note.field_note_stage__name msgid "Stage Name" -msgstr "" +msgstr "ឈ្មោះដំនាក់កាល" #. module: note #: model_terms:ir.ui.view,arch_db:note.view_note_stage_form diff --git a/addons/payment/controllers/portal.py b/addons/payment/controllers/portal.py index 8b4585b9393..ebe7aef0cc5 100644 --- a/addons/payment/controllers/portal.py +++ b/addons/payment/controllers/portal.py @@ -272,7 +272,7 @@ class WebsitePayment(http.Controller): tx_id = int(kw.get('tx_id', 0)) if tx_id: tx = request.env['payment.transaction'].browse(tx_id) - if tx.state == 'done': + if tx.state in ['done', 'authorized']: status = 'success' message = tx.acquirer_id.done_msg elif tx.state == 'pending': diff --git a/addons/payment/i18n/de.po b/addons/payment/i18n/de.po index 7b75b70820e..15c02f4a8ba 100644 --- a/addons/payment/i18n/de.po +++ b/addons/payment/i18n/de.po @@ -924,13 +924,13 @@ msgstr "Interner Serverfehler" #: code:addons/payment/models/account_invoice.py:55 #, python-format msgid "Invalid token found! Token acquirer %s != %s" -msgstr "" +msgstr "Ungültiges Token gefunden! Token-Acquirer %s != %s" #. module: payment #: code:addons/payment/models/account_invoice.py:58 #, python-format msgid "Invalid token found! Token partner %s != %s" -msgstr "" +msgstr "Ungültiges Token gefunden! Token-Partner %s != %s" #. module: payment #: model:ir.model,name:payment.model_account_invoice diff --git a/addons/payment/i18n/km.po b/addons/payment/i18n/km.po index e2f12ef3729..c8403aa9fa6 100644 --- a/addons/payment/i18n/km.po +++ b/addons/payment/i18n/km.po @@ -767,7 +767,7 @@ msgstr "" #. module: payment #: model_terms:ir.ui.view,arch_db:payment.confirm msgid "From" -msgstr "" +msgstr "មកពី" #. module: payment #: model_terms:ir.ui.view,arch_db:payment.acquirer_search @@ -878,7 +878,7 @@ msgstr "វិកិយប័ត្រ" #. module: payment #: selection:res.company,payment_acquirer_onboarding_state:0 msgid "Just done" -msgstr "" +msgstr "ទើបតែរួចរាល់" #. module: payment #: model:ir.model.fields,field_description:payment.field_payment_transaction__partner_lang @@ -1235,7 +1235,7 @@ msgstr "" #. module: payment #: model:ir.model.fields,field_description:payment.field_payment_acquirer__journal_id msgid "Payment Journal" -msgstr "" +msgstr "ទិនានុប្បវត្តិបង់ប្រាក់" #. module: payment #: model:ir.model.fields,field_description:payment.field_payment_acquirer_onboarding_wizard__payment_method @@ -1805,7 +1805,7 @@ msgstr "" #: code:addons/payment/static/src/js/payment_form.js:355 #, python-format msgid "Warning!" -msgstr "" +msgstr "ការព្រមាន!" #. module: payment #. openerp-web diff --git a/addons/payment/models/__init__.py b/addons/payment/models/__init__.py index 93f5083aca8..8491af34960 100644 --- a/addons/payment/models/__init__.py +++ b/addons/payment/models/__init__.py @@ -5,4 +5,5 @@ from . import account_invoice from . import res_partner from . import account_payment from . import chart_template +from . import ir_http from . import res_company diff --git a/addons/payment/models/ir_http.py b/addons/payment/models/ir_http.py new file mode 100644 index 00000000000..0d9c9c8de32 --- /dev/null +++ b/addons/payment/models/ir_http.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models +from odoo.osv import expression + + +class IrHttp(models.AbstractModel): + _inherit = 'ir.http' + + @classmethod + def _get_translation_frontend_modules_domain(cls): + domain = super(IrHttp, cls)._get_translation_frontend_modules_domain() + return expression.OR([domain, [('name', '=', 'payment')]]) diff --git a/addons/point_of_sale/i18n/cs.po b/addons/point_of_sale/i18n/cs.po index 77ad51d7ee6..cf8b6d3600c 100644 --- a/addons/point_of_sale/i18n/cs.po +++ b/addons/point_of_sale/i18n/cs.po @@ -4377,7 +4377,7 @@ msgstr "Jednotková cena" #. module: point_of_sale #: selection:barcode.rule,type:0 msgid "Unit Product" -msgstr "" +msgstr "Jednotkový produkt" #. module: point_of_sale #: model:product.product,uom_name:point_of_sale.product_product_consumable @@ -4540,7 +4540,7 @@ msgstr "" #: model:product.product,name:point_of_sale.whiteboard_pen #: model:product.template,name:point_of_sale.whiteboard_pen_product_template msgid "Whiteboard Pen" -msgstr "" +msgstr "Fix na bílou tabuli" #. module: point_of_sale #. openerp-web diff --git a/addons/point_of_sale/i18n/hu.po b/addons/point_of_sale/i18n/hu.po index db6e2c43825..01b839ac148 100644 --- a/addons/point_of_sale/i18n/hu.po +++ b/addons/point_of_sale/i18n/hu.po @@ -2397,7 +2397,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_order__picking_type_id #: model_terms:ir.ui.view,arch_db:point_of_sale.pos_config_view_form msgid "Operation Type" -msgstr "" +msgstr "Művelet típus" #. module: point_of_sale #: model_terms:ir.ui.view,arch_db:point_of_sale.pos_config_view_form diff --git a/addons/point_of_sale/i18n/it.po b/addons/point_of_sale/i18n/it.po index a47f0c1039c..7bad6cd0e20 100644 --- a/addons/point_of_sale/i18n/it.po +++ b/addons/point_of_sale/i18n/it.po @@ -1615,7 +1615,7 @@ msgstr "Esporta ordini non pagati" #. module: point_of_sale #: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "Extra Info" -msgstr "Info aggiuntive" +msgstr "Informazioni aggiuntive" #. module: point_of_sale #. openerp-web diff --git a/addons/point_of_sale/i18n/km.po b/addons/point_of_sale/i18n/km.po index 5ca69e752da..4f671b0d3ce 100644 --- a/addons/point_of_sale/i18n/km.po +++ b/addons/point_of_sale/i18n/km.po @@ -663,7 +663,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_config__cash_control #, python-format msgid "Cash Control" -msgstr "" +msgstr "ការគ្រប់គ្រងសាច់ប្រាក់" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_session__cash_journal_id @@ -1434,7 +1434,7 @@ msgstr "" #: code:addons/point_of_sale/static/src/xml/pos.xml:409 #, python-format msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: point_of_sale #. openerp-web @@ -1544,7 +1544,7 @@ msgstr "" #. module: point_of_sale #: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "Extra Info" -msgstr "" +msgstr "ព័ត៌មានបន្ថែម" #. module: point_of_sale #. openerp-web @@ -1739,7 +1739,7 @@ msgstr "" #. module: point_of_sale #: model_terms:ir.ui.view,arch_db:point_of_sale.view_pos_config_search msgid "Inactive" -msgstr "" +msgstr "អសកម្ម" #. module: point_of_sale #. openerp-web @@ -1803,7 +1803,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search #: selection:pos.order,state:0 selection:report.pos.order,state:0 msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config__module_account @@ -2543,7 +2543,7 @@ msgstr "" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment__payment_date msgid "Payment Date" -msgstr "" +msgstr "កាលបរិច្ឆេទបង់ប្រាក់" #. module: point_of_sale #: model:ir.actions.act_window,name:point_of_sale.action_account_journal_form @@ -3168,7 +3168,7 @@ msgstr "" #: code:addons/point_of_sale/static/src/xml/pos.xml:1100 #, python-format msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: point_of_sale #: model:ir.ui.menu,name:point_of_sale.menu_point_rep @@ -4210,7 +4210,7 @@ msgstr "" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order__price_total msgid "Total Price" -msgstr "" +msgstr "តំលៃសរុប" #. module: point_of_sale #. openerp-web @@ -4291,7 +4291,7 @@ msgstr "ផលិតផលឯកតា" #: model:product.template,uom_name:point_of_sale.product_product_consumable_product_template #: model:product.template,uom_name:point_of_sale.product_product_tip_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: point_of_sale #. openerp-web @@ -4727,7 +4727,7 @@ msgstr "" #: model:product.template,weight_uom_name:point_of_sale.whiteboard_pen_product_template #: model:product.template,weight_uom_name:point_of_sale.whiteboard_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: point_of_sale #: code:addons/point_of_sale/models/pos_config.py:336 diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index 99007a7abd9..d87844aaf19 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -259,7 +259,7 @@ class PosConfig(models.Model): " the Accounting application.")) if self.invoice_journal_id.currency_id and self.invoice_journal_id.currency_id != self.currency_id: raise ValidationError(_("The invoice journal must be in the same currency as the Sales Journal or the company currency if that is not set.")) - if any(self.journal_ids.mapped(lambda journal: journal.currency_id and journal.currency_id != self.currency_id)): + if any(self.journal_ids.mapped(lambda journal: self.currency_id not in (journal.company_id.currency_id, journal.currency_id))): raise ValidationError(_("All payment methods must be in the same currency as the Sales Journal or the company currency if that is not set.")) @api.constrains('company_id', 'available_pricelist_ids') diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index c7288ed6057..97cd43ba2a6 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -205,7 +205,7 @@ class PosSession(models.Model): 'journal_id': journal.id, 'user_id': self.env.user.id, 'name': pos_name, - 'balance_start': self.env["account.bank.statement"]._get_opening_balance(journal.id) + 'balance_start': self.env["account.bank.statement"]._get_opening_balance(journal.id) if journal.type == 'cash' else 0 } statements.append(ABS.with_context(ctx).sudo(uid).create(st_values).id) diff --git a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd new file mode 100755 index 00000000000..eb5ccf94091 --- /dev/null +++ b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init.d/timesyncd @@ -0,0 +1,41 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: timesyncd +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start systemd-timesyncd daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO + +start() +{ + echo "start timesyncd" + service systemd-timesyncd start +} + +stop() +{ + echo "stop timesyncd" + service systemd-timesyncd stop +} + +restart() +{ + stop; + sleep 1; + start; +} +case $1 in +start) + start;; +stop) + stop;; +restart) + restart;; +*) + start;; +esac + +exit 0 diff --git a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh index 53ab15a8748..97c69f308ee 100755 --- a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh +++ b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh @@ -138,6 +138,7 @@ echo "* * * * * rm /var/run/odoo/sessions/*" | crontab - update-rc.d -f hostapd remove update-rc.d -f nginx remove update-rc.d -f dnsmasq remove +update-rc.d timesyncd defaults systemctl daemon-reload systemctl enable ramdisks.service diff --git a/addons/portal/i18n/ar.po b/addons/portal/i18n/ar.po index 2e6d55e2163..a3f87e2a8c2 100644 --- a/addons/portal/i18n/ar.po +++ b/addons/portal/i18n/ar.po @@ -160,6 +160,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/az.po b/addons/portal/i18n/az.po index d8a6b2b80c4..c6f4b6a82c6 100644 --- a/addons/portal/i18n/az.po +++ b/addons/portal/i18n/az.po @@ -144,6 +144,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/bs.po b/addons/portal/i18n/bs.po index c59274045b2..6a550279942 100644 --- a/addons/portal/i18n/bs.po +++ b/addons/portal/i18n/bs.po @@ -149,6 +149,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/cs.po b/addons/portal/i18n/cs.po index 97c56d097eb..f9753e0ce4e 100644 --- a/addons/portal/i18n/cs.po +++ b/addons/portal/i18n/cs.po @@ -153,6 +153,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/da.po b/addons/portal/i18n/da.po index 76279699fdb..1394c53027d 100644 --- a/addons/portal/i18n/da.po +++ b/addons/portal/i18n/da.po @@ -158,6 +158,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/et.po b/addons/portal/i18n/et.po index 3d7d3fd697e..108f2e9aecc 100644 --- a/addons/portal/i18n/et.po +++ b/addons/portal/i18n/et.po @@ -155,6 +155,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/fa.po b/addons/portal/i18n/fa.po index beeb49ef5b4..0b12c26cec8 100644 --- a/addons/portal/i18n/fa.po +++ b/addons/portal/i18n/fa.po @@ -154,6 +154,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/fi.po b/addons/portal/i18n/fi.po index 21516c6bd93..37ed492cae9 100644 --- a/addons/portal/i18n/fi.po +++ b/addons/portal/i18n/fi.po @@ -159,6 +159,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/gu.po b/addons/portal/i18n/gu.po index 8beba0603cd..ed98196c1cd 100644 --- a/addons/portal/i18n/gu.po +++ b/addons/portal/i18n/gu.po @@ -151,6 +151,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/he.po b/addons/portal/i18n/he.po index 8b73c14edc8..e8516e5d473 100644 --- a/addons/portal/i18n/he.po +++ b/addons/portal/i18n/he.po @@ -151,6 +151,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/is.po b/addons/portal/i18n/is.po index b4c5729e952..4a65318b0bc 100644 --- a/addons/portal/i18n/is.po +++ b/addons/portal/i18n/is.po @@ -151,6 +151,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/it.po b/addons/portal/i18n/it.po index 5ffa383c6dd..06de4e3bea8 100644 --- a/addons/portal/i18n/it.po +++ b/addons/portal/i18n/it.po @@ -159,6 +159,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/ja.po b/addons/portal/i18n/ja.po index 6fd34da508d..d51af6f3b71 100644 --- a/addons/portal/i18n/ja.po +++ b/addons/portal/i18n/ja.po @@ -152,6 +152,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/km.po b/addons/portal/i18n/km.po index 025a6a86b85..dfd05003ade 100644 --- a/addons/portal/i18n/km.po +++ b/addons/portal/i18n/km.po @@ -148,11 +148,18 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning msgid "Access warning" -msgstr "" +msgstr "ដំណើររការនៃការពិន័យ" #. module: portal #: model_terms:ir.ui.view,arch_db:portal.portal_share_wizard diff --git a/addons/portal/i18n/ko.po b/addons/portal/i18n/ko.po index c2c80318514..149c0eec93a 100644 --- a/addons/portal/i18n/ko.po +++ b/addons/portal/i18n/ko.po @@ -154,6 +154,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/pt.po b/addons/portal/i18n/pt.po index dbe1da769e6..0c17e984c6c 100644 --- a/addons/portal/i18n/pt.po +++ b/addons/portal/i18n/pt.po @@ -7,7 +7,7 @@ # Manuela Silva , 2018 # Ricardo Martins , 2018 # Vitor Fernandes , 2018 -# MS , 2018 +# Manuela Silva , 2018 # Joao Felix , 2018 # Nuno Silva , 2018 # Diogo Fonseca , 2018 @@ -155,6 +155,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/sk.po b/addons/portal/i18n/sk.po index cbd55139a4a..45a69309895 100644 --- a/addons/portal/i18n/sk.po +++ b/addons/portal/i18n/sk.po @@ -153,6 +153,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/sr.po b/addons/portal/i18n/sr.po index bdd43780dee..b4c93153a87 100644 --- a/addons/portal/i18n/sr.po +++ b/addons/portal/i18n/sr.po @@ -148,6 +148,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/i18n/th.po b/addons/portal/i18n/th.po index 56c07499f4f..f538e221cfe 100644 --- a/addons/portal/i18n/th.po +++ b/addons/portal/i18n/th.po @@ -152,6 +152,13 @@ msgid "" " " msgstr "" +#. module: portal +#. openerp-web +#: code:addons/portal/static/src/xml/portal_signature.xml:19 +#, python-format +msgid "Accept & Sign" +msgstr "" + #. module: portal #: model:ir.model.fields,field_description:portal.field_portal_mixin__access_warning #: model:ir.model.fields,field_description:portal.field_portal_share__access_warning diff --git a/addons/portal/models/mail_thread.py b/addons/portal/models/mail_thread.py index aea29ea3ec7..71aae5ca58d 100644 --- a/addons/portal/models/mail_thread.py +++ b/addons/portal/models/mail_thread.py @@ -13,7 +13,7 @@ class MailThread(models.AbstractModel): _mail_post_token_field = 'access_token' # token field for external posts, to be overridden website_message_ids = fields.One2many('mail.message', 'res_id', string='Website Messages', - domain=lambda self: [('model', '=', self._name), ('message_type', '=', 'comment')], auto_join=True, + domain=lambda self: [('model', '=', self._name), '|', ('message_type', '=', 'comment'), ('message_type', '=', 'email')], auto_join=True, help="Website communication history") @api.multi diff --git a/addons/portal/models/res_partner.py b/addons/portal/models/res_partner.py index 4c8d02943c5..064fa2ff04e 100644 --- a/addons/portal/models/res_partner.py +++ b/addons/portal/models/res_partner.py @@ -8,4 +8,7 @@ class ResPartner(models.Model): _inherit = 'res.partner' def can_edit_vat(self): - return True + ''' `vat` is a commercial field, synced between the parent (commercial + entity) and the children. Only the commercial entity should be able to + edit it (as in backend). ''' + return not self.parent_id diff --git a/addons/portal/views/portal_templates.xml b/addons/portal/views/portal_templates.xml index f4f88c5dfb2..9ded0d59297 100644 --- a/addons/portal/views/portal_templates.xml +++ b/addons/portal/views/portal_templates.xml @@ -374,8 +374,11 @@
-

- + +

+

diff --git a/addons/pos_restaurant/i18n/cs.po b/addons/pos_restaurant/i18n/cs.po index ad405c2e210..1a78a84bd80 100644 --- a/addons/pos_restaurant/i18n/cs.po +++ b/addons/pos_restaurant/i18n/cs.po @@ -142,7 +142,7 @@ msgstr "" #. module: pos_restaurant #: model_terms:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant msgid "Add notes to orderlines" -msgstr "" +msgstr "Přidat poznámky k objednávce" #. module: pos_restaurant #: model:ir.model.fields,help:pos_restaurant.field_pos_config__iface_orderline_notes @@ -806,7 +806,7 @@ msgstr "" #. module: pos_restaurant #: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table__name msgid "Table Name" -msgstr "" +msgstr "Název stolu" #. module: pos_restaurant #. openerp-web @@ -967,7 +967,7 @@ msgstr "Voda" #. module: pos_restaurant #: model_terms:pos.config,customer_facing_display_html:pos_restaurant.pos_config_restaurant msgid "Whiteboard Pen" -msgstr "" +msgstr "Fix na bílou tabuli" #. module: pos_restaurant #: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table__width diff --git a/addons/pos_restaurant/i18n/km.po b/addons/pos_restaurant/i18n/km.po index bd954e49cd0..90de65ec0ef 100644 --- a/addons/pos_restaurant/i18n/km.po +++ b/addons/pos_restaurant/i18n/km.po @@ -212,7 +212,7 @@ msgstr "" #: code:addons/pos_restaurant/static/src/xml/printbill.xml:31 #, python-format msgid "Bill" -msgstr "" +msgstr "វិក័យបត្រ" #. module: pos_restaurant #. openerp-web @@ -346,7 +346,7 @@ msgstr "" #: code:addons/pos_restaurant/static/src/xml/floors.xml:110 #, python-format msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: pos_restaurant #: model:ir.model.fields,help:pos_restaurant.field_pos_config__iface_splitbill @@ -940,7 +940,7 @@ msgstr "" #: model:product.template,uom_name:pos_restaurant.minute_maid_product_template #: model:product.template,uom_name:pos_restaurant.water_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: pos_restaurant #: model:ir.model.fields,help:pos_restaurant.field_restaurant_floor__sequence @@ -1029,4 +1029,4 @@ msgstr "" #: model:product.template,weight_uom_name:pos_restaurant.minute_maid_product_template #: model:product.template,weight_uom_name:pos_restaurant.water_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" diff --git a/addons/pos_sale/i18n/cs.po b/addons/pos_sale/i18n/cs.po index 9d294d4cb49..93126c21ef5 100644 --- a/addons/pos_sale/i18n/cs.po +++ b/addons/pos_sale/i18n/cs.po @@ -75,7 +75,7 @@ msgstr "Nové" #. module: pos_sale #: model:ir.model.fields,field_description:pos_sale.field_crm_team__pos_sessions_open_count msgid "Open POS Sessions" -msgstr "" +msgstr "Otevřené sezení Prodejního místa" #. module: pos_sale #: model:ir.actions.act_window,name:pos_sale.pos_session_action_from_crm_team diff --git a/addons/pos_sale/i18n/km.po b/addons/pos_sale/i18n/km.po index f3dcff1784e..2e2603e8550 100644 --- a/addons/pos_sale/i18n/km.po +++ b/addons/pos_sale/i18n/km.po @@ -39,7 +39,7 @@ msgstr "" #. module: pos_sale #: selection:crm.team,dashboard_graph_group_pos:0 msgid "Day" -msgstr "" +msgstr "ថ្ងៃ" #. module: pos_sale #: selection:sale.report,state:0 @@ -54,12 +54,12 @@ msgstr "" #. module: pos_sale #: model:ir.model.fields,help:pos_sale.field_crm_team__dashboard_graph_group_pos msgid "How this channel's dashboard graph will group the results." -msgstr "" +msgstr "របៀបក្រាហ្វិចឆានែលរបស់ឆានែលនេះនឹងដាក់បញ្ចូលលទ្ធផល។" #. module: pos_sale #: selection:sale.report,state:0 msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: pos_sale #: selection:crm.team,dashboard_graph_group_pos:0 diff --git a/addons/product/i18n/de.po b/addons/product/i18n/de.po index 95183273031..d782e590d97 100644 --- a/addons/product/i18n/de.po +++ b/addons/product/i18n/de.po @@ -227,6 +227,8 @@ msgid "" "A price is a set of sales prices or rules to compute the price of sales order lines based on products, product categories, dates and ordered quantities.\n" " This is the perfect tool to handle several pricings, seasonal discounts, etc." msgstr "" +"Ein Preis ist ein Satz von Verkaufspreisen oder Regeln, um den Preis von Kundenauftragszeilen basierend auf Produkten, Produktkategorien, Terminen und bestellten Mengen zu berechnen.\n" +" Dies ist das perfekte Werkzeug, um mehrere Preise, Saisonrabatte usw. zu verwalten." #. module: product #: model:ir.model.fields,help:product.field_product_product__type @@ -586,7 +588,7 @@ msgstr "Enthaltene Menge" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_packaging_form_view msgid "Contained quantity" -msgstr "" +msgstr "Enthaltene Menge" #. module: product #: model:product.product,name:product.product_product_13 @@ -620,6 +622,8 @@ msgid "" "Cost used for stock valuation in standard price and as a first price to set " "in average/FIFO." msgstr "" +"Kosten, die für die Bestandsbewertung im Standardpreis und als erster Preis " +"im Durchschnitt / FIFO verwendet werden." #. module: product #: model:ir.model.fields,help:product.field_product_product__standard_price @@ -770,12 +774,14 @@ msgid "" "Default unit of measure used for purchase orders. It must be in the same " "category as the default unit of measure." msgstr "" +"Standardmengeneinheit, die für Bestellungen verwendet wird. Sie muss der " +"gleichen Kategorie angehören wie die Standardmengeneinheit." #. module: product #: model:ir.model.fields,help:product.field_product_product__seller_ids #: model:ir.model.fields,help:product.field_product_template__seller_ids msgid "Define vendor pricelists." -msgstr "" +msgstr "Lieferantenpreislisten definieren." #. module: product #: model:ir.model.fields,field_description:product.field_product_supplierinfo__delay @@ -927,7 +933,7 @@ msgstr "Festpreis" #: model:product.product,name:product.product_product_20 #: model:product.template,name:product.product_product_20_product_template msgid "Flipover" -msgstr "" +msgstr "Flipover" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__message_follower_ids @@ -1071,6 +1077,8 @@ msgstr "" msgid "" "If not set, the vendor price will apply to all variants of this product." msgstr "" +"Wenn nicht gesetzt, gilt der Lieferantenpreis für alle Varianten dieses " +"Produkts." #. module: product #: model:ir.model.fields,help:product.field_product_pricelist__active @@ -1098,7 +1106,7 @@ msgstr "Bild in Originalgröße, wie es hochgeladen wurde." #: code:addons/product/models/product_pricelist.py:357 #, python-format msgid "Import Template for Pricelists" -msgstr "" +msgstr "Importvorlage für Preislisten" #. module: product #: code:addons/product/models/product_template.py:1062 @@ -1110,7 +1118,7 @@ msgstr "Importier-Vorlage für Produkte " #: code:addons/product/models/product.py:743 #, python-format msgid "Import Template for Vendor Pricelists" -msgstr "" +msgstr "Importvorlage für Lieferantenpreislisten" #. module: product #: model_terms:ir.ui.view,arch_db:product.res_config_settings_view_form @@ -1121,7 +1129,7 @@ msgstr "" #: model:product.product,name:product.product_product_24 #: model:product.template,name:product.product_product_24_product_template msgid "Individual Workplace" -msgstr "" +msgstr "Individueller Arbeitsplatz" #. module: product #: model:product.category,name:product.product_category_2 @@ -1294,6 +1302,8 @@ msgid "" "Make this attribute value not compatible with\n" " other values of the product or some attribute values of optional and accessory products." msgstr "" +"Machen Sie diesen Attributwert nicht kompatibel mit\n" +" anderen Werten des Produkts oder einigen Attributwerten von optionalen und Zubehörprodukten." #. module: product #: model:res.groups,name:product.group_pricelist_item @@ -1508,7 +1518,7 @@ msgstr "Übergeordneter Pfad" #: model:product.product,name:product.product_product_9 #: model:product.template,name:product.product_product_9_product_template msgid "Pedal Bin" -msgstr "" +msgstr "Pedalbehälter" #. module: product #: selection:product.pricelist.item,compute_price:0 @@ -1559,6 +1569,8 @@ msgid "" "Price Extra: Extra price for the variant with\n" " this attribute value on sale price. eg. 200 price extra, 1000 + 200 = 1200." msgstr "" +"Preis Aufschlag: Extra Preis für die Variante mit\n" +" diesem Attributwert beim Verkaufspreis. z.B. 200 Preiszuschlag, 1000 + 200 = 1200." #. module: product #: model:ir.actions.act_window,name:product.action_product_price_list @@ -1699,7 +1711,7 @@ msgstr "Produktattributwert" #. module: product #: model:ir.model.fields,field_description:product.field_product_template_attribute_line__product_template_value_ids msgid "Product Attribute Values" -msgstr "" +msgstr "Werte der Produkteigenschaften" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_attribute_line_form @@ -1775,17 +1787,17 @@ msgstr "Produktverpackung" #. module: product #: model:ir.model,name:product.model_product_price_history msgid "Product Price List History" -msgstr "" +msgstr "Historie der Produktpreisliste" #. module: product #: model:ir.model,name:product.model_report_product_report_pricelist msgid "Product Price List Report" -msgstr "" +msgstr "Produktpreislistenbericht" #. module: product #: model:ir.model,name:product.model_product_price_list msgid "Product Price per Unit Based on Pricelist Version" -msgstr "" +msgstr "Produktpreis pro Stück basierend auf der Preislistenversion" #. module: product #: model:ir.model,name:product.model_product_template @@ -1802,12 +1814,12 @@ msgstr "Produktvorlage" #. module: product #: model:ir.model,name:product.model_product_template_attribute_exclusion msgid "Product Template Attribute Exclusion" -msgstr "" +msgstr "Ausschluss des Attributs der Produktvorlage" #. module: product #: model:ir.model,name:product.model_product_template_attribute_line msgid "Product Template Attribute Line" -msgstr "" +msgstr "Attributzeile der Produktvorlage" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__type @@ -1827,7 +1839,7 @@ msgstr "Produktvarianten" #. module: product #: model:ir.actions.act_window,name:product.product_attribute_value_action msgid "Product Variant Values" -msgstr "" +msgstr "Werte der Produktvarianten" #. module: product #: model:ir.actions.act_window,name:product.product_normal_action @@ -1973,7 +1985,7 @@ msgstr "Manager Veranstaltung" #: model:product.product,name:product.expense_product #: model:product.template,name:product.expense_product_product_template msgid "Restaurant Expenses" -msgstr "" +msgstr "Restaurantausgaben" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_pricelist_item_form_view @@ -2232,7 +2244,7 @@ msgstr "" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__product_template_attribute_value_ids msgid "Template Attribute Values" -msgstr "" +msgstr "Vorlagenattributwerte" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_pricelist_item_form_view @@ -2290,6 +2302,10 @@ msgid "" "sales order. To do so, open the form view of attributes and change the mode " "of *Create Variants*." msgstr "" +"Die Anzahl der zu generierenden Varianten ist zu hoch. Sie sollten entweder " +"keine Varianten für jede Kombination generieren oder diese bei Bedarf aus " +"dem Kundenauftrag generieren. Öffnen Sie dazu die Formularansicht der " +"Attribute und ändern Sie den Modus von *Varianten anlegen*." #. module: product #: code:addons/product/models/product_attribute.py:101 @@ -2427,7 +2443,7 @@ msgstr "Mengeneinheit" #: model:ir.model.fields,field_description:product.field_product_product__uom_name #: model:ir.model.fields,field_description:product.field_product_template__uom_name msgid "Unit of Measure Name" -msgstr "" +msgstr "Name der Mengeneinheit" #. module: product #: model:product.product,uom_name:product.consu_delivery_01 @@ -2516,49 +2532,49 @@ msgstr "Gültig" #: model:ir.model.fields,field_description:product.field_product_product__valid_archived_variant_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_archived_variant_ids msgid "Valid Archived Variants" -msgstr "" +msgstr "Gültige archivierte Varianten" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_existing_variant_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_existing_variant_ids msgid "Valid Existing Variants" -msgstr "" +msgstr "Gültig vorhandene Varianten" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_template_attribute_line_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_template_attribute_line_ids msgid "Valid Product Attribute Lines" -msgstr "" +msgstr "Gültige Produktattributzeilen" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_template_attribute_line_wnva_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_template_attribute_line_wnva_ids msgid "Valid Product Attribute Lines Without No Variant Attributes" -msgstr "" +msgstr "Gültige Produktattributzeilen ohne Variantenattribute" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_value_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_value_ids msgid "Valid Product Attribute Values" -msgstr "" +msgstr "Gültige Werte für Produktattribute" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_value_wnva_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_value_wnva_ids msgid "Valid Product Attribute Values Without No Variant Attributes" -msgstr "" +msgstr "Gültige Produktattributwerte ohne Variantenattribute" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_ids msgid "Valid Product Attributes" -msgstr "" +msgstr "Gültige Produkteigenschaften" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__valid_product_attribute_wnva_ids #: model:ir.model.fields,field_description:product.field_product_template__valid_product_attribute_wnva_ids msgid "Valid Product Attributes Without No Variant Attributes" -msgstr "" +msgstr "Gültige Produktattribute ohne Variantenattribute" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_supplierinfo_form_view @@ -2614,7 +2630,7 @@ msgstr "Varianten" #. module: product #: model:ir.model.fields,field_description:product.field_res_config_settings__group_product_variant msgid "Variants and Options" -msgstr "" +msgstr "Varianten und Optionen" #. module: product #: model:ir.model.fields,field_description:product.field_product_supplierinfo__name @@ -2664,13 +2680,13 @@ msgstr "Lieferanten" #: model:product.product,name:product.product_product_2 #: model:product.template,name:product.product_product_2_product_template msgid "Virtual Home Staging" -msgstr "" +msgstr "Virtuelle Heiminszenierung" #. module: product #: model:product.product,name:product.product_product_1 #: model:product.template,name:product.product_product_1_product_template msgid "Virtual Interior Design" -msgstr "" +msgstr "Virtuelle Innenarchitektur" #. module: product #: model:ir.model.fields,field_description:product.field_product_product__volume @@ -2736,6 +2752,8 @@ msgid "" "You are trying to change the type of an attribute value still referenced on " "at least one product template: %s" msgstr "" +"Sie versuchen, den Typ eines Attributwertes zu ändern, der noch auf " +"mindestens eine Produktvorlage verweist: %s" #. module: product #: model_terms:ir.actions.act_window,help:product.product_pricelist_action2 @@ -2743,6 +2761,8 @@ msgid "" "You can assign pricelists to your customers or select one when creating a " "new sales quotation." msgstr "" +"Sie können Ihren Kunden Preislisten zuordnen oder beim Anlegen eines neuen " +"Angebots eine auswählen." #. module: product #: code:addons/product/models/product_pricelist.py:449 @@ -2750,12 +2770,14 @@ msgstr "" msgid "" "You cannot assign the Main Pricelist as Other Pricelist in PriceList Item" msgstr "" +"Sie können die Hauptpreisliste nicht als andere Preisliste in der " +"Preislistenposition zuordnen." #. module: product #: code:addons/product/models/product.py:57 #, python-format msgid "You cannot create recursive categories." -msgstr "" +msgstr "Sie können keine rekursiven Kategorien erstellen." #. module: product #: code:addons/product/models/decimal_precision.py:16 @@ -2771,7 +2793,7 @@ msgstr "" #: code:addons/product/models/product_attribute.py:136 #, python-format msgid "You cannot use this attribute with the following value." -msgstr "" +msgstr "Sie können dieses Attribut nicht mit dem folgenden Wert verwenden." #. module: product #: code:addons/product/wizard/product_price_list.py:26 @@ -2810,6 +2832,10 @@ msgid "" " The product form contains information to simplify the sale process:\n" " price, notes in the quotation, accounting data, procurement methods, etc." msgstr "" +"Sie müssen ein Produkt für alles, was Sie verkaufen, definieren, egal ob es sich um ein physisches Produkt handelt,\n" +" ein Verbrauchsmaterial oder eine Dienstleistung, die Sie Ihren Kunden anbieten.\n" +" Die Produktform enthält Informationen, um den Verkaufsprozess zu vereinfachen:\n" +" Preis, Hinweise im Angebot, Buchhaltungsdaten, Beschaffungsmethoden, etc." #. module: product #: code:addons/product/models/product_template.py:28 diff --git a/addons/product/i18n/km.po b/addons/product/i18n/km.po index 7ce773e1e73..a599de718f5 100644 --- a/addons/product/i18n/km.po +++ b/addons/product/i18n/km.po @@ -806,7 +806,7 @@ msgstr "" #. module: product #: model:ir.model.fields,field_description:product.field_product_pricelist_item__fixed_price msgid "Fixed Price" -msgstr "" +msgstr "តំលៃថេរ" #. module: product #: model:product.product,name:product.product_product_20 @@ -853,7 +853,7 @@ msgstr "" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_search_view msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_form_view @@ -1012,7 +1012,7 @@ msgstr "" #. module: product #: model:product.category,name:product.product_category_2 msgid "Internal" -msgstr "" +msgstr "ផ្ទៃក្នុង" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_form_view @@ -1133,7 +1133,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_search_view msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: product #: model:ir.model.fields,help:product.field_product_supplierinfo__delay @@ -1634,7 +1634,7 @@ msgstr "" #: model:ir.model,name:product.model_product_packaging #: model_terms:ir.ui.view,arch_db:product.product_packaging_form_view msgid "Product Packaging" -msgstr "" +msgstr "កញ្ជាប់ផលិតផល" #. module: product #: model:ir.actions.report,name:product.report_product_packaging @@ -2267,7 +2267,7 @@ msgstr "" #: model:product.template,uom_name:product.product_product_8_product_template #: model:product.template,uom_name:product.product_product_9_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: product #: model:ir.model.fields,field_description:product.field_res_config_settings__group_uom @@ -2362,7 +2362,7 @@ msgstr "" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_template_form_view msgid "Vendor Bills" -msgstr "" +msgstr "វិក័យប័ត្រលក់" #. module: product #: model_terms:ir.ui.view,arch_db:product.product_supplierinfo_form_view @@ -2625,7 +2625,7 @@ msgstr "" #: model:product.template,weight_uom_name:product.product_product_8_product_template #: model:product.template,weight_uom_name:product.product_product_9_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: product #: code:addons/product/models/product.py:586 diff --git a/addons/product/i18n/ko.po b/addons/product/i18n/ko.po index 1ae29ab9148..9c1c22c37c5 100644 --- a/addons/product/i18n/ko.po +++ b/addons/product/i18n/ko.po @@ -743,7 +743,7 @@ msgstr "" #: model:product.product,name:product.product_product_16 #: model:product.template,name:product.product_product_16_product_template msgid "Drawer Black" -msgstr "" +msgstr "검은색 서랍장" #. module: product #: model:product.product,description:product.product_product_27 diff --git a/addons/product/models/res_partner.py b/addons/product/models/res_partner.py index 5eb0e652187..d74be5105ad 100644 --- a/addons/product/models/res_partner.py +++ b/addons/product/models/res_partner.py @@ -34,7 +34,7 @@ class Partner(models.Model): # update at each change country, and so erase old pricelist if self.property_product_pricelist or (actual and default_for_country and default_for_country.id != actual.id): # keep the company of the current user before sudo - self.env['ir.property'].with_context(force_company=self.env.user.company_id.id).sudo().set_multi( + self.env['ir.property'].with_context(force_company=self._context.get('force_company', self.env.user.company_id.id)).sudo().set_multi( 'property_product_pricelist', self._name, {self.id: self.property_product_pricelist or default_for_country.id}, diff --git a/addons/product_margin/i18n/it.po b/addons/product_margin/i18n/it.po index 350eee29c74..8f3da21caef 100644 --- a/addons/product_margin/i18n/it.po +++ b/addons/product_margin/i18n/it.po @@ -3,20 +3,19 @@ # * product_margin # # Translators: -# Sergio Zanchetta , 2018 # Martin Trigaux, 2018 -# Giovanni Perteghella , 2018 -# Luca Tralli, 2018 # Massimo Bianchi , 2018 # Paolo Valier, 2018 # Léonie Bouchat , 2018 +# Sergio Zanchetta , 2019 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Léonie Bouchat , 2018\n" +"PO-Revision-Date: 2018-08-24 09:23+0000\n" +"Last-Translator: Sergio Zanchetta , 2019\n" "Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,17 +26,17 @@ msgstr "" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__purchase_num_invoiced msgid "# Invoiced in Purchase" -msgstr "# Fatturate in Acquisti" +msgstr "N. fatturati in acquisti" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__sale_num_invoiced msgid "# Invoiced in Sale" -msgstr "# Fatturate in Vendite" +msgstr "N. fatturati in vendite" #. module: product_margin #: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree msgid "# Purchased" -msgstr "# Acquistato" +msgstr "N. acquistati" #. module: product_margin #: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_form @@ -47,12 +46,12 @@ msgstr "Criteri di analisi" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__sale_avg_price msgid "Avg. Price in Customer Invoices." -msgstr "Prezzo Medio nelle Fatture Clienti." +msgstr "Prezzo medio nelle fatture cliente" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__purchase_avg_price msgid "Avg. Price in Vendor Bills " -msgstr "Prezzo Medio nelle Fatture Fornitori" +msgstr "Prezzo medio nelle fatture fornitore" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__purchase_avg_price @@ -98,7 +97,7 @@ msgstr "Nome visualizzato" #: selection:product.margin,invoice_state:0 #: selection:product.product,invoice_state:0 msgid "Draft, Open and Paid" -msgstr "Bozza, Aperta e Pagata" +msgstr "«Bozza», «Aperta» e «Pagata»" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__expected_margin @@ -118,17 +117,17 @@ msgstr "Vendita attesa" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__expected_margin msgid "Expected Sale - Normal Cost" -msgstr "Vendita attesa - Costo normale" +msgstr "Vendita attesa - Costo standard" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__sales_gap msgid "Expected Sale - Turn Over" -msgstr "Vendita attesa - Ricambio" +msgstr "Vendita attesa - Fatturato" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__expected_margin_rate msgid "Expected margin * 100 / Expected Sale" -msgstr "Margine atteso * 100 / vendita attesa" +msgstr "Margine atteso * 100 / Vendita attesa" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_margin__from_date @@ -149,22 +148,22 @@ msgstr "ID" #: model:ir.model.fields,field_description:product_margin.field_product_margin__invoice_state #: model:ir.model.fields,field_description:product_margin.field_product_product__invoice_state msgid "Invoice State" -msgstr "Stato Fattura" +msgstr "Stato fattura" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_margin____last_update msgid "Last Modified on" -msgstr "Data di ultima modifica" +msgstr "Ultima modifica il" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_margin__write_uid msgid "Last Updated by" -msgstr "Ultima modifica di" +msgstr "Ultimo aggiornamento di" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_margin__write_date msgid "Last Updated on" -msgstr "Ultima modifica il" +msgstr "Ultimo aggiornamento il" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__date_from @@ -184,29 +183,29 @@ msgstr "Margini" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__normal_cost msgid "Normal Cost" -msgstr "Costo normale" +msgstr "Costo standard" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__purchase_gap msgid "Normal Cost - Total Cost" -msgstr "Costo normale - costo totale" +msgstr "Costo standard - Costo totale" #. module: product_margin #: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view msgid "Open Margins" -msgstr "Margini Aperti" +msgstr "Margini aperti" #. module: product_margin #: selection:product.margin,invoice_state:0 #: selection:product.product,invoice_state:0 msgid "Open and Paid" -msgstr "Aperta e Pagata" +msgstr "«Aperta» e «Pagata»" #. module: product_margin #: selection:product.margin,invoice_state:0 #: selection:product.product,invoice_state:0 msgid "Paid" -msgstr "Pagato" +msgstr "Pagata" #. module: product_margin #: model:ir.model,name:product_margin.model_product_product @@ -216,7 +215,7 @@ msgstr "Prodotto" #. module: product_margin #: model:ir.model,name:product_margin.model_product_margin msgid "Product Margin" -msgstr "Margine Prodotto" +msgstr "Margine prodotto" #. module: product_margin #: code:addons/product_margin/wizard/product_margin.py:49 @@ -227,7 +226,7 @@ msgstr "Margine Prodotto" #: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree #, python-format msgid "Product Margins" -msgstr "Margini Prodotto" +msgstr "Margini prodotto" #. module: product_margin #: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view @@ -325,13 +324,13 @@ msgstr "Tasso Totale Margine(%)" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__total_margin_rate msgid "Total margin * 100 / Turnover" -msgstr "Margine totale * 100 / Ricambio" +msgstr "Margine totale * 100 / Fatturato" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_product__turnover #: model_terms:ir.ui.view,arch_db:product_margin.view_product_margin_tree msgid "Turnover" -msgstr "Ricambio" +msgstr "Fatturato" #. module: product_margin #: model:ir.model.fields,help:product_margin.field_product_product__total_margin diff --git a/addons/product_margin/i18n/km.po b/addons/product_margin/i18n/km.po index 5205e16a361..68a1325f98a 100644 --- a/addons/product_margin/i18n/km.po +++ b/addons/product_margin/i18n/km.po @@ -128,7 +128,7 @@ msgstr "" #. module: product_margin #: model:ir.model.fields,field_description:product_margin.field_product_margin__from_date msgid "From" -msgstr "" +msgstr "មកពី" #. module: product_margin #: model_terms:ir.ui.view,arch_db:product_margin.product_margin_form_view diff --git a/addons/project/i18n/km.po b/addons/project/i18n/km.po index ee9d7518023..fd0cbe62150 100644 --- a/addons/project/i18n/km.po +++ b/addons/project/i18n/km.po @@ -285,13 +285,13 @@ msgstr "" #. module: project #: model_terms:ir.ui.view,arch_db:project.edit_project msgid "Accept Emails From" -msgstr "" +msgstr "ទទួលទម្រង់អ៊ីម៉ែល" #. module: project #: model:ir.model.fields,field_description:project.field_project_project__access_warning #: model:ir.model.fields,field_description:project.field_project_task__access_warning msgid "Access warning" -msgstr "" +msgstr "ដំណើររការនៃការពិន័យ" #. module: project #: model:ir.model.fields,field_description:project.field_project_project__message_needaction @@ -389,7 +389,7 @@ msgstr "" #: code:addons/project/static/src/js/project_task_kanban_examples.js:35 #, python-format msgid "Analysis" -msgstr "" +msgstr "ការវិភាគ" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_project_project_filter @@ -406,7 +406,7 @@ msgstr "" #: model:ir.model.fields,field_description:project.field_report_project_task_user__date_start #: model_terms:ir.ui.view,arch_db:project.view_task_project_user_search msgid "Assignation Date" -msgstr "" +msgstr "កាលបរិច្ឆេទផ្ដល់" #. module: project #: model:ir.actions.act_window,name:project.act_res_users_2_project_task_opened @@ -668,7 +668,7 @@ msgstr "កំណត់ផ្លាស់ប្តូរ" #: code:addons/project/static/src/js/project_task_kanban_examples.js:57 #, python-format msgid "Consulting" -msgstr "" +msgstr "ប្រឹក្សាយោបល់" #. module: project #: model:ir.model,name:project.model_res_partner @@ -785,7 +785,7 @@ msgstr "អតិថិជន" #: code:addons/project/models/project.py:882 #, python-format msgid "Customer Email" -msgstr "" +msgstr "សារអេឡិចត្រូនិចរបស់អតិថិជន" #. module: project #. openerp-web @@ -887,7 +887,7 @@ msgstr "ការពិពណ៌​នា​" #: code:addons/project/static/src/js/project_task_kanban_examples.js:64 #, python-format msgid "Design" -msgstr "" +msgstr "ច្នៃប្រឌិត" #. module: project #. openerp-web @@ -964,7 +964,7 @@ msgstr "" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_project_kanban msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_task_kanban @@ -993,7 +993,7 @@ msgstr "អុីម៉ែល" #. module: project #: model_terms:ir.ui.view,arch_db:project.edit_project msgid "Email Alias" -msgstr "" +msgstr "អ៊ីម៉ែល" #. module: project #: model:ir.model.fields,field_description:project.field_project_task_type__mail_template_id @@ -1052,7 +1052,7 @@ msgstr "តម្រងដែលបានបន្ថែម" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_task_form2 msgid "Extra Info" -msgstr "" +msgstr "ព័ត៌មានបន្ថែម" #. module: project #. openerp-web @@ -1115,7 +1115,7 @@ msgstr "" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_task_search_form msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: project #: model:ir.ui.menu,name:project.menu_tasks_config @@ -1195,7 +1195,7 @@ msgstr "" #. module: project #: selection:report.project.task.user,priority:0 msgid "High" -msgstr "" +msgstr "ខ្ពស់" #. module: project #: model:ir.model.fields,help:project.field_project_project__privacy_visibility @@ -1394,7 +1394,7 @@ msgstr "" #: model:ir.model.fields,field_description:project.field_project_task__kanban_state #: model:ir.model.fields,field_description:project.field_report_project_task_user__state msgid "Kanban State" -msgstr "" +msgstr "រដ្ឋកាណាន" #. module: project #: model:ir.model.fields,field_description:project.field_project_task__kanban_state_label @@ -1441,7 +1441,7 @@ msgstr "កាលបរិច្ឆេតកែប្រែចុងក្រោ #: model:ir.model.fields,field_description:project.field_report_project_task_user__date_last_stage_update #, python-format msgid "Last Stage Update" -msgstr "" +msgstr "ធ្វើឱ្យទាន់សម័យដំណាក់កាលចុងក្រោយ" #. module: project #: model:ir.model.fields,field_description:project.field_project_task__write_date @@ -1466,7 +1466,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_task_search_form msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: project #: model_terms:ir.ui.view,arch_db:project.view_task_kanban @@ -1539,7 +1539,7 @@ msgstr "" #: selection:project.task,priority:0 #: selection:report.project.task.user,priority:0 msgid "Low" -msgstr "" +msgstr "ខាត" #. module: project #: model:ir.model.fields,field_description:project.field_project_project__message_main_attachment_id @@ -1668,7 +1668,7 @@ msgstr "ថ្មីបំផុត" #. module: project #: model_terms:ir.ui.view,arch_db:project.project_task_view_tree_activity msgid "Next Activities" -msgstr "" +msgstr "សកម្មភាពបន្ទាប់" #. module: project #: model:ir.model.fields,field_description:project.field_project_task__activity_date_deadline @@ -1689,7 +1689,7 @@ msgstr "" #: code:addons/project/models/project.py:852 #, python-format msgid "No Subject" -msgstr "" +msgstr "មិនមានប្រធានបទ" #. module: project #: model_terms:ir.actions.act_window,help:project.rating_rating_action_project_report @@ -2414,7 +2414,7 @@ msgstr "" #. module: project #: model:ir.model.fields,field_description:project.field_project_task_type__name msgid "Stage Name" -msgstr "" +msgstr "ឈ្មោះដំនាក់កាល" #. module: project #: model:mail.message.subtype,description:project.mt_task_stage @@ -2747,7 +2747,7 @@ msgstr "" #: code:addons/project/static/src/js/project_task_kanban_examples.js:51 #, python-format msgid "This Week" -msgstr "" +msgstr "សប្តាហ៍នេះ" #. module: project #: model_terms:ir.actions.act_window,help:project.action_project_task_user_tree @@ -2913,7 +2913,7 @@ msgstr "" #. module: project #: model:ir.model.fields,field_description:project.field_project_task__user_email msgid "User Email" -msgstr "" +msgstr "អ្នកប្រើប្រាស់អ៊ីម៉ែល" #. module: project #: selection:project.project,privacy_visibility:0 diff --git a/addons/purchase/i18n/km.po b/addons/purchase/i18n/km.po index b62c7a4970a..eac1aed97d1 100644 --- a/addons/purchase/i18n/km.po +++ b/addons/purchase/i18n/km.po @@ -232,7 +232,7 @@ msgstr "" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order__access_warning msgid "Access warning" -msgstr "" +msgstr "ដំណើររការនៃការពិន័យ" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order__message_needaction @@ -351,7 +351,7 @@ msgstr "" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order__invoice_ids msgid "Bills" -msgstr "" +msgstr "វិក្កយបត្រ" #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter @@ -657,7 +657,7 @@ msgstr "" #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: purchase #: selection:res.company,po_double_validation:0 @@ -798,7 +798,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_res_company__po_double_validation @@ -1799,7 +1799,7 @@ msgstr "សរុប​" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_report__price_total msgid "Total Price" -msgstr "" +msgstr "តំលៃសរុប" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order_line__product_uom_qty @@ -1902,7 +1902,7 @@ msgstr "" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__vendor_bill_id msgid "Vendor Bill" -msgstr "" +msgstr "វិក័យបត្រលក់" #. module: purchase #: model:ir.actions.act_window,name:purchase.act_res_partner_2_supplier_invoices @@ -1913,7 +1913,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_account_buttons #: model_terms:ir.ui.view,arch_db:purchase.view_purchase_bill_union_filter msgid "Vendor Bills" -msgstr "" +msgstr "វិក័យប័ត្រលក់" #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search @@ -1929,7 +1929,7 @@ msgstr "" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order__partner_ref msgid "Vendor Reference" -msgstr "" +msgstr "សេចក្តីយោងអ្នកលក់" #. module: purchase #: model:ir.ui.menu,name:purchase.menu_procurement_management_supplier_name @@ -1969,6 +1969,8 @@ msgstr "" #, python-format msgid "Warning for %s" msgstr "" +"ការព្រមានសម្រាប់ %s\n" +" " #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_buttons @@ -1983,7 +1985,7 @@ msgstr "" #. module: purchase #: model_terms:ir.ui.view,arch_db:purchase.res_config_settings_view_form_purchase msgid "Warnings" -msgstr "" +msgstr "ការព្រមាន" #. module: purchase #: model:ir.model.fields,field_description:purchase.field_purchase_order__website_message_ids diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml index 4c707aaa555..669a4b27074 100644 --- a/addons/purchase/views/purchase_views.xml +++ b/addons/purchase/views/purchase_views.xml @@ -395,6 +395,7 @@ ir.actions.act_window purchase.order tree,kanban,form,pivot,graph,calendar,activity + []

diff --git a/addons/purchase_requisition/i18n/hu.po b/addons/purchase_requisition/i18n/hu.po index 510491bc08c..94608ecb5b7 100644 --- a/addons/purchase_requisition/i18n/hu.po +++ b/addons/purchase_requisition/i18n/hu.po @@ -497,7 +497,7 @@ msgstr "Folyamatban lévő" #. module: purchase_requisition #: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition__picking_type_id msgid "Operation Type" -msgstr "" +msgstr "Művelet típus" #. module: purchase_requisition #: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_line__qty_ordered diff --git a/addons/purchase_requisition/i18n/km.po b/addons/purchase_requisition/i18n/km.po index d5c4687cda7..3282fd90b63 100644 --- a/addons/purchase_requisition/i18n/km.po +++ b/addons/purchase_requisition/i18n/km.po @@ -795,6 +795,8 @@ msgstr "" #, python-format msgid "Warning for %s" msgstr "" +"ការព្រមានសម្រាប់ %s\n" +" " #. module: purchase_requisition #: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition__website_message_ids diff --git a/addons/purchase_stock/i18n/hu.po b/addons/purchase_stock/i18n/hu.po index 1f35f692658..4940047a7d4 100644 --- a/addons/purchase_stock/i18n/hu.po +++ b/addons/purchase_stock/i18n/hu.po @@ -8,6 +8,7 @@ # gezza , 2018 # Kovács Tibor , 2018 # Tibor Kőnig , 2018 +# Ákos Nagy , 2019 # msgid "" msgstr "" @@ -15,7 +16,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-24 09:34+0000\n" "PO-Revision-Date: 2018-08-24 09:24+0000\n" -"Last-Translator: Tibor Kőnig , 2018\n" +"Last-Translator: Ákos Nagy , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -97,7 +98,7 @@ msgstr "" #. module: purchase_stock #: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po msgid "Exception(s):" -msgstr "" +msgstr "Kivétel(ek):" #. module: purchase_stock #: model:ir.ui.menu,name:purchase_stock.menu_action_picking_tree_in_move diff --git a/addons/purchase_stock/i18n/ko.po b/addons/purchase_stock/i18n/ko.po index 408522cf280..29ad3d71852 100644 --- a/addons/purchase_stock/i18n/ko.po +++ b/addons/purchase_stock/i18n/ko.po @@ -99,7 +99,7 @@ msgstr "" #. module: purchase_stock #: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po msgid "Exception(s):" -msgstr "" +msgstr "예외 :" #. module: purchase_stock #: model:ir.ui.menu,name:purchase_stock.menu_action_picking_tree_in_move @@ -204,12 +204,12 @@ msgstr "상품 양식" #. module: purchase_stock #: selection:stock.rule,action:0 msgid "Pull & Push" -msgstr "" +msgstr "당기고 밀기" #. module: purchase_stock #: selection:stock.rule,action:0 msgid "Pull From" -msgstr "" +msgstr "다음에서 당기기" #. module: purchase_stock #: model:ir.model,name:purchase_stock.model_purchase_order @@ -242,7 +242,7 @@ msgstr "" #. module: purchase_stock #: selection:stock.rule,action:0 msgid "Push To" -msgstr "" +msgstr "다음으로 밀기" #. module: purchase_stock #: model_terms:ir.ui.view,arch_db:purchase_stock.purchase_order_view_form_inherit @@ -303,7 +303,7 @@ msgstr "" #. module: purchase_stock #: model:ir.model,name:purchase_stock.model_report_stock_report_stock_rule msgid "Stock rule report" -msgstr "" +msgstr "재고 규칙 보고서" #. module: purchase_stock #: model:ir.model.fields,help:purchase_stock.field_purchase_order__default_location_dest_id_usage @@ -395,9 +395,9 @@ msgstr "일" #. module: purchase_stock #: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po msgid "of" -msgstr "" +msgstr "of" #. module: purchase_stock #: model_terms:ir.ui.view,arch_db:purchase_stock.exception_on_po msgid "ordered instead of" -msgstr "" +msgstr "다음 대신 주문됨" diff --git a/addons/repair/i18n/hu.po b/addons/repair/i18n/hu.po index af5f3aa80e0..c23f04602d0 100644 --- a/addons/repair/i18n/hu.po +++ b/addons/repair/i18n/hu.po @@ -352,7 +352,7 @@ msgstr "Javítás vége" #. module: repair #: model:ir.model.fields,help:repair.field_repair_order__tracking msgid "Ensure the traceability of a storable product in your warehouse." -msgstr "" +msgstr "A raktárban tárolható termékek nyomon követésének biztosítása." #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form @@ -440,7 +440,7 @@ msgstr "" #: code:addons/repair/models/repair.py:210 #, python-format msgid "Insufficient Quantity" -msgstr "" +msgstr "Elégtelen mennyiség" #. module: repair #: model:ir.model.fields,field_description:repair.field_repair_order__internal_notes diff --git a/addons/repair/i18n/it.po b/addons/repair/i18n/it.po index a147a70cddb..3cc5343b081 100644 --- a/addons/repair/i18n/it.po +++ b/addons/repair/i18n/it.po @@ -3,7 +3,6 @@ # * repair # # Translators: -# Sergio Zanchetta , 2018 # Francesco Garganese , 2018 # Martin Trigaux, 2018 # Cesare Cugnasco , 2018 @@ -17,6 +16,7 @@ # David Minneci , 2018 # maiolif , 2018 # Léonie Bouchat , 2018 +# Sergio Zanchetta , 2019 # msgid "" msgstr "" @@ -24,7 +24,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:18+0000\n" "PO-Revision-Date: 2018-08-24 09:24+0000\n" -"Last-Translator: Léonie Bouchat , 2018\n" +"Last-Translator: Sergio Zanchetta , 2019\n" "Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -359,7 +359,7 @@ msgstr "" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form msgid "Extra Info" -msgstr "Info aggiuntive" +msgstr "Informazioni aggiuntive" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form diff --git a/addons/repair/i18n/km.po b/addons/repair/i18n/km.po index 0bf9e1a66fc..37b20cc3f3b 100644 --- a/addons/repair/i18n/km.po +++ b/addons/repair/i18n/km.po @@ -346,7 +346,7 @@ msgstr "" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form msgid "Extra Info" -msgstr "" +msgstr "ព័ត៌មានបន្ថែម" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form @@ -371,7 +371,7 @@ msgstr "" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter @@ -481,7 +481,7 @@ msgstr "" #: model:ir.model.fields,field_description:repair.field_repair_order__invoiced #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: repair #: model:ir.model.fields,field_description:repair.field_repair_order__partner_invoice_id @@ -526,7 +526,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: repair #: model:ir.model.fields,field_description:repair.field_repair_order__location_id @@ -782,7 +782,7 @@ msgstr "" #. module: repair #: selection:repair.line,type:0 msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: repair #: model:ir.model.fields,field_description:repair.field_stock_move__repair_id @@ -1046,7 +1046,7 @@ msgstr "" #. module: repair #: model:ir.model.fields,field_description:repair.field_repair_order__tracking msgid "Tracking" -msgstr "" +msgstr "ការ​តាមដាន" #. module: repair #: model:ir.model.fields,field_description:repair.field_repair_line__type diff --git a/addons/repair/i18n/ko.po b/addons/repair/i18n/ko.po index dbe508f03ff..7103cc44142 100644 --- a/addons/repair/i18n/ko.po +++ b/addons/repair/i18n/ko.po @@ -344,7 +344,7 @@ msgstr "수리 완료" #. module: repair #: model:ir.model.fields,help:repair.field_repair_order__tracking msgid "Ensure the traceability of a storable product in your warehouse." -msgstr "" +msgstr "창고에 보관 가능한 제품의 추적성을 확인하십시오." #. module: repair #: model_terms:ir.ui.view,arch_db:repair.view_repair_order_form diff --git a/addons/resource/i18n/km.po b/addons/resource/i18n/km.po index 7ce72151263..d740f303ba7 100644 --- a/addons/resource/i18n/km.po +++ b/addons/resource/i18n/km.po @@ -205,7 +205,7 @@ msgstr "" #. module: resource #: model_terms:ir.ui.view,arch_db:resource.view_resource_resource_search msgid "Inactive" -msgstr "" +msgstr "អសកម្ម" #. module: resource #: model:ir.model.fields,field_description:resource.field_resource_calendar____last_update diff --git a/addons/resource/i18n/ko.po b/addons/resource/i18n/ko.po index 94e71036fc5..cef7945e85a 100644 --- a/addons/resource/i18n/ko.po +++ b/addons/resource/i18n/ko.po @@ -470,6 +470,8 @@ msgid "" "the efficiency factor is 200%, however the expected duration will be 30 " "minutes." msgstr "" +"이 필드는 이 작업장에서 작업 지시의 예상 기간을 계산하는 데 사용됩니다. 예를 들어 작업 공정에 1시간이 소요되고 효율 계수가 " +"100%인 경우 예상 소요 시간은 1시간입니다. 효율 계수가 200%인 경우 예상 소요 시간은 30분이 됩니다." #. module: resource #: selection:resource.calendar.attendance,dayofweek:0 @@ -617,4 +619,4 @@ msgstr "근무 시간" #: model:ir.actions.act_window,name:resource.action_resource_calendar_form #: model:ir.ui.menu,name:resource.menu_resource_calendar msgid "Working Times" -msgstr "" +msgstr "작업 시간" diff --git a/addons/sale/i18n/cs.po b/addons/sale/i18n/cs.po index 956c8745576..d3a6d754f9d 100644 --- a/addons/sale/i18n/cs.po +++ b/addons/sale/i18n/cs.po @@ -1249,7 +1249,7 @@ msgstr "Zobrazovaný název" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order_line__display_type msgid "Display Type" -msgstr "" +msgstr "Typ zobrazení" #. module: sale #: selection:res.company,sale_onboarding_order_confirmation_state:0 @@ -3168,7 +3168,7 @@ msgstr "Odeslat e-mailem" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_onboarding_sample_quotation_step msgid "Send sample" -msgstr "" +msgstr "Odeslat vzor" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form @@ -3684,6 +3684,9 @@ msgid "" "list view and click on 'Portal Access Management' option in the dropdown " "menu *Action*." msgstr "" +"Chcete-li posílat pozvánky v režimu B2B, otevřete kontakt nebo vyberte " +"několik v zobrazení seznamu a klikněte na možnost Správa portálového " +"přístupu v rozevírací nabídce *Akce*." #. module: sale #: selection:sale.order,activity_state:0 diff --git a/addons/sale/i18n/km.po b/addons/sale/i18n/km.po index 1fe73fa58f8..024dd11cf86 100644 --- a/addons/sale/i18n/km.po +++ b/addons/sale/i18n/km.po @@ -258,7 +258,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document msgid "Disc.(%)" -msgstr "" +msgstr "បញ្ជុះភាគរយ" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_content @@ -454,7 +454,7 @@ msgstr "" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__access_warning msgid "Access warning" -msgstr "" +msgstr "ដំណើររការនៃការពិន័យ" #. module: sale #: model:ir.model.fields,help:sale.field_sale_order_line__qty_delivered_method @@ -515,7 +515,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_order_form msgid "Add a section" -msgstr "" +msgstr "បន្ថែមផ្នែកមួយទៀត" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.product_configurator_configure @@ -1381,7 +1381,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_sales_order_filter msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form @@ -1562,7 +1562,7 @@ msgstr "" #. module: sale #: model:mail.message.subtype,name:sale.mt_salesteam_invoice_created msgid "Invoice Created" -msgstr "" +msgstr "វិកយបត្រដែលបានបង្កើត" #. module: sale #: model:ir.model,name:sale.model_account_invoice_line @@ -1626,7 +1626,7 @@ msgstr "" #. module: sale #: selection:sale.report,state:0 msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: sale #: code:addons/sale/models/sale.py:1061 @@ -1753,7 +1753,7 @@ msgstr "" #: selection:res.company,sale_onboarding_sample_quotation_state:0 #: selection:res.company,sale_quotation_onboarding_state:0 msgid "Just done" -msgstr "" +msgstr "ទើបតែរួចរាល់" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.report_all_channels_sales_view_search @@ -1796,7 +1796,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_sales_order_filter msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form @@ -2404,7 +2404,7 @@ msgstr "" #. module: sale #: selection:crm.team,dashboard_graph_model:0 msgid "Pipeline" -msgstr "" +msgstr "Pipeline" #. module: sale #: selection:sale.order,activity_state:0 @@ -2837,7 +2837,7 @@ msgstr "" #. module: sale #: model:ir.model,name:sale.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale #: model:ir.model.fields,field_description:sale.field_res_partner__sale_order_count @@ -3641,7 +3641,7 @@ msgstr "" #: selection:sale.order,invoice_status:0 #: selection:sale.order.line,invoice_status:0 msgid "To Invoice" -msgstr "" +msgstr "ទៅវិក័យប័ត្រ" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order_line__qty_to_invoice @@ -3689,7 +3689,7 @@ msgstr "សរុប​" #: model_terms:ir.ui.view,arch_db:sale.report_all_channels_sales_view_pivot #: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document msgid "Total Price" -msgstr "" +msgstr "តំលៃសរុប" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order_line__price_tax @@ -3753,7 +3753,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_order_form msgid "Unit Price:" -msgstr "" +msgstr "តំលៃក្នុងមួយឯកតាៈ" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order_line__product_uom @@ -3775,7 +3775,7 @@ msgstr "" #: model:product.template,uom_name:sale.product_product_1_product_template #: model:product.template,uom_name:sale.product_product_4e_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: sale #: model:ir.ui.menu,name:sale.menu_product_uom_form_action @@ -3901,6 +3901,8 @@ msgstr "" #, python-format msgid "Warning for %s" msgstr "" +"ការព្រមានសម្រាប់ %s\n" +" " #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_partner_view_buttons @@ -4048,7 +4050,7 @@ msgstr "" #: model:product.template,weight_uom_name:sale.product_product_1_product_template #: model:product.template,weight_uom_name:sale.product_product_4e_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: sale #: code:addons/sale/models/sale.py:106 diff --git a/addons/sale/i18n/uk.po b/addons/sale/i18n/uk.po index 53b6d66f803..d9349517aa7 100644 --- a/addons/sale/i18n/uk.po +++ b/addons/sale/i18n/uk.po @@ -647,8 +647,8 @@ msgid "" "from pricelists (option to activate in the pricelist configuration)." msgstr "" "Застосовуйте знижки вручну на рядках замовлень на купівлю або покажіть " -"знижки, розраховані з прайслистів (можливість активувати в налаштуваннях " -"прайслиста)." +"знижки, розраховані з прайс-листів (можливість активувати в налаштуваннях " +"прайс-листа)." #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_order_form diff --git a/addons/sale/models/res_partner.py b/addons/sale/models/res_partner.py index a1f60defb2d..fac5165f55f 100644 --- a/addons/sale/models/res_partner.py +++ b/addons/sale/models/res_partner.py @@ -30,6 +30,7 @@ class ResPartner(models.Model): partner = partner.parent_id def can_edit_vat(self): + ''' Can't edit `vat` if there is (non draft) issued SO. ''' can_edit_vat = super(ResPartner, self).can_edit_vat() if not can_edit_vat: return can_edit_vat diff --git a/addons/sale_crm/i18n/km.po b/addons/sale_crm/i18n/km.po index e607011fd28..70ad38c5216 100644 --- a/addons/sale_crm/i18n/km.po +++ b/addons/sale_crm/i18n/km.po @@ -60,7 +60,7 @@ msgstr "" #. module: sale_crm #: model_terms:ir.ui.view,arch_db:sale_crm.sale_view_inherit123 msgid "Marketing" -msgstr "" +msgstr "ទីផ្សារ" #. module: sale_crm #: model:ir.model.fields,field_description:sale_crm.field_account_invoice__medium_id @@ -86,7 +86,7 @@ msgstr "" #. module: sale_crm #: model:ir.model.fields,field_description:sale_crm.field_sale_order__opportunity_id msgid "Opportunity" -msgstr "" +msgstr "ឪកាស" #. module: sale_crm #: model:ir.model.fields,field_description:sale_crm.field_crm_lead__order_ids @@ -97,7 +97,7 @@ msgstr "" #: code:addons/sale_crm/models/crm_team.py:12 #, python-format msgid "Pipeline" -msgstr "" +msgstr "Pipeline" #. module: sale_crm #: model:ir.actions.act_window,name:sale_crm.sale_action_quotations_new @@ -112,7 +112,7 @@ msgstr "" #. module: sale_crm #: model:ir.model,name:sale_crm.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_crm #: model:ir.actions.act_window,name:sale_crm.sale_action_orders diff --git a/addons/sale_expense/i18n/km.po b/addons/sale_expense/i18n/km.po index 499529764f7..087fe58c841 100644 --- a/addons/sale_expense/i18n/km.po +++ b/addons/sale_expense/i18n/km.po @@ -38,7 +38,7 @@ msgstr "" #. module: sale_expense #: model:ir.model,name:sale_expense.model_hr_expense msgid "Expense" -msgstr "" +msgstr "ចំណាយ" #. module: sale_expense #: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order @@ -60,7 +60,7 @@ msgstr "" #. module: sale_expense #: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_expense #: model_terms:digest.tip,tip_description:sale_expense.digest_tip_sale_expense_0 diff --git a/addons/sale_management/i18n/cs.po b/addons/sale_management/i18n/cs.po index 4f7aa39068b..41182023a74 100644 --- a/addons/sale_management/i18n/cs.po +++ b/addons/sale_management/i18n/cs.po @@ -193,7 +193,7 @@ msgstr "Zobrazovaný název" #. module: sale_management #: model:ir.model.fields,field_description:sale_management.field_sale_order_template_line__display_type msgid "Display Type" -msgstr "" +msgstr "Typ zobrazení" #. module: sale_management #: code:addons/sale_management/models/digest.py:16 diff --git a/addons/sale_management/i18n/km.po b/addons/sale_management/i18n/km.po index a2bf368b687..e911753039a 100644 --- a/addons/sale_management/i18n/km.po +++ b/addons/sale_management/i18n/km.po @@ -68,7 +68,7 @@ msgstr "" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_template_view_form msgid "Add a section" -msgstr "" +msgstr "បន្ថែមផ្នែកមួយទៀត" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management @@ -400,7 +400,7 @@ msgstr "" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_portal_content_inherit_sale_management @@ -429,7 +429,7 @@ msgstr "" #. module: sale_management #: model:ir.model,name:sale_management.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.digest_digest_view_form diff --git a/addons/sale_margin/i18n/km.po b/addons/sale_margin/i18n/km.po index 01d303d63b7..727f92e0d8a 100644 --- a/addons/sale_margin/i18n/km.po +++ b/addons/sale_margin/i18n/km.po @@ -40,7 +40,7 @@ msgstr "" #. module: sale_margin #: model:ir.model,name:sale_margin.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_margin #: model:ir.model,name:sale_margin.model_sale_report diff --git a/addons/sale_purchase/i18n/hu.po b/addons/sale_purchase/i18n/hu.po index 64f58def90a..0893cb96339 100644 --- a/addons/sale_purchase/i18n/hu.po +++ b/addons/sale_purchase/i18n/hu.po @@ -45,7 +45,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation msgid "Exception(s):" -msgstr "" +msgstr "Kivétel(ek):" #. module: sale_purchase #: model:ir.model.fields,field_description:sale_purchase.field_sale_order_line__purchase_line_ids diff --git a/addons/sale_purchase/i18n/km.po b/addons/sale_purchase/i18n/km.po index 9ec87498782..b2b2afc529b 100644 --- a/addons/sale_purchase/i18n/km.po +++ b/addons/sale_purchase/i18n/km.po @@ -132,7 +132,7 @@ msgstr "" #. module: sale_purchase #: model:ir.model.fields,field_description:sale_purchase.field_purchase_order_line__sale_order_id msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_purchase #: model:ir.model,name:sale_purchase.model_sale_order_line diff --git a/addons/sale_purchase/i18n/ko.po b/addons/sale_purchase/i18n/ko.po index 8d2bc546f3e..31ffbe3f727 100644 --- a/addons/sale_purchase/i18n/ko.po +++ b/addons/sale_purchase/i18n/ko.po @@ -49,7 +49,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation msgid "Exception(s):" -msgstr "" +msgstr "예외 :" #. module: sale_purchase #: model:ir.model.fields,field_description:sale_purchase.field_sale_order_line__purchase_line_ids @@ -169,16 +169,16 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_cancellation #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation msgid "cancelled" -msgstr "" +msgstr "취소됨" #. module: sale_purchase #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_cancellation #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_sale_on_purchase_cancellation msgid "of" -msgstr "" +msgstr "of" #. module: sale_purchase #: model_terms:ir.ui.view,arch_db:sale_purchase.exception_purchase_on_sale_quantity_decreased msgid "ordered instead of" -msgstr "" +msgstr "다음 대신 주문됨" diff --git a/addons/sale_quotation_builder/i18n/km.po b/addons/sale_quotation_builder/i18n/km.po index 3fc547b0e22..64a50a1542c 100644 --- a/addons/sale_quotation_builder/i18n/km.po +++ b/addons/sale_quotation_builder/i18n/km.po @@ -177,7 +177,7 @@ msgstr "" #. module: sale_quotation_builder #: model:ir.model,name:sale_quotation_builder.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_quotation_builder #: model:ir.model,name:sale_quotation_builder.model_sale_order_line diff --git a/addons/sale_stock/i18n/cs.po b/addons/sale_stock/i18n/cs.po index a322ab65e9a..198bf71f6d5 100644 --- a/addons/sale_stock/i18n/cs.po +++ b/addons/sale_stock/i18n/cs.po @@ -227,6 +227,9 @@ msgid "" "costs and responsibilities between buyer and seller and reflect state-of-" "the-art transportation practices." msgstr "" +"Incoterms je řada prodejních podmínek. Používají se k rozdělení transakčních" +" nákladů a odpovědnosti mezi kupujícím a prodávajícím a odrážejí " +"nejmodernější převodní postupy." #. module: sale_stock #: model:ir.model.fields,help:sale_stock.field_sale_order__incoterm diff --git a/addons/sale_stock/i18n/hu.po b/addons/sale_stock/i18n/hu.po index 738248c4101..fa44fa78eb1 100644 --- a/addons/sale_stock/i18n/hu.po +++ b/addons/sale_stock/i18n/hu.po @@ -206,7 +206,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:sale_stock.exception_on_picking #: model_terms:ir.ui.view,arch_db:sale_stock.exception_on_so msgid "Exception(s):" -msgstr "" +msgstr "Kivétel(ek):" #. module: sale_stock #: model:ir.model.fields,help:sale_stock.field_sale_order__picking_policy diff --git a/addons/sale_timesheet/i18n/de.po b/addons/sale_timesheet/i18n/de.po index 84520edd412..f3341d0ab13 100644 --- a/addons/sale_timesheet/i18n/de.po +++ b/addons/sale_timesheet/i18n/de.po @@ -606,7 +606,7 @@ msgstr "Meilensteine (manuell festgelegte Menge bei Bestellung)" #. module: sale_timesheet #: model_terms:ir.ui.view,arch_db:sale_timesheet.project_profitability_report_view_search msgid "My Project" -msgstr "" +msgstr "Mein Projekt" #. module: sale_timesheet #: code:addons/sale_timesheet/models/project_overview.py:241 diff --git a/addons/sale_timesheet/i18n/km.po b/addons/sale_timesheet/i18n/km.po index 2a7a11d8223..236f6509eaf 100644 --- a/addons/sale_timesheet/i18n/km.po +++ b/addons/sale_timesheet/i18n/km.po @@ -469,7 +469,7 @@ msgstr "" #. module: sale_timesheet #: model_terms:ir.ui.view,arch_db:sale_timesheet.timesheet_plan msgid "Invoiced" -msgstr "" +msgstr "បានចេញវិក្កយបត្រ" #. module: sale_timesheet #: code:addons/sale_timesheet/controllers/main.py:404 @@ -667,7 +667,7 @@ msgstr "" #: model:ir.actions.client,name:sale_timesheet.project_timesheet_action_client_timesheet_plan #, python-format msgid "Overview" -msgstr "" +msgstr "ទិដ្ឋភាពទូទៅ" #. module: sale_timesheet #: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__product_id @@ -819,7 +819,7 @@ msgstr "" #: model:ir.model,name:sale_timesheet.model_sale_order #: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__sale_order_id msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: sale_timesheet #: model:ir.model.fields,field_description:sale_timesheet.field_project_sale_line_employee_map__sale_line_id @@ -1204,7 +1204,7 @@ msgstr "" #: model:product.product,uom_name:sale_timesheet.product_service_deliver_manual #: model:product.template,uom_name:sale_timesheet.product_service_deliver_manual_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: sale_timesheet #: model:ir.model.fields,field_description:sale_timesheet.field_project_profitability_report__amount_untaxed_invoiced @@ -1284,4 +1284,4 @@ msgstr "" #: model:product.template,weight_uom_name:sale_timesheet.product_service_deliver_timesheet_2_product_template #: model:product.template,weight_uom_name:sale_timesheet.product_service_order_timesheet_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" diff --git a/addons/sales_team/i18n/it.po b/addons/sales_team/i18n/it.po index 1f4ab3701e8..5859dbcef8c 100644 --- a/addons/sales_team/i18n/it.po +++ b/addons/sales_team/i18n/it.po @@ -474,7 +474,7 @@ msgstr "Pipeline dei team" #. module: sales_team #: model:ir.model.fields,field_description:sales_team.field_crm_team__team_type msgid "Team Type" -msgstr "Tipo di team" +msgstr "Tipologia team" #. module: sales_team #: model:ir.model.fields,help:sales_team.field_crm_team__color diff --git a/addons/sales_team/i18n/km.po b/addons/sales_team/i18n/km.po index 8f86a943314..08054194470 100644 --- a/addons/sales_team/i18n/km.po +++ b/addons/sales_team/i18n/km.po @@ -53,7 +53,7 @@ msgstr "ប្រភេទសកម្មភាព" #. module: sales_team #: model:crm.team,name:sales_team.crm_team_1 msgid "America" -msgstr "" +msgstr "អាមេរិច" #. module: sales_team #: model_terms:ir.ui.view,arch_db:sales_team.crm_team_salesteams_search @@ -144,7 +144,7 @@ msgstr "" #. module: sales_team #: selection:crm.team,dashboard_graph_group:0 msgid "Day" -msgstr "" +msgstr "ថ្ងៃ" #. module: sales_team #: model_terms:ir.actions.act_window,help:sales_team.crm_team_salesteams_act @@ -160,7 +160,7 @@ msgstr "ឈ្មោះសំរាប់បង្ហាញ" #. module: sales_team #: model:crm.team,name:sales_team.team_sales_department msgid "Europe" -msgstr "" +msgstr "អ៊ឺរ៉ប" #. module: sales_team #: model:ir.model.fields,field_description:sales_team.field_crm_team__favorite_user_ids @@ -213,7 +213,7 @@ msgstr "" #. module: sales_team #: model:ir.model.fields,help:sales_team.field_crm_team__dashboard_graph_group msgid "How this channel's dashboard graph will group the results." -msgstr "" +msgstr "របៀបក្រាហ្វិចឆានែលរបស់ឆានែលនេះនឹងដាក់បញ្ចូលលទ្ធផល។" #. module: sales_team #: model:ir.model.fields,field_description:sales_team.field_crm_team__id @@ -241,6 +241,8 @@ msgid "" "If set, this Sales Team will be used for sales and assignations related to " "this partner" msgstr "" +"ប្រសិនបើបានកំណត់, " +"ក្រុមលក់នេះនឹងត្រូវបានប្រើសម្រាប់ការលក់និងការចាត់តាំងពាក់ព័ន្ធនឹងដៃគូនេះ" #. module: sales_team #: model:ir.model.fields,help:sales_team.field_crm_team__active @@ -358,7 +360,7 @@ msgstr "" #. module: sales_team #: selection:crm.team,dashboard_graph_model:0 msgid "Pipeline" -msgstr "" +msgstr "Pipeline" #. module: sales_team #: selection:crm.team,team_type:0 diff --git a/addons/snailmail_account/i18n/km.po b/addons/snailmail_account/i18n/km.po index a6a7e2679fc..21ab9e9c5fd 100644 --- a/addons/snailmail_account/i18n/km.po +++ b/addons/snailmail_account/i18n/km.po @@ -28,7 +28,7 @@ msgstr "" #. module: snailmail_account #: model:ir.model,name:snailmail_account.model_account_invoice_send msgid "Account Invoice Send" -msgstr "" +msgstr "វិក័យបត្រ័គណនីយផ្ញើរចេញ" #. module: snailmail_account #: model:ir.model.fields,help:snailmail_account.field_account_invoice_send__snailmail_is_letter diff --git a/addons/stock/i18n/hu.po b/addons/stock/i18n/hu.po index 69ef889e60e..27d41dbe336 100644 --- a/addons/stock/i18n/hu.po +++ b/addons/stock/i18n/hu.po @@ -1885,7 +1885,7 @@ msgstr "Teljesítés kelte" #: model:ir.model.fields,help:stock.field_stock_move_line__tracking #: model:ir.model.fields,help:stock.field_stock_scrap__tracking msgid "Ensure the traceability of a storable product in your warehouse." -msgstr "" +msgstr "A raktárban tárolható termékek nyomon követésének biztosítása." #. module: stock #. openerp-web @@ -1912,7 +1912,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.exception_on_picking msgid "Exception(s):" -msgstr "" +msgstr "Kivétel(ek):" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_move__date_expected @@ -2453,7 +2453,7 @@ msgstr "Behozatal helye" #: code:addons/stock/models/stock_scrap.py:140 #, python-format msgid "Insufficient Quantity" -msgstr "" +msgstr "Elégtelen mennyiség" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.stock_move_line_view_search @@ -2688,7 +2688,7 @@ msgstr "" #: model:ir.model.fields,field_description:stock.field_stock_move_line__is_locked #: model:ir.model.fields,field_description:stock.field_stock_picking__is_locked msgid "Is Locked" -msgstr "" +msgstr "Zárolt" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_location__return_location @@ -3177,7 +3177,7 @@ msgstr "Gyártás" #. module: stock #: selection:stock.picking.type,code:0 msgid "Manufacturing Operation" -msgstr "" +msgstr "Gyártási művelet" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_picking_form @@ -3612,7 +3612,7 @@ msgstr "Csak egy termék" #: model_terms:ir.ui.view,arch_db:stock.view_pickingtype_filter #, python-format msgid "Operation Type" -msgstr "" +msgstr "Művelet típus" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_picking_type__return_picking_type_id diff --git a/addons/stock/i18n/km.po b/addons/stock/i18n/km.po index 2a5581957a9..c4a2a879ff0 100644 --- a/addons/stock/i18n/km.po +++ b/addons/stock/i18n/km.po @@ -1003,7 +1003,7 @@ msgstr "ទំនាក់ទំនង" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_location__child_ids msgid "Contains" -msgstr "" +msgstr "មាន" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_quant_package_form @@ -1902,7 +1902,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:stock.view_inventory_form #: model_terms:ir.ui.view,arch_db:stock.view_move_tree msgid "From" -msgstr "" +msgstr "មកពី" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_move__show_reserved_availability @@ -1917,7 +1917,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_picking_internal_search msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: stock #: code:addons/stock/models/product.py:333 @@ -2306,7 +2306,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:stock.view_location_search #: selection:stock.picking.type,code:0 msgid "Internal" -msgstr "" +msgstr "ផ្ទៃក្នុង" #. module: stock #: selection:stock.location,usage:0 @@ -2719,7 +2719,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_picking_internal_search msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: stock #: model:ir.actions.act_window,name:stock.action_picking_tree_late @@ -3578,7 +3578,7 @@ msgstr "" #: model:ir.ui.menu,name:stock.stock_picking_type_menu #: model_terms:ir.ui.view,arch_db:stock.view_stock_rules_report msgid "Overview" -msgstr "" +msgstr "ទិដ្ឋភាពទូទៅ" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_inventory_line__partner_id @@ -5903,7 +5903,7 @@ msgstr "" #: model:ir.model.fields,field_description:stock.field_stock_scrap__tracking #: model:ir.model.fields,field_description:stock.field_stock_track_line__tracking msgid "Tracking" -msgstr "" +msgstr "ការ​តាមដាន" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_track_confirmation__tracking_line_ids @@ -5936,7 +5936,7 @@ msgstr "" #: model:ir.actions.act_window,name:stock.action_picking_tree_all #: model:ir.ui.menu,name:stock.all_picking msgid "Transfers" -msgstr "" +msgstr "ផ្ទេរ" #. module: stock #: selection:stock.location,usage:0 @@ -6329,12 +6329,12 @@ msgstr "" #: code:addons/stock/models/product.py:306 #, python-format msgid "Warning!" -msgstr "" +msgstr "ការព្រមាន!" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.res_config_settings_view_form msgid "Warnings" -msgstr "" +msgstr "ការព្រមាន" #. module: stock #: model:ir.model.fields,field_description:stock.field_res_config_settings__group_warning_stock @@ -6813,7 +6813,7 @@ msgstr "" #: model:product.template,uom_name:stock.product_cable_management_box_product_template #: model:product.template,weight_uom_name:stock.product_cable_management_box_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_warehouse_orderpoint_form diff --git a/addons/stock/i18n/ko.po b/addons/stock/i18n/ko.po index 804aa7d1169..7070e6f3f09 100644 --- a/addons/stock/i18n/ko.po +++ b/addons/stock/i18n/ko.po @@ -1821,7 +1821,7 @@ msgstr "유효 날짜" #: model:ir.model.fields,help:stock.field_stock_move_line__tracking #: model:ir.model.fields,help:stock.field_stock_scrap__tracking msgid "Ensure the traceability of a storable product in your warehouse." -msgstr "" +msgstr "창고에 보관 가능한 제품의 추적성을 확인하십시오." #. module: stock #. openerp-web @@ -1853,7 +1853,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.exception_on_picking msgid "Exception(s):" -msgstr "" +msgstr "예외 :" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_move__date_expected @@ -4276,12 +4276,12 @@ msgstr "조달 그룹의 전파" #. module: stock #: selection:stock.rule,action:0 msgid "Pull & Push" -msgstr "" +msgstr "당기고 밀기" #. module: stock #: selection:stock.rule,action:0 msgid "Pull From" -msgstr "" +msgstr "다음에서 당기기" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.report_stock_rule @@ -4296,7 +4296,7 @@ msgstr "푸쉬 규칙" #. module: stock #: selection:stock.rule,action:0 msgid "Push To" -msgstr "" +msgstr "다음으로 밀기" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_fixed_putaway_strat__putaway_id @@ -5478,7 +5478,7 @@ msgstr "처리 된 재고 이동" #. module: stock #: model:ir.model,name:stock.model_report_stock_report_stock_rule msgid "Stock rule report" -msgstr "" +msgstr "재고 규칙 보고서" #. module: stock #: selection:product.template,type:0 @@ -5586,7 +5586,7 @@ msgstr "기술 링크를 사용하여 누가 무엇을 소비했는지 확인할 #. module: stock #: model:ir.model.fields,help:stock.field_stock_move__product_tmpl_id msgid "Technical: used in views" -msgstr "기술: 조회수에 사용 됨" +msgstr "기술 : 화면 보기에 사용됨" #. module: stock #: model:ir.model.fields,help:stock.field_product_product__stock_move_ids @@ -5787,7 +5787,7 @@ msgstr "이론적인 수량" #. module: stock #: model_terms:ir.actions.act_window,help:stock.stock_move_line_action msgid "There's no product move yet" -msgstr "" +msgstr "아직 제품 이동이 없습니다." #. module: stock #: model_terms:ir.actions.act_window,help:stock.quantsact @@ -5961,7 +5961,7 @@ msgstr "할 일" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.stock_picking_type_kanban msgid "To Process" -msgstr "" +msgstr "진행중" #. module: stock #: selection:stock.picking,activity_state:0 @@ -6110,7 +6110,7 @@ msgstr "유형" #: model:ir.model.fields,field_description:stock.field_stock_picking_type__code #: model_terms:ir.ui.view,arch_db:stock.view_pickingtype_filter msgid "Type of Operation" -msgstr "작업 유형" +msgstr "운영 유형" #. module: stock #: model:ir.model.fields,field_description:stock.field_res_config_settings__module_delivery_ups @@ -6680,7 +6680,7 @@ msgstr "임시 이동만 삭제할 수 있습니다." #: code:addons/stock/models/stock_move_line.py:140 #, python-format msgid "You can only process 1.0 %s of products with unique serial number." -msgstr "" +msgstr "고유 일련 번호가 있는 제품의 1.0 %s만 처리할 수 있습니다." #. module: stock #: code:addons/stock/models/stock_move.py:1014 @@ -6975,7 +6975,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.exception_on_picking msgid "of" -msgstr "" +msgstr "of" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.exception_on_picking diff --git a/addons/stock/models/product.py b/addons/stock/models/product.py index 6e31e58f3d0..d70f01f10e8 100644 --- a/addons/stock/models/product.py +++ b/addons/stock/models/product.py @@ -489,7 +489,8 @@ class ProductTemplate(models.Model): @api.depends( 'product_variant_ids', - 'product_variant_ids.stock_quant_ids', + 'product_variant_ids.stock_move_ids.product_qty', + 'product_variant_ids.stock_move_ids.state', ) def _compute_quantities(self): res = self._compute_quantities_dict() diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml index 500e8901899..7ee55009ef4 100644 --- a/addons/stock/report/report_deliveryslip.xml +++ b/addons/stock/report/report_deliveryslip.xml @@ -93,7 +93,7 @@ - + diff --git a/addons/stock_account/i18n/km.po b/addons/stock_account/i18n/km.po index f718e8b4fb5..7d2ec613d2a 100644 --- a/addons/stock_account/i18n/km.po +++ b/addons/stock_account/i18n/km.po @@ -50,7 +50,7 @@ msgstr "" #. module: stock_account #: model_terms:ir.ui.view,arch_db:stock_account.view_move_form_inherit msgid "Accounting Entries" -msgstr "" +msgstr "ការចុះបញ្ជីគណនី" #. module: stock_account #: model_terms:ir.ui.view,arch_db:stock_account.view_location_form_inherit diff --git a/addons/stock_landed_costs/i18n/km.po b/addons/stock_landed_costs/i18n/km.po index 15824841702..4a0abef4966 100644 --- a/addons/stock_landed_costs/i18n/km.po +++ b/addons/stock_landed_costs/i18n/km.po @@ -38,7 +38,7 @@ msgstr "គណនី" #. module: stock_landed_costs #: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__account_journal_id msgid "Account Journal" -msgstr "" +msgstr "កំណត់ហេតុគណនីយ" #. module: stock_landed_costs #: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__message_needaction @@ -503,7 +503,7 @@ msgstr "សរុប​" #. module: stock_landed_costs #: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__picking_ids msgid "Transfers" -msgstr "" +msgstr "ផ្ទេរ" #. module: stock_landed_costs #: model:ir.model.fields,field_description:stock_landed_costs.field_stock_landed_cost__message_unread diff --git a/addons/survey/i18n/it.po b/addons/survey/i18n/it.po index f3ccc7f1565..c7472288257 100644 --- a/addons/survey/i18n/it.po +++ b/addons/survey/i18n/it.po @@ -765,7 +765,7 @@ msgstr "Email" #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_survey__email_template_id msgid "Email Template" -msgstr "Template Email" +msgstr "Modello e-mail" #. module: survey #: model:ir.model.fields,help:survey.field_survey_mail_compose_message__email_from @@ -1911,7 +1911,7 @@ msgstr "Condividi e invita per email" #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_mail_compose_message__public msgid "Share options" -msgstr "Opzioni Condivisione" +msgstr "Opzioni condivisione" #. module: survey #: selection:survey.mail.compose.message,public:0 diff --git a/addons/survey/i18n/ko.po b/addons/survey/i18n/ko.po index 97ab0c7f237..a2f1c23bc4b 100644 --- a/addons/survey/i18n/ko.po +++ b/addons/survey/i18n/ko.po @@ -2645,7 +2645,7 @@ msgstr "로그인" #. module: survey #: model_terms:ir.ui.view,arch_db:survey.page msgid "of" -msgstr "" +msgstr "of" #. module: survey #: model_terms:ir.ui.view,arch_db:survey.sfinished diff --git a/addons/survey/i18n/nb.po b/addons/survey/i18n/nb.po index 4299b3ed3fc..61c86c7446f 100644 --- a/addons/survey/i18n/nb.po +++ b/addons/survey/i18n/nb.po @@ -2196,6 +2196,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status basert på aktiviteter\n" +"Utgått: Fristen er allerede passert\n" +"I dag: Aktiviteten skal gjøres i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_invite__subject diff --git a/addons/uom/i18n/km.po b/addons/uom/i18n/km.po index 63bd5ece50f..e19a4990f77 100644 --- a/addons/uom/i18n/km.po +++ b/addons/uom/i18n/km.po @@ -258,7 +258,7 @@ msgstr "" #. module: uom #: model:uom.uom,name:uom.product_uom_unit msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: uom #: selection:uom.category,measure_type:0 @@ -381,7 +381,7 @@ msgstr "" #. module: uom #: model:uom.uom,name:uom.product_uom_kgm msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: uom #: model:uom.uom,name:uom.product_uom_km diff --git a/addons/web/i18n/km.po b/addons/web/i18n/km.po index 5fadab9d02f..795c6f135d7 100644 --- a/addons/web/i18n/km.po +++ b/addons/web/i18n/km.po @@ -355,7 +355,7 @@ msgstr "" #: code:addons/web/static/src/js/views/list/list_editable_renderer.js:78 #, python-format msgid "Add a line" -msgstr "" +msgstr "បន្ថែម" #. module: web #. openerp-web @@ -1075,7 +1075,7 @@ msgstr "" #: code:addons/web/static/src/xml/web_calendar.xml:80 #, python-format msgid "Day" -msgstr "" +msgstr "ថ្ងៃ" #. module: web #. openerp-web @@ -1251,7 +1251,7 @@ msgstr "" #: code:addons/web/static/src/xml/report.xml:14 #, python-format msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: web #. openerp-web @@ -1411,7 +1411,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:826 #, python-format msgid "External link" -msgstr "" +msgstr "តំណខាងក្រៅ" #. module: web #. openerp-web @@ -1706,7 +1706,7 @@ msgstr "Image" #: code:addons/web/static/src/js/fields/basic_fields.js:2043 #, python-format msgid "Inactive" -msgstr "" +msgstr "អសកម្ម" #. module: web #. openerp-web @@ -2696,7 +2696,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1412 #, python-format msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: web #. openerp-web @@ -2750,7 +2750,7 @@ msgstr "" #: code:addons/web/static/src/js/fields/basic_fields.js:2048 #, python-format msgid "Restore" -msgstr "" +msgstr "ស្ដារ" #. module: web #. openerp-web @@ -3219,7 +3219,7 @@ msgstr "" #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:12 #, python-format msgid "This Week" -msgstr "" +msgstr "សប្តាហ៍នេះ" #. module: web #. openerp-web @@ -3353,7 +3353,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:25 #, python-format msgid "Type:" -msgstr "" +msgstr "ប្រភេទៈ" #. module: web #. openerp-web @@ -3474,7 +3474,7 @@ msgstr "" #: code:addons/web/static/src/js/fields/relational_fields.js:1807 #, python-format msgid "Uploading Error" -msgstr "" +msgstr "ឯកសារផ្ទុកមានកំហុស" #. module: web #. openerp-web @@ -3484,7 +3484,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1060 #, python-format msgid "Uploading..." -msgstr "" +msgstr "ឯកសារផ្ទុក" #. module: web #. openerp-web diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po index 20a830685ce..649d79f7726 100644 --- a/addons/web/i18n/uk.po +++ b/addons/web/i18n/uk.po @@ -648,7 +648,7 @@ msgstr "Прикріплення" #: code:addons/web/static/src/xml/base.xml:354 #, python-format msgid "Attachment :" -msgstr "Вкладення:" +msgstr "Прикріплення:" #. module: web #. openerp-web diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 95003e2226f..1e6bb9af0f0 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -144,6 +144,8 @@ var BasicModel = AbstractModel.extend({ 'ir.filters', 'ir.ui.view', ], + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + disableBatchedRPCs: false, // to be overriden in tests /** * @override @@ -154,6 +156,11 @@ var BasicModel = AbstractModel.extend({ // save is performed. this.mutex = new concurrency.Mutex(); + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + // this array is used to accumulate RPC requests done in the same call + // stack, so that they can be batched in the minimum number of RPCs + this.batchedRPCsRequests = []; + this.localData = Object.create(null); this._super.apply(this, arguments); }, @@ -4103,6 +4110,93 @@ var BasicModel = AbstractModel.extend({ return $.when.apply($, defs); }, + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + /** + * Empty the pool of accumulated RPC requests: regroup similar requests in + * batches and perform an RPC for each batch. + * + * @private + */ + _performBatchedRPCs: function () { + if (!this.batchedRPCsRequests.length) { + // pool has already been processed + return; + } + + // reset pool of RPC requests + var batchedRPCsRequests = this.batchedRPCsRequests; + this.batchedRPCsRequests = []; + + // batch similar requests + var batches = {}; + var key; + for (var i = 0; i < batchedRPCsRequests.length; i++) { + var request = batchedRPCsRequests[i]; + key = request.model + ',' + JSON.stringify(request.context); + if (!batches[key]) { + batches[key] = _.extend({}, request, {requests: [request]}); + } else { + batches[key].ids = _.uniq(batches[key].ids.concat(request.ids)); + batches[key].fieldNames = _.uniq(batches[key].fieldNames.concat(request.fieldNames)); + batches[key].requests.push(request); + } + } + + // perform batched RPCs + function onSuccess(batch, results) { + for (var i = 0; i < batch.requests.length; i++) { + var request = batch.requests[i]; + var fieldNames = request.fieldNames.concat(['id']); + var filteredResults = results.filter(function (record) { + return request.ids.indexOf(record.id) >= 0; + }).map(function (record) { + return _.pick(record, fieldNames); + }); + request.def.resolve(filteredResults); + } + } + function onFailure(batch, error) { + for (var i = 0; i < batch.requests.length; i++) { + var request = batch.requests[i]; + request.def.reject(error); + } + } + for (key in batches) { + var batch = batches[key]; + this._rpc({ + model: batch.model, + method: 'read', + args: [batch.ids, batch.fieldNames], + context: batch.context, + }).then(onSuccess.bind(null, batch)).fail(onFailure.bind(null, batch)); + } + }, + /** + * This function accumulates RPC requests done in the same call stack, and + * performs them in the next micro task tick so that similar requests can be + * batched in a single RPC. + * + * For now, only 'read' calls are supported. + * + * @private + * @param {Object} params + * @returns {Promise} + */ + _performRPC: function (params) { + // save the RPC request + var def = $.Deferred(); + var request = _.extend({}, params, {def: def}); + this.batchedRPCsRequests.push(request); + + if (this.disableBatchedRPCs) { + this._performBatchedRPCs(); + } else { + // empty the pool of RPC requests in the next tick + setTimeout(this._performBatchedRPCs.bind(this)); + } + + return def; + }, /** * Reads data from server for all missing fields. * @@ -4132,11 +4226,13 @@ var BasicModel = AbstractModel.extend({ var def; if (missingIDs.length && fieldNames.length) { - def = self._rpc({ - model: list.model, - method: 'read', - args: [missingIDs, fieldNames], + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + def = self._performRPC({ context: list.getContext(), + fieldNames: fieldNames, + ids: missingIDs, + method: 'read', + model: list.model, }); } else { def = $.when(_.map(missingIDs, function (id) { diff --git a/addons/web/static/src/scss/list_view.scss b/addons/web/static/src/scss/list_view.scss index 55f5b755df1..98baf231966 100644 --- a/addons/web/static/src/scss/list_view.scss +++ b/addons/web/static/src/scss/list_view.scss @@ -10,9 +10,11 @@ border-collapse: initial; border-spacing: 0; - // Checkbox in editable list + // Boolean Widgets in editable list // should be clickable and activate the row &.o_editable_list .o_data_row:not(.o_selected_row) .o_data_cell { + &.o_toggle_button_cell:not(.o_readonly_modifier) button, // registry: toggle_button + &.o_boolean_favorite_cell:not(.o_readonly_modifier) .o_favorite, // registry: boolean_favorite .custom-checkbox:not(.o_readonly_modifier) { pointer-events: none; } diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js index b79e0d4a660..c82d031d7d5 100644 --- a/addons/web/static/tests/fields/relational_fields_tests.js +++ b/addons/web/static/tests/fields/relational_fields_tests.js @@ -8,6 +8,7 @@ var relationalFields = require('web.relational_fields'); var testUtils = require('web.test_utils'); var createView = testUtils.createView; +var createAsyncView = testUtils.createAsyncView; QUnit.module('fields', {}, function () { @@ -677,6 +678,58 @@ QUnit.module('relational_fields', { form.destroy(); }); + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + QUnit.test('many2manys inside a one2many are fetched in batch after onchange', async function (assert) { + assert.expect(7); + + this.data.partner.onchanges = { + turtles: function (obj) { + obj.turtles = [ + [5], + [1, 1, { + turtle_foo: "leonardo", + partner_ids: [[4, 2]], + }], + [1, 2, { + turtle_foo: "donatello", + partner_ids: [[4, 2], [4, 4]], + }], + ]; + }, + }; + + var form = await createAsyncView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '

' + + '' + + '' + + '' + + '' + + '' + + '' + + '
', + enableBasicModelBachedRPCs: true, + mockRPC: function (route, args) { + assert.step(args.method || route); + if (args.method === 'read') { + assert.deepEqual(args.args[0], [2, 4], + 'should read the partner_ids once, batched'); + } + return this._super.apply(this, arguments); + }, + }); + + assert.containsN(form, '.o_data_row', 2); + assert.strictEqual(form.$('.o_field_widget[name="partner_ids"]').text().replace(/\s/g, ''), + "secondrecordsecondrecordaaa"); + + assert.verifySteps(['default_get', 'onchange', 'read']); + + form.destroy(); + }); + QUnit.test('many2many read, field context is properly sent', function (assert) { assert.expect(4); diff --git a/addons/web/static/tests/helpers/test_utils_mock.js b/addons/web/static/tests/helpers/test_utils_mock.js index 2ecc655db7e..7485ef41ec8 100644 --- a/addons/web/static/tests/helpers/test_utils_mock.js +++ b/addons/web/static/tests/helpers/test_utils_mock.js @@ -11,6 +11,7 @@ odoo.define('web.test_utils_mock', function (require) { */ var basic_fields = require('web.basic_fields'); +var BasicModel = require('web.BasicModel'); var config = require('web.config'); var core = require('web.core'); var dom = require('web.dom'); @@ -192,6 +193,11 @@ function addMockEnvironment(widget, params) { return func; }; } + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + var initialDisableBatchedRPCs = BasicModel.prototype.disableBatchedRPCs; + if (!params.enableBasicModelBachedRPCs) { + BasicModel.prototype.disableBatchedRPCs = true; + } var widgetDestroy = widget.destroy; widget.destroy = function () { @@ -232,6 +238,10 @@ function addMockEnvironment(widget, params) { } _.extend(core._t.database.parameters, initialParameters); } + // FORWARDPORT THIS UP TO 12.2, NOT FURTHER + if (!params.enableBasicModelBachedRPCs) { + BasicModel.prototype.disableBatchedRPCs = initialDisableBatchedRPCs; + } $('body').off('DOMNodeInserted.removeSRC'); $('body').removeClass('debug'); diff --git a/addons/web/tests/test_menu.py b/addons/web/tests/test_menu.py index e608196ecd0..d60721c162a 100644 --- a/addons/web/tests/test_menu.py +++ b/addons/web/tests/test_menu.py @@ -1,13 +1,10 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.tests.common import tagged -import unittest - +from odoo.tests.common import BaseCase from ..controllers import main -@tagged('standard', 'at_install') -class ActionMungerTest(unittest.TestCase): +class ActionMungerTest(BaseCase): def test_actual_treeview(self): action = { "views": [[False, "tree"], [False, "form"], diff --git a/addons/web/tests/test_serving_base.py b/addons/web/tests/test_serving_base.py index b66d2d5b266..e1c6c7d5ab0 100644 --- a/addons/web/tests/test_serving_base.py +++ b/addons/web/tests/test_serving_base.py @@ -2,9 +2,8 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import random -import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools import topological_sort @@ -14,8 +13,7 @@ def sample(population): random.randint(0, min(len(population), 5))) -@tagged('standard', 'at_install') -class TestModulesLoading(unittest.TestCase): +class TestModulesLoading(BaseCase): def setUp(self): self.mods = [str(i) for i in range(1000)] diff --git a/addons/web_editor/i18n/km.po b/addons/web_editor/i18n/km.po index 9656048131f..1dda8fea27c 100644 --- a/addons/web_editor/i18n/km.po +++ b/addons/web_editor/i18n/km.po @@ -474,7 +474,7 @@ msgstr "" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:1018 #, python-format msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: web_editor #. openerp-web @@ -495,7 +495,7 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:273 #, python-format msgid "Flat" -msgstr "" +msgstr "ផ្ទះ" #. module: web_editor #. openerp-web @@ -829,7 +829,7 @@ msgstr "" #: code:addons/web_editor/static/src/xml/editor.xml:261 #, python-format msgid "Large" -msgstr "" +msgstr "ធំ" #. module: web_editor #: model:ir.model.fields,field_description:web_editor.field_web_editor_converter_test_sub____last_update @@ -1132,7 +1132,7 @@ msgstr "" #: code:addons/web_editor/static/src/js/editor/rte.summernote.js:196 #, python-format msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: web_editor #. openerp-web diff --git a/addons/web_editor/tests/test_converter.py b/addons/web_editor/tests/test_converter.py index cfa62e52ac2..724b464368b 100644 --- a/addons/web_editor/tests/test_converter.py +++ b/addons/web_editor/tests/test_converter.py @@ -2,17 +2,16 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import textwrap -import unittest from lxml import etree, html from lxml.builder import E from odoo.tests import common +from odoo.tests.common import BaseCase from odoo.addons.web_editor.models.ir_qweb import html_to_text -@common.tagged('standard', 'at_install') -class TestHTMLToText(unittest.TestCase): +class TestHTMLToText(BaseCase): def test_rawstring(self): self.assertEqual( "foobar", diff --git a/addons/web_settings_dashboard/i18n/km.po b/addons/web_settings_dashboard/i18n/km.po index a5ba85e4483..07cbfbc944a 100644 --- a/addons/web_settings_dashboard/i18n/km.po +++ b/addons/web_settings_dashboard/i18n/km.po @@ -307,7 +307,7 @@ msgstr "" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:151 #, python-format msgid "Translations" -msgstr "" +msgstr "ការបកប្រែ" #. module: web_settings_dashboard #. openerp-web diff --git a/addons/website/i18n/km.po b/addons/website/i18n/km.po index 5f13fe05e51..515706527b4 100644 --- a/addons/website/i18n/km.po +++ b/addons/website/i18n/km.po @@ -866,7 +866,7 @@ msgstr "" #: model:ir.actions.client,name:website.backend_dashboard #: model:ir.ui.menu,name:website.menu_website_google_analytics msgid "Analytics" -msgstr "" +msgstr "វិភាគ" #. module: website #: model_terms:ir.ui.view,arch_db:website.res_config_settings_view_form @@ -1637,7 +1637,7 @@ msgstr "" #. module: website #: model_terms:ir.ui.view,arch_db:website.publish_management msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: website #. openerp-web @@ -1733,7 +1733,7 @@ msgstr "កំហុស" #: code:addons/website/static/src/xml/website.facebook_page.xml:22 #, python-format msgid "Events" -msgstr "" +msgstr "ព្រឹត្តិការណ៍" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_comparisons @@ -2446,7 +2446,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:website.snippet_options #: model_terms:website.page,arch_db:website.bs_debug_page msgid "Large" -msgstr "" +msgstr "ធំ" #. module: website #: model:ir.model.fields,field_description:website.field_website____last_update diff --git a/addons/website/i18n/ko.po b/addons/website/i18n/ko.po index 2436489d6a3..c71b089694c 100644 --- a/addons/website/i18n/ko.po +++ b/addons/website/i18n/ko.po @@ -3732,7 +3732,7 @@ msgstr "" msgid "" "Technical field used to resolve multiple attachments in a multi-website " "environment." -msgstr "" +msgstr "다중 웹 사이트 환경에서 여러 첨부 파일을 해결하는 데 사용되는 기술 필드." #. module: website #: model_terms:ir.ui.view,arch_db:website.show_website_info diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py index 875e9d1ff0c..00da2d8366d 100644 --- a/addons/website/models/res_config_settings.py +++ b/addons/website/models/res_config_settings.py @@ -22,8 +22,7 @@ class ResConfigSettings(models.TransientModel): language_count = fields.Integer(string='Number of languages', compute='_compute_language_count', readonly=True) website_default_lang_id = fields.Many2one( string='Default language', related='website_id.default_lang_id', readonly=False, - relation='res.lang', required=False, - oldname='default_lang_id') + relation='res.lang', oldname='default_lang_id') website_default_lang_code = fields.Char( 'Default language code', related='website_id.default_lang_code', readonly=False, oldname='default_lang_code') diff --git a/addons/website/tests/test_converter.py b/addons/website/tests/test_converter.py index 0568f02d5e4..9a688c74ed9 100644 --- a/addons/website/tests/test_converter.py +++ b/addons/website/tests/test_converter.py @@ -1,13 +1,11 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import unittest from odoo.addons.http_routing.models.ir_http import slugify, unslug -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase -@tagged('standard', 'at_install') -class TestUnslug(unittest.TestCase): +class TestUnslug(BaseCase): def test_unslug(self): tests = { @@ -28,9 +26,7 @@ class TestUnslug(unittest.TestCase): for slug, expected in tests.items(): self.assertEqual(unslug(slug), expected) - -@tagged('standard', 'at_install') -class TestTitleToSlug(unittest.TestCase): +class TestTitleToSlug(BaseCase): """ Those tests should pass with or without python-slugify See website/models/website.py slugify method diff --git a/addons/website/views/res_config_settings_views.xml b/addons/website/views/res_config_settings_views.xml index dbf552b4ad2..b570a1b8699 100644 --- a/addons/website/views/res_config_settings_views.xml +++ b/addons/website/views/res_config_settings_views.xml @@ -69,7 +69,7 @@
- +
diff --git a/addons/website_blog/i18n/km.po b/addons/website_blog/i18n/km.po index a832e1f3266..c02a91b7715 100644 --- a/addons/website_blog/i18n/km.po +++ b/addons/website_blog/i18n/km.po @@ -593,7 +593,7 @@ msgstr "" #. module: website_blog #: model_terms:ir.ui.view,arch_db:website_blog.website_blog msgid "High" -msgstr "" +msgstr "ខ្ពស់" #. module: website_blog #: model_terms:blog.post,content:website_blog.blog_post_2 @@ -721,7 +721,7 @@ msgstr "" #. module: website_blog #: model_terms:ir.ui.view,arch_db:website_blog.website_blog msgid "Low" -msgstr "" +msgstr "ខាត" #. module: website_blog #: model:ir.model.fields,field_description:website_blog.field_blog_blog__message_main_attachment_id diff --git a/addons/website_blog/static/src/js/s_latest_posts_frontend.js b/addons/website_blog/static/src/js/s_latest_posts_frontend.js index f1b8ea4f23d..d9d1ded021e 100644 --- a/addons/website_blog/static/src/js/s_latest_posts_frontend.js +++ b/addons/website_blog/static/src/js/s_latest_posts_frontend.js @@ -22,7 +22,10 @@ sAnimation.registry.js_get_posts = sAnimation.Class.extend({ this.$target.empty(); // Compatibility with db that saved content inside by mistake this.$target.attr('contenteditable', 'False'); // Prevent user edition - var domain = [['website_published', '=', true]]; + var domain = [ + ['website_published', '=', true], + ['post_date', '<=', moment().utc().locale('en').format('YYYY-MM-DD HH:mm:ss')], + ]; if (blogID) { domain.push(['blog_id', '=', parseInt(blogID)]); } diff --git a/addons/website_crm_partner_assign/i18n/it.po b/addons/website_crm_partner_assign/i18n/it.po index c1f570006e2..bb76271b1a8 100644 --- a/addons/website_crm_partner_assign/i18n/it.po +++ b/addons/website_crm_partner_assign/i18n/it.po @@ -608,7 +608,7 @@ msgstr "Email" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.crm_lead_forward_to_partner_form msgid "Email Template" -msgstr "Template Email" +msgstr "Modello e-mail" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities @@ -639,7 +639,7 @@ msgstr "Filtra per Livello" #. module: website_crm_partner_assign #: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_lead_forward_to_partner__partner_id msgid "Forward Leads To" -msgstr "Inoltra il lead a" +msgstr "Inoltrare i contatti a" #. module: website_crm_partner_assign #: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_lead_forward_to_partner__forward_type @@ -650,7 +650,7 @@ msgstr "Inoltra i lead selezionati a" #: model:ir.actions.act_window,name:website_crm_partner_assign.action_crm_send_mass_forward #: model:ir.actions.act_window,name:website_crm_partner_assign.crm_lead_forward_to_partner_act msgid "Forward to Partner" -msgstr "Inoltra a Partner" +msgstr "Inoltra a partner" #. module: website_crm_partner_assign #: model:mail.template,subject:website_crm_partner_assign.email_template_lead_forward_mail @@ -771,7 +771,7 @@ msgstr "Ultima modifica il" #. module: website_crm_partner_assign #: model:ir.model.fields,help:website_crm_partner_assign.field_crm_lead__date_assign msgid "Last date this case was forwarded/assigned to a partner" -msgstr "Ultima data di assegnazione/inoltro a partner del caso" +msgstr "Ultima data di inoltro/assegnazione del caso al partner" #. module: website_crm_partner_assign #: model:ir.model.fields,field_description:website_crm_partner_assign.field_crm_partner_report_assign__date_review @@ -868,7 +868,7 @@ msgstr "I miei Partner assegnati" #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads msgid "My Leads" -msgstr "Le mie leads" +msgstr "I miei contatti" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_lead @@ -1182,12 +1182,12 @@ msgstr "Stati..." #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity msgid "Street" -msgstr "Strada/Via" +msgstr "Indirizzo" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity msgid "Street2" -msgstr "Strada/Via2" +msgstr "Indirizzo 2" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead @@ -1198,7 +1198,7 @@ msgstr "Tags" #: code:addons/website_crm_partner_assign/wizard/crm_forward_to_partner.py:61 #, python-format msgid "The Forward Email Template is not in the database" -msgstr "Il modello dell'inoltro delle mail è mancante nel database" +msgstr "Modello di inoltro e-mail non presente nel database" #. module: website_crm_partner_assign #: model:ir.model.fields,help:website_crm_partner_assign.field_res_partner_grade__website_url diff --git a/addons/website_crm_partner_assign/i18n/km.po b/addons/website_crm_partner_assign/i18n/km.po index af4e867fe37..d1625e28a9c 100644 --- a/addons/website_crm_partner_assign/i18n/km.po +++ b/addons/website_crm_partner_assign/i18n/km.po @@ -361,7 +361,7 @@ msgstr "ទំនាក់ទំនង" #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads #, python-format msgid "Contact Name" -msgstr "" +msgstr "ឈ្មោះទំនាក់ទំនង" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.index @@ -422,7 +422,7 @@ msgstr "អតិថិជន" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity msgid "Customer Name" -msgstr "" +msgstr "ឈ្មោះអតិថិជន" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads @@ -492,12 +492,12 @@ msgstr "" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities msgid "Expected" -msgstr "" +msgstr "បានរំពឹងទុក" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead msgid "Expected Closing" -msgstr "" +msgstr "កាលបរិច្ឆេទដែលឱកាសនឹងត្រូវបានឈ្នះ។" #. module: website_crm_partner_assign #: code:addons/website_crm_partner_assign/controllers/main.py:112 @@ -732,7 +732,7 @@ msgstr "Medium" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity msgid "Mobile" -msgstr "" +msgstr "ទូរស័ព្ទដៃ" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.crm_lead_partner_filter @@ -745,14 +745,14 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_leads msgid "My Leads" -msgstr "" +msgstr "ការនាំខ្ញុំ" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_lead #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_home_menu_lead #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities msgid "My Opportunities" -msgstr "" +msgstr "ឪកាសរបស់ខ្ងុំ" #. module: website_crm_partner_assign #: code:addons/website_crm_partner_assign/controllers/main.py:53 @@ -767,7 +767,7 @@ msgstr "ឈ្មោះ" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunities msgid "New Opportunity" -msgstr "" +msgstr "ឪកាសថ្មី" #. module: website_crm_partner_assign #: code:addons/website_crm_partner_assign/controllers/main.py:52 @@ -931,7 +931,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity #, python-format msgid "Probability" -msgstr "" +msgstr "ប្រូបាប" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead @@ -1064,7 +1064,7 @@ msgstr "ផ្លូវ" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_opportunity msgid "Street2" -msgstr "" +msgstr "វិថី2" #. module: website_crm_partner_assign #: model_terms:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead diff --git a/addons/website_event/i18n/km.po b/addons/website_event/i18n/km.po index 980d480ca55..949e9a394a2 100644 --- a/addons/website_event/i18n/km.po +++ b/addons/website_event/i18n/km.po @@ -96,7 +96,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:website_event.index #: model_terms:ir.ui.view,arch_db:website_event.registration_complete msgid "to" -msgstr "" +msgstr "ទៅ" #. module: website_event #: model_terms:ir.ui.view,arch_db:website_event.event_right_quotes @@ -204,7 +204,7 @@ msgstr "" #. module: website_event #: model_terms:ir.ui.view,arch_db:website_event.registration_attendee_details msgid "Cancel Registration" -msgstr "" +msgstr "លុបចោលការចុះឈ្មោះ" #. module: website_event #: model_terms:ir.ui.view,arch_db:website_event.event_type_view_form_inherit_website @@ -361,7 +361,7 @@ msgstr "" #. module: website_event #: model:website.menu,name:website_event.menu_events msgid "Events" -msgstr "" +msgstr "ព្រឹត្តិការណ៍" #. module: website_event #: model_terms:ir.ui.view,arch_db:website_event.country_events @@ -595,7 +595,7 @@ msgstr "" #: code:addons/website_event/controllers/main.py:44 #, python-format msgid "This Week" -msgstr "" +msgstr "សប្តាហ៍នេះ" #. module: website_event #: code:addons/website_event/controllers/main.py:52 diff --git a/addons/website_event_questions/i18n/km.po b/addons/website_event_questions/i18n/km.po index eadd9541c04..9821f486810 100644 --- a/addons/website_event_questions/i18n/km.po +++ b/addons/website_event_questions/i18n/km.po @@ -6,13 +6,15 @@ # Sengtha Chay , 2018 # Chan Nath , 2018 # Samkhann Seang , 2018 +# Lux Sok , 2019 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:18+0000\n" -"PO-Revision-Date: 2018-09-21 13:18+0000\n" -"Last-Translator: Samkhann Seang , 2018\n" +"PO-Revision-Date: 2018-08-24 09:34+0000\n" +"Last-Translator: Lux Sok , 2019\n" "Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -99,7 +101,7 @@ msgstr "" #: model:ir.model,name:website_event_questions.model_event_registration #: model:ir.model.fields,field_description:website_event_questions.field_event_registration_answer__event_registration_id msgid "Event Registration" -msgstr "" +msgstr "ការចុះឈ្មោះព្រឹត្តិការណ៍" #. module: website_event_questions #: model:ir.model,name:website_event_questions.model_event_registration_answer @@ -109,7 +111,7 @@ msgstr "" #. module: website_event_questions #: model:ir.model.fields,field_description:website_event_questions.field_event_question__event_type_id msgid "Event Type" -msgstr "" +msgstr "ប្រភេទព្រឹត្តិការណ៍" #. module: website_event_questions #: model:ir.model.fields,field_description:website_event_questions.field_event_event__general_question_ids diff --git a/addons/website_event_sale/i18n/km.po b/addons/website_event_sale/i18n/km.po index da78f22bfae..d6af11599ef 100644 --- a/addons/website_event_sale/i18n/km.po +++ b/addons/website_event_sale/i18n/km.po @@ -69,7 +69,7 @@ msgstr "" #. module: website_event_sale #: model:ir.model,name:website_event_sale.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: website_event_sale #: model:ir.model,name:website_event_sale.model_sale_order_line diff --git a/addons/website_event_track/i18n/km.po b/addons/website_event_track/i18n/km.po index 38ce7c34ced..d8f742c6d69 100644 --- a/addons/website_event_track/i18n/km.po +++ b/addons/website_event_track/i18n/km.po @@ -245,7 +245,7 @@ msgstr "" #. module: website_event_track #: model:event.type,name:website_event_track.event_type_data_tracks msgid "Conference" -msgstr "" +msgstr "សិក្ខាសាលា" #. module: website_event_track #: model:mail.template,subject:website_event_track.mail_template_data_track_confirmation @@ -486,7 +486,7 @@ msgstr "" #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search msgid "Future Activities" -msgstr "" +msgstr "សកម្មភាពទៅមុខ" #. module: website_event_track #: model:event.sponsor.type,name:website_event_track.event_sponsor_type3 @@ -511,7 +511,7 @@ msgstr "ជា​ក្រុម​តាម" #. module: website_event_track #: selection:event.track,priority:0 msgid "High" -msgstr "" +msgstr "ខ្ពស់" #. module: website_event_track #: selection:event.track,priority:0 @@ -619,7 +619,7 @@ msgstr "" #. module: website_event_track #: model:ir.model.fields,field_description:website_event_track.field_event_track__kanban_state msgid "Kanban State" -msgstr "" +msgstr "រដ្ឋកាណាន" #. module: website_event_track #: model:event.track,name:website_event_track.event_track23 @@ -662,7 +662,7 @@ msgstr "ផ្លាស់ប្តូរចុងក្រោយ" #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.view_event_track_search msgid "Late Activities" -msgstr "" +msgstr "សកម្មភាពចុងក្រោយ" #. module: website_event_track #: model:event.track,name:website_event_track.event_track12 @@ -682,7 +682,7 @@ msgstr "រូបសញ្ញា" #. module: website_event_track #: selection:event.track,priority:0 msgid "Low" -msgstr "" +msgstr "ខាត" #. module: website_event_track #: model:event.track,name:website_event_track.event_track31 @@ -1020,7 +1020,7 @@ msgstr "ដំណាក់កាល" #. module: website_event_track #: model:ir.model.fields,field_description:website_event_track.field_event_track_stage__name msgid "Stage Name" -msgstr "" +msgstr "ឈ្មោះដំនាក់កាល" #. module: website_event_track #: model:event.track,name:website_event_track.event_track28 diff --git a/addons/website_event_track/i18n/uk.po b/addons/website_event_track/i18n/uk.po index 2c597e73a8f..d10e605ecd7 100644 --- a/addons/website_event_track/i18n/uk.po +++ b/addons/website_event_track/i18n/uk.po @@ -1125,13 +1125,13 @@ msgstr "Мітки" #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal msgid "Talk Introduction" -msgstr "Вступна розмова" +msgstr "Вступ виступу" #. module: website_event_track #: code:addons/website_event_track/models/event.py:99 #, python-format msgid "Talk Proposals" -msgstr "Обговорення пропозицій" +msgstr "Пропозиції виступу" #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal @@ -1216,7 +1216,7 @@ msgstr "Відстеження" #. module: website_event_track #: model:mail.message.subtype,name:website_event_track.mt_track_blocked msgid "Track Blocked" -msgstr "Доріжка заблокована" +msgstr "Відстеження заблоковане" #. module: website_event_track #: model:ir.model.fields,field_description:website_event_track.field_event_event__track_count @@ -1236,12 +1236,12 @@ msgstr "Опис відстеження" #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.view_event_form msgid "Track Proposals on Website" -msgstr "Пропозиції доріжки на веб-сайт" +msgstr "Пропозиції відстеження на веб-сайті" #. module: website_event_track #: model:mail.message.subtype,name:website_event_track.mt_track_ready msgid "Track Ready" -msgstr "Доріжка готова" +msgstr "Відстеження готове" #. module: website_event_track #: model:mail.message.subtype,description:website_event_track.mt_track_ready @@ -1285,7 +1285,7 @@ msgstr "Відстеження" #. module: website_event_track #: model:ir.model.fields,field_description:website_event_track.field_event_type__website_track_proposal msgid "Tracks Proposals on Website" -msgstr "Пропозиції доріжок на веб-сайті" +msgstr "Пропозиції відстеження на веб-сайті" #. module: website_event_track #: model_terms:ir.actions.act_window,help:website_event_track.action_event_track @@ -1294,8 +1294,8 @@ msgid "" "Tracks define the schedule of your event. These can be a talk, a round " "table, a meeting, etc." msgstr "" -"Треки визначають графік вашої події. Це може бути розмова, круглий стіл, " -"зустріч та ін." +"Відстеження визначають графік вашої події. Це може бути розмова, круглий " +"стіл, зустріч та ін." #. module: website_event_track #: model:ir.model.fields,field_description:website_event_track.field_event_event__website_track @@ -1349,10 +1349,10 @@ msgstr "" "Ми приймемо широкий асортимент\n" "презентації, з доповідей про академічні та\n" "комерційні проекти для підручників і кейс\n" -"навчання. Поки представляється\n" -"цікава і потенційно корисна для\n" -" аудиторії, це буде розглянуто для\n" -"включення в програму." +"навчання. До тих пір, поки презентація \n" +"буде цікавою і потенційно корисною \n" +"для аудиторії, вона буде розглянута\n" +" для включення в програму." #. module: website_event_track #: model_terms:ir.ui.view,arch_db:website_event_track.event_track_proposal_success diff --git a/addons/website_forum/i18n/km.po b/addons/website_forum/i18n/km.po index 18bd04058d7..56799f13424 100644 --- a/addons/website_forum/i18n/km.po +++ b/addons/website_forum/i18n/km.po @@ -1225,7 +1225,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:website_forum.post_answers #: model_terms:ir.ui.view,arch_db:website_forum.post_description_full msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: website_forum #: model_terms:ir.ui.view,arch_db:website_forum.edit_profile @@ -1298,7 +1298,7 @@ msgstr "" #. module: website_forum #: model_terms:ir.ui.view,arch_db:website_forum.display_post_question_block msgid "External link" -msgstr "" +msgstr "តំណខាងក្រៅ" #. module: website_forum #: model:gamification.badge,name:website_forum.badge_q_3 @@ -2882,7 +2882,7 @@ msgstr "ប្រភេទ" #. module: website_forum #: model:ir.model.fields,field_description:website_forum.field_forum_post__content_link msgid "URL" -msgstr "" +msgstr "URL" #. module: website_forum #: model:ir.model.fields,help:website_forum.field_forum_post__content_link diff --git a/addons/website_gengo/i18n/km.po b/addons/website_gengo/i18n/km.po index 38e9b3c9fc5..e1caa34507b 100644 --- a/addons/website_gengo/i18n/km.po +++ b/addons/website_gengo/i18n/km.po @@ -264,7 +264,7 @@ msgstr "" #: code:addons/website_gengo/static/src/xml/website.gengo.xml:152 #, python-format msgid "Submit" -msgstr "" +msgstr "ដាក់ស្នើ" #. module: website_gengo #. openerp-web diff --git a/addons/website_hr_recruitment/i18n/km.po b/addons/website_hr_recruitment/i18n/km.po index 8745787a8b6..cbb1042aca2 100644 --- a/addons/website_hr_recruitment/i18n/km.po +++ b/addons/website_hr_recruitment/i18n/km.po @@ -403,7 +403,7 @@ msgstr "" #. module: website_hr_recruitment #: model_terms:ir.ui.view,arch_db:website_hr_recruitment.apply msgid "Submit" -msgstr "" +msgstr "ដាក់ស្នើ" #. module: website_hr_recruitment #: model_terms:ir.ui.view,arch_db:website_hr_recruitment.default_website_description diff --git a/addons/website_links/i18n/km.po b/addons/website_links/i18n/km.po index 11394b9b274..ec68bb599d6 100644 --- a/addons/website_links/i18n/km.po +++ b/addons/website_links/i18n/km.po @@ -210,7 +210,7 @@ msgstr "" #. module: website_links #: model_terms:ir.ui.view,arch_db:website_links.create_shorten_url msgid "URL" -msgstr "" +msgstr "URL" #. module: website_links #. openerp-web diff --git a/addons/website_mail/i18n/km.po b/addons/website_mail/i18n/km.po index 2a97fbea84c..495bb6c63e5 100644 --- a/addons/website_mail/i18n/km.po +++ b/addons/website_mail/i18n/km.po @@ -92,7 +92,7 @@ msgstr "" #: model:ir.model.fields,help:website_mail.field_mail_mail__website_published #: model:ir.model.fields,help:website_mail.field_mail_message__website_published msgid "Visible on the website as a comment" -msgstr "" +msgstr "មើលឃើញនៅលើគេហទំព័រដូចជាមតិយោបល់" #. module: website_mail #: model_terms:ir.ui.view,arch_db:website_mail.follow diff --git a/addons/website_rating/i18n/km.po b/addons/website_rating/i18n/km.po index 66aaf93b7f3..72d104d1298 100644 --- a/addons/website_rating/i18n/km.po +++ b/addons/website_rating/i18n/km.po @@ -142,7 +142,7 @@ msgstr "" #. module: website_rating #: model:ir.model.fields,help:website_rating.field_rating_rating__website_published msgid "Visible on the website as a comment" -msgstr "" +msgstr "មើលឃើញនៅលើគេហទំព័រដូចជាមតិយោបល់" #. module: website_rating #. openerp-web diff --git a/addons/website_sale/i18n/km.po b/addons/website_sale/i18n/km.po index 17d8478ffc0..016677c9edd 100644 --- a/addons/website_sale/i18n/km.po +++ b/addons/website_sale/i18n/km.po @@ -885,7 +885,7 @@ msgstr "អតិថិជន" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "DHL" -msgstr "" +msgstr "DHL" #. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_website__currency_id @@ -992,12 +992,12 @@ msgstr "" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "Easypost" -msgstr "" +msgstr "Easypost" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.payment_confirmation_status msgid "Edit" -msgstr "" +msgstr "កែសម្រួល" #. module: website_sale #. openerp-web @@ -1047,12 +1047,12 @@ msgstr "" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.extra_info_option msgid "Extra Info" -msgstr "" +msgstr "ព័ត៌មានបន្ថែម" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "FedEx" -msgstr "" +msgstr "FedEx" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce @@ -1198,7 +1198,7 @@ msgstr "" #. module: website_sale #: selection:res.company,website_sale_onboarding_payment_acquirer_state:0 msgid "Just done" -msgstr "" +msgstr "ទើបតែរួចរាល់" #. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_digest_digest__kpi_website_sale_total_value @@ -1884,7 +1884,7 @@ msgstr "" #. module: website_sale #: model:ir.model,name:website_sale.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.sale_report_view_graph_website @@ -2318,18 +2318,18 @@ msgstr "" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "UPS" -msgstr "" +msgstr "UPS" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "USPS" -msgstr "" +msgstr "USPS" #. module: website_sale #: model:product.product,uom_name:website_sale.product_product_1 #: model:product.template,uom_name:website_sale.product_product_1_product_template msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: website_sale #. openerp-web @@ -2550,7 +2550,7 @@ msgstr "" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.res_config_settings_view_form msgid "bpost" -msgstr "" +msgstr "bpost" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.coupon_form @@ -2610,7 +2610,7 @@ msgstr "" #: model:product.product,weight_uom_name:website_sale.product_product_1 #: model:product.template,weight_uom_name:website_sale.product_product_1_product_template msgid "kg" -msgstr "" +msgstr "គីឡូ" #. module: website_sale #: model_terms:ir.ui.view,arch_db:website_sale.product diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py index 6344a0bdd87..c6a310569d8 100644 --- a/addons/website_sale/models/website.py +++ b/addons/website_sale/models/website.py @@ -327,7 +327,7 @@ class Website(models.Model): if code_pricelist: pricelist_id = code_pricelist.id update_pricelist = True - elif code is not None and sale_order.pricelist_id.code: + elif code is not None and sale_order.pricelist_id.code and code != sale_order.pricelist_id.code: # code is not None when user removes code and click on "Apply" pricelist_id = partner.property_product_pricelist.id update_pricelist = True diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 91a57ccc35d..89363b96ea6 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -1256,7 +1256,7 @@
- +
diff --git a/addons/website_sale_comparison/i18n/km.po b/addons/website_sale_comparison/i18n/km.po index 8b9084fb9d0..481cfedcaed 100644 --- a/addons/website_sale_comparison/i18n/km.po +++ b/addons/website_sale_comparison/i18n/km.po @@ -166,7 +166,7 @@ msgstr "" #. module: website_sale_comparison #: model_terms:ir.ui.view,arch_db:website_sale_comparison.product_product msgid "Remove" -msgstr "" +msgstr "ដកចេញ" #. module: website_sale_comparison #: model:ir.model.fields,field_description:website_sale_comparison.field_product_attribute_category__sequence diff --git a/addons/website_sale_delivery/i18n/km.po b/addons/website_sale_delivery/i18n/km.po index 135ca96d491..797edfa52f7 100644 --- a/addons/website_sale_delivery/i18n/km.po +++ b/addons/website_sale_delivery/i18n/km.po @@ -45,7 +45,7 @@ msgstr "ប្រទេស" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form msgid "DHL Delivery Methods" -msgstr "" +msgstr "វិធីដឹកជញ្ជូន DHL" #. module: website_sale_delivery #: model:ir.model.fields,field_description:website_sale_delivery.field_sale_order__amount_delivery @@ -57,7 +57,7 @@ msgstr "" #: model:ir.ui.menu,name:website_sale_delivery.menu_ecommerce_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form msgid "Delivery Methods" -msgstr "" +msgstr "វិធីសាស្ត្រដឹកជញ្ជូន" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.cart_delivery @@ -87,7 +87,7 @@ msgstr "" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form msgid "Easypost Delivery Methods" -msgstr "" +msgstr "វិធីសាស្រ្តដឹកជញ្ជូន" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form @@ -147,7 +147,7 @@ msgstr "" #. module: website_sale_delivery #: model:ir.model,name:website_sale_delivery.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.payment_delivery_methods @@ -198,4 +198,4 @@ msgstr "" #. module: website_sale_delivery #: model_terms:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form msgid "bpost Delivery Methods" -msgstr "" +msgstr "វិធីសាស្រ្តដឹកជញ្ជូន" diff --git a/addons/website_sale_digital/i18n/km.po b/addons/website_sale_digital/i18n/km.po index c7b84d2ff90..c7b6ec3b75c 100644 --- a/addons/website_sale_digital/i18n/km.po +++ b/addons/website_sale_digital/i18n/km.po @@ -70,7 +70,7 @@ msgstr "" #. module: website_sale_digital #: model:product.template,uom_name:website_sale_digital.product_1 msgid "Unit(s)" -msgstr "" +msgstr "កំរិត(s)" #. module: website_sale_digital #: model:product.template,name:website_sale_digital.product_1 @@ -80,4 +80,4 @@ msgstr "" #. module: website_sale_digital #: model:product.template,weight_uom_name:website_sale_digital.product_1 msgid "kg" -msgstr "" +msgstr "គីឡូ" diff --git a/addons/website_sale_link_tracker/i18n/km.po b/addons/website_sale_link_tracker/i18n/km.po index 7c8d30ae5e0..7a85f15648e 100644 --- a/addons/website_sale_link_tracker/i18n/km.po +++ b/addons/website_sale_link_tracker/i18n/km.po @@ -36,7 +36,7 @@ msgstr "" #. module: website_sale_link_tracker #: model_terms:ir.ui.view,arch_db:website_sale_link_tracker.sale_order_from_website_link_tracker msgid "Marketing" -msgstr "" +msgstr "ទីផ្សារ" #. module: website_sale_link_tracker #. openerp-web @@ -61,7 +61,7 @@ msgstr "" #. module: website_sale_link_tracker #: model:ir.model,name:website_sale_link_tracker.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: website_sale_link_tracker #: model:ir.model,name:website_sale_link_tracker.model_sale_report diff --git a/addons/website_sale_stock/i18n/km.po b/addons/website_sale_stock/i18n/km.po index 9f68531a051..1102d35905d 100644 --- a/addons/website_sale_stock/i18n/km.po +++ b/addons/website_sale_stock/i18n/km.po @@ -115,7 +115,7 @@ msgstr "" #. module: website_sale_stock #: model:ir.model,name:website_sale_stock.model_sale_order msgid "Sale Order" -msgstr "" +msgstr "លក់តាមការម៉ង់" #. module: website_sale_stock #: model:ir.model,name:website_sale_stock.model_sale_order_line diff --git a/addons/website_slides/i18n/km.po b/addons/website_slides/i18n/km.po index 8275e24c275..e98a7c0915a 100644 --- a/addons/website_slides/i18n/km.po +++ b/addons/website_slides/i18n/km.po @@ -914,7 +914,7 @@ msgstr "" #. module: website_slides #: model:slide.tag,name:website_slides.tag2 msgid "Marketing" -msgstr "" +msgstr "ទីផ្សារ" #. module: website_slides #: model:ir.model.fields,field_description:website_slides.field_slide_slide__image_medium diff --git a/addons/website_theme_install/i18n/ko.po b/addons/website_theme_install/i18n/ko.po index a050e054023..298398b4fbd 100644 --- a/addons/website_theme_install/i18n/ko.po +++ b/addons/website_theme_install/i18n/ko.po @@ -273,7 +273,7 @@ msgstr "순차적" msgid "" "Technical field used to resolve multiple attachments in a multi-website " "environment." -msgstr "" +msgstr "다중 웹 사이트 환경에서 여러 첨부 파일을 해결하는 데 사용되는 기술 필드." #. module: website_theme_install #: model_terms:ir.ui.view,arch_db:website_theme_install.theme_view_search diff --git a/doc/_extensions/odoo_ext/sub-menu_list.html b/doc/_extensions/odoo_ext/sub-menu_list.html index 7525fe63aea..ba1a2ad9542 100644 --- a/doc/_extensions/odoo_ext/sub-menu_list.html +++ b/doc/_extensions/odoo_ext/sub-menu_list.html @@ -3,6 +3,6 @@
  • User
  • Developer
  • Installation
  • -
  • Training center
  • +
  • eLearning
  • White Papers
  • Legal
  • diff --git a/doc/cla/corporate/blancomartin.md b/doc/cla/corporate/blancomartin.md new file mode 100644 index 00000000000..3ceb099b879 --- /dev/null +++ b/doc/cla/corporate/blancomartin.md @@ -0,0 +1,28 @@ +Chile, 2019-07-12 + +Blanco Martín & Asociados agrees to the terms of the Odoo Corporate Contributor License +Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this +declaration. + +Signed, + +Daniel Blanco daniel@blancomartin.cl https://github.com/danisan + +Corporation name: Blanco Martin & Asociados EIRL +Corporation address: Av. Apoquindo 6410 + Of. 212 Las Condes, (RM) +Country: Chile +Point of contact: Daniel Blanco +Title: Director - Representante Legal +Email: daniel@blancomartin.cl +Telephone: +56 2 28400990 + +List of contributors: + +* Fernando de La Barrera fernando@blancomartin.cl https://github.com/bmya-fed +* Alejandro Paciotti alejandro@blancomartin.cl https://github.com/alp-bmya +* Albert Nieriz albert@blancomartin.cl https://github.com/aln-bmya +* Bruno Figares bruno@blancomartin.cl https://github.com/brf-bmya +* Susana Vazquez susana@blancomartin.cl https://github.com/suv-bmya diff --git a/doc/cla/corporate/bumanit.md b/doc/cla/corporate/bumanit.md index b05d68242ad..8471840fb8e 100644 --- a/doc/cla/corporate/bumanit.md +++ b/doc/cla/corporate/bumanit.md @@ -9,7 +9,9 @@ declaration. Signed, Baskhuu Lodoikhuu baskhuujacara@gmail.com https://github.com/jacara +Baskhuu Lodoikhuu baskhuu@bumanit.mn https://github.com/bumanit List of contributors: Baskhuu Lodoikhuu baskhuujacara@gmail.com https://github.com/jacara +Baskhuu Lodoikhuu baskhuu@bumanit.mn https://github.com/bumanit diff --git a/doc/cla/individual/dorcyv.md b/doc/cla/individual/dorcyv.md new file mode 100644 index 00000000000..d29652c3e72 --- /dev/null +++ b/doc/cla/individual/dorcyv.md @@ -0,0 +1,11 @@ +France, 2019-07-04 + +I hereby agree to the terms of the Odoo Individual Contributor License +Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this +declaration. + +Signed, + +Valérian Dorcy valerian.dorcy@gmail.com https://github.com/dorcyv diff --git a/doc/cla/individual/gregory-moka.md b/doc/cla/individual/gregory-moka.md new file mode 100644 index 00000000000..42fddcb294c --- /dev/null +++ b/doc/cla/individual/gregory-moka.md @@ -0,0 +1,9 @@ +France, 2019-07-11 + +I hereby agree to the terms of the Odoo Individual Contributor License Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Grégory Schreiner gregory@mokatourisme.fr https://github.com/gregory-moka diff --git a/odoo/addons/base/tests/test_base.py b/odoo/addons/base/tests/test_base.py index a823c65dc31..231f1daadd2 100644 --- a/odoo/addons/base/tests/test_base.py +++ b/odoo/addons/base/tests/test_base.py @@ -2,17 +2,15 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import ast -import unittest from odoo import SUPERUSER_ID from odoo.exceptions import UserError, ValidationError -from odoo.tests.common import TransactionCase, tagged +from odoo.tests.common import TransactionCase, BaseCase from odoo.tools import mute_logger from odoo.tools.safe_eval import safe_eval, const_eval -@tagged('standard', 'at_install') -class TestSafeEval(unittest.TestCase): +class TestSafeEval(BaseCase): def test_const(self): # NB: True and False are names in Python 2 not consts expected = (1, {"a": {2.5}}, [None, u"foo"]) diff --git a/odoo/addons/base/tests/test_db_cursor.py b/odoo/addons/base/tests/test_db_cursor.py index 839bcff6f89..b0b6a5a7071 100644 --- a/odoo/addons/base/tests/test_db_cursor.py +++ b/odoo/addons/base/tests/test_db_cursor.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import unittest import odoo from odoo.sql_db import TestCursor from odoo.tests import common +from odoo.tests.common import BaseCase from odoo.tools.misc import mute_logger ADMIN_USER_ID = common.ADMIN_USER_ID @@ -14,8 +14,7 @@ def registry(): return odoo.registry(common.get_db_name()) -@common.tagged('standard', 'at_install') -class TestExecute(unittest.TestCase): +class TestExecute(BaseCase): """ Try cr.execute with wrong parameters """ @mute_logger('odoo.sql_db') diff --git a/odoo/addons/base/tests/test_func.py b/odoo/addons/base/tests/test_func.py index b0b540acb5d..833653fffe7 100644 --- a/odoo/addons/base/tests/test_func.py +++ b/odoo/addons/base/tests/test_func.py @@ -2,15 +2,13 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import functools -import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools import frozendict from odoo.tools.func import compose -@tagged('standard', 'at_install') -class TestCompose(unittest.TestCase): +class TestCompose(BaseCase): def test_basic(self): str_add = compose(str, lambda a, b: a + b) self.assertEqual(str_add(1, 2), "3") @@ -25,8 +23,7 @@ class TestCompose(unittest.TestCase): self.assertEqual(mul(5, 42), u"210") -@tagged('standard', 'at_install') -class TestFrozendict(unittest.TestCase): +class TestFrozendict(BaseCase): def test_frozendict_immutable(self): """ Ensure that a frozendict is immutable. """ vals = {'name': 'Joe', 'age': 42} diff --git a/odoo/addons/base/tests/test_ir_sequence.py b/odoo/addons/base/tests/test_ir_sequence.py index 6c31728de35..0fc53012b48 100644 --- a/odoo/addons/base/tests/test_ir_sequence.py +++ b/odoo/addons/base/tests/test_ir_sequence.py @@ -2,13 +2,13 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from contextlib import contextmanager -import unittest import psycopg2 import psycopg2.errorcodes import odoo from odoo.tests import common +from odoo.tests.common import BaseCase ADMIN_USER_ID = common.ADMIN_USER_ID @@ -28,8 +28,7 @@ def drop_sequence(code): seq.unlink() -@common.tagged('standard', 'at_install') -class TestIrSequenceStandard(unittest.TestCase): +class TestIrSequenceStandard(BaseCase): """ A few tests for a 'Standard' (i.e. PostgreSQL) sequence. """ def test_ir_sequence_create(self): @@ -67,8 +66,7 @@ class TestIrSequenceStandard(unittest.TestCase): drop_sequence('test_sequence_type') -@common.tagged('standard', 'at_install') -class TestIrSequenceNoGap(unittest.TestCase): +class TestIrSequenceNoGap(BaseCase): """ Copy of the previous tests for a 'No gap' sequence. """ def test_ir_sequence_create_no_gap(self): @@ -105,8 +103,7 @@ class TestIrSequenceNoGap(unittest.TestCase): drop_sequence('test_sequence_type_2') -@common.tagged('standard', 'at_install') -class TestIrSequenceChangeImplementation(unittest.TestCase): +class TestIrSequenceChangeImplementation(BaseCase): """ Create sequence objects and change their ``implementation`` field. """ def test_ir_sequence_1_create(self): @@ -143,8 +140,7 @@ class TestIrSequenceChangeImplementation(unittest.TestCase): drop_sequence('test_sequence_type_4') -@common.tagged('standard', 'at_install') -class TestIrSequenceGenerate(unittest.TestCase): +class TestIrSequenceGenerate(BaseCase): """ Create sequence objects and generate some values. """ def test_ir_sequence_create(self): diff --git a/odoo/addons/base/tests/test_mail.py b/odoo/addons/base/tests/test_mail.py index 0e4a8c262c4..11fac3a885d 100644 --- a/odoo/addons/base/tests/test_mail.py +++ b/odoo/addons/base/tests/test_mail.py @@ -1,15 +1,13 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools import html_sanitize, append_content_to_html, plaintext2html, email_split, misc from . import test_mail_examples -@tagged('standard', 'at_install') -class TestSanitizer(unittest.TestCase): +class TestSanitizer(BaseCase): """ Test the html sanitizer that filters html to remove unwanted attributes """ def test_basic_sanitizer(self): @@ -285,8 +283,7 @@ class TestSanitizer(unittest.TestCase): # self.assertNotIn(ext, new_html) -@tagged('standard', 'at_install') -class TestHtmlTools(unittest.TestCase): +class TestHtmlTools(BaseCase): """ Test some of our generic utility functions about html """ def test_plaintext2html(self): @@ -313,8 +310,7 @@ class TestHtmlTools(unittest.TestCase): self.assertEqual(append_content_to_html(html, content, plaintext_flag, preserve_flag, container_tag), expected, 'append_content_to_html is broken') -@tagged('standard', 'at_install') -class TestEmailTools(unittest.TestCase): +class TestEmailTools(BaseCase): """ Test some of our generic utility functions for emails """ def test_email_split(self): diff --git a/odoo/addons/base/tests/test_mimetypes.py b/odoo/addons/base/tests/test_mimetypes.py index 3ca506cb744..e379c5474f2 100644 --- a/odoo/addons/base/tests/test_mimetypes.py +++ b/odoo/addons/base/tests/test_mimetypes.py @@ -1,7 +1,7 @@ import base64 import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools.mimetypes import guess_mimetype PNG = b'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC' @@ -23,8 +23,7 @@ hbnNsYXRlKDUwLDUwKSI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjU pyZWQ7IiAvPgogIDwvZz4KCjwvc3ZnPgo=""" -@tagged('standard', 'at_install') -class test_guess_mimetype(unittest.TestCase): +class test_guess_mimetype(BaseCase): def test_default_mimetype_empty(self): mimetype = guess_mimetype(b'') diff --git a/odoo/addons/base/tests/test_misc.py b/odoo/addons/base/tests/test_misc.py index 08c790387e9..d208ab11fb5 100644 --- a/odoo/addons/base/tests/test_misc.py +++ b/odoo/addons/base/tests/test_misc.py @@ -4,14 +4,12 @@ import datetime from dateutil.relativedelta import relativedelta import pytz -import unittest from odoo.tools import misc, date_utils -from odoo.tests.common import TransactionCase, tagged +from odoo.tests.common import TransactionCase, BaseCase -@tagged('standard', 'at_install') -class TestCountingStream(unittest.TestCase): +class TestCountingStream(BaseCase): def test_empty_stream(self): s = misc.CountingStream(iter([])) self.assertEqual(s.index, -1) @@ -42,8 +40,7 @@ class TestCountingStream(unittest.TestCase): self.assertEqual(s.index, 0) -@tagged('standard', 'at_install') -class TestDateRangeFunction(unittest.TestCase): +class TestDateRangeFunction(BaseCase): """ Test on date_range generator. """ def test_date_range_with_naive_datetimes(self): diff --git a/odoo/addons/base/tests/test_osv.py b/odoo/addons/base/tests/test_osv.py index 328124ca56c..f79dde6751a 100644 --- a/odoo/addons/base/tests/test_osv.py +++ b/odoo/addons/base/tests/test_osv.py @@ -1,14 +1,11 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import unittest - from odoo.osv.query import Query -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase -@tagged('standard', 'at_install') -class QueryTestCase(unittest.TestCase): +class QueryTestCase(BaseCase): def test_basic_query(self): query = Query() diff --git a/odoo/addons/base/tests/test_tests_tags.py b/odoo/addons/base/tests/test_tests_tags.py index 3f2bcf21c2f..52856aadc83 100644 --- a/odoo/addons/base/tests/test_tests_tags.py +++ b/odoo/addons/base/tests/test_tests_tags.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.tests.common import TransactionCase, tagged, TagsSelector +from odoo.tests.common import TransactionCase, tagged, TagsSelector, BaseCase @tagged('nodatabase') @@ -17,7 +17,8 @@ class TestSetTags(TransactionCase): fc = FakeClass() self.assertTrue(hasattr(fc, 'test_tags')) - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard'}) + self.assertEqual(fc.test_module, 'base') def test_set_tags_not_decorated(self): """Test that a TransactionCase has some test_tags by default""" @@ -28,7 +29,8 @@ class TestSetTags(TransactionCase): fc = FakeClass() self.assertTrue(hasattr(fc, 'test_tags')) - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard'}) + self.assertEqual(fc.test_module, 'base') def test_set_tags_single_tag(self): """Test the set_tags decorator with a single tag""" @@ -39,7 +41,8 @@ class TestSetTags(TransactionCase): fc = FakeClass() - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'slow'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard', 'slow'}) + self.assertEqual(fc.test_module, 'base') def test_set_tags_multiple_tags(self): """Test the set_tags decorator with multiple tags""" @@ -50,7 +53,8 @@ class TestSetTags(TransactionCase): fc = FakeClass() - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'slow', 'nightly'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard', 'slow', 'nightly'}) + self.assertEqual(fc.test_module, 'base') def test_inheritance(self): """Test inheritance when using the 'tagged' decorator""" @@ -64,13 +68,15 @@ class TestSetTags(TransactionCase): pass fc = FakeClassB() - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base', 'nightly'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard', 'nightly'}) + self.assertEqual(fc.test_module, 'base') class FakeClassC(FakeClassA): pass fc = FakeClassC() - self.assertEqual(fc.test_tags, {'at_install', 'standard', 'base'}) + self.assertEqual(fc.test_tags, {'at_install', 'standard'}) + self.assertEqual(fc.test_module, 'base') def test_untagging(self): """Test that one can remove the 'standard' tag""" @@ -80,7 +86,8 @@ class TestSetTags(TransactionCase): pass fc = FakeClassA() - self.assertEqual(fc.test_tags, {'at_install', 'base'}) + self.assertEqual(fc.test_tags, {'at_install'}) + self.assertEqual(fc.test_module, 'base') @tagged('-standard', '-base', '-at_install') class FakeClassB(TransactionCase): @@ -104,61 +111,110 @@ class TestSelector(TransactionCase): """Test the parser part of the TagsSelector class""" tags = TagsSelector('+slow') - self.assertEqual({'slow', }, tags.include) + self.assertEqual({('slow', None, None, None),}, tags.include) self.assertEqual(set(), tags.exclude) tags = TagsSelector('+slow,nightly') - self.assertEqual({'slow', 'nightly'}, tags.include) + self.assertEqual({('slow', None, None, None), ('nightly', None, None, None)}, tags.include) self.assertEqual(set(), tags.exclude) tags = TagsSelector('+slow,-standard') - self.assertEqual({'slow', }, tags.include) - self.assertEqual({'standard', }, tags.exclude) + self.assertEqual({('slow', None, None, None),}, tags.include) + self.assertEqual({('standard', None, None, None),}, tags.exclude) # same with space after the comma tags = TagsSelector('+slow, -standard') - self.assertEqual({'slow', }, tags.include) - self.assertEqual({'standard', }, tags.exclude) + self.assertEqual({('slow', None, None, None),}, tags.include) + self.assertEqual({('standard', None, None, None),}, tags.exclude) - # same with space befaore and after the comma + # same with space before and after the comma tags = TagsSelector('+slow , -standard') - self.assertEqual({'slow', }, tags.include) - self.assertEqual({'standard', }, tags.exclude) + self.assertEqual({('slow', None, None, None), }, tags.include) + self.assertEqual({('standard', None, None, None), }, tags.exclude) tags = TagsSelector('+slow ,-standard,+js') - self.assertEqual({'slow', 'js', }, tags.include) - self.assertEqual({'standard', }, tags.exclude) + self.assertEqual({('slow', None, None, None),('js', None, None, None)}, tags.include) + self.assertEqual({('standard', None, None, None),}, tags.exclude) + # without + tags = TagsSelector('slow, ') - self.assertEqual({'slow', }, tags.include) + self.assertEqual({('slow', None, None, None), }, tags.include) self.assertEqual(set(), tags.exclude) + # duplicates tags = TagsSelector('+slow,-standard, slow,-standard ') - self.assertEqual({'slow', }, tags.include) - self.assertEqual({'standard', }, tags.exclude) + self.assertEqual({('slow', None, None, None), }, tags.include) + self.assertEqual({('standard', None, None, None), }, tags.exclude) tags = TagsSelector('') self.assertEqual(set(), tags.include) self.assertEqual(set(), tags.exclude) + tags = TagsSelector('/module') # all standard test of a module + self.assertEqual({('standard', 'module', None, None), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('*/module') # all tests of a module + self.assertEqual({(None, 'module', None, None), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector(':class') # all standard test of a class + self.assertEqual({('standard', None, 'class', None), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('.method') + self.assertEqual({('standard', None, None, 'method'), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector(':class.method') + self.assertEqual({('standard', None, 'class', 'method'), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('/module:class.method') # only a specific test func in a module (standard) + self.assertEqual({('standard', 'module', 'class', 'method'), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('*/module:class.method') # only a specific test func in a module + self.assertEqual({(None, 'module', 'class', 'method'), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('-/module:class.method') # disable a specific test func in a module + self.assertEqual({('standard', None, None, None), }, tags.include) # all strandard + self.assertEqual({(None, 'module', 'class', 'method'), }, tags.exclude) # exept the test func + + tags = TagsSelector('-*/module:class.method') + self.assertEqual({('standard', None, None, None), }, tags.include) + self.assertEqual({(None, 'module', 'class', 'method'), }, tags.exclude) + + tags = TagsSelector('tag/module') + self.assertEqual({('tag', 'module', None, None), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('tag.method') + self.assertEqual({('tag', None, None, 'method'), }, tags.include) + self.assertEqual(set(), tags.exclude) + + tags = TagsSelector('*/module,-standard') # all non standard test of a module + self.assertEqual({(None, 'module', None, None), }, tags.include) # all in module + self.assertEqual({('standard', None, None, None), }, tags.exclude) # exept standard ones + @tagged('nodatabase') class TestSelectorSelection(TransactionCase): - def test_selector_selection(self): """Test check_tags use cases""" class Test_A(TransactionCase): pass @tagged('stock') - class Test_B(): + class Test_B(BaseCase): pass @tagged('stock', 'slow') - class Test_C(): + class Test_C(BaseCase): pass @tagged('standard', 'slow') - class Test_D(): + class Test_D(BaseCase): pass @tagged('-at_install', 'post_install') @@ -175,7 +231,6 @@ class TestSelectorSelection(TransactionCase): # considered tagged standard and they are run by default if # not explicitly deselected with '-standard' or if 'standard' is not # selectected along with another test tag - # same as "--test-tags=''" parameters: tags = TagsSelector('') self.assertFalse(tags.check(no_tags_obj)) @@ -211,10 +266,10 @@ class TestSelectorSelection(TransactionCase): self.assertFalse(tags.check(stock_tag_obj)) tags = TagsSelector('standard') - self.assertFalse(tags.check(stock_tag_obj)) + self.assertTrue(tags.check(stock_tag_obj)) tags = TagsSelector('slow,standard') - self.assertFalse(tags.check(stock_tag_obj)) + self.assertTrue(tags.check(stock_tag_obj)) tags = TagsSelector('slow,-standard') self.assertFalse(tags.check(stock_tag_obj)) diff --git a/odoo/addons/base/tests/test_translate.py b/odoo/addons/base/tests/test_translate.py index f6a556be937..bb641b3e044 100644 --- a/odoo/addons/base/tests/test_translate.py +++ b/odoo/addons/base/tests/test_translate.py @@ -1,16 +1,12 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - -import unittest - from odoo.tools import mute_logger from odoo.tools.translate import quote, unquote, xml_translate, html_translate -from odoo.tests.common import TransactionCase, tagged +from odoo.tests.common import TransactionCase, BaseCase from psycopg2 import IntegrityError -@tagged('standard', 'at_install') -class TranslationToolsTestCase(unittest.TestCase): +class TranslationToolsTestCase(BaseCase): def assertItemsEqual(self, a, b, msg=None): self.assertEqual(sorted(a), sorted(b), msg) diff --git a/odoo/addons/base/tests/test_uninstall.py b/odoo/addons/base/tests/test_uninstall.py index 041825d463d..123fbf747dd 100644 --- a/odoo/addons/base/tests/test_uninstall.py +++ b/odoo/addons/base/tests/test_uninstall.py @@ -8,6 +8,8 @@ import unittest from odoo import api, registry, SUPERUSER_ID from odoo.tests import common +from odoo.tests.common import BaseCase + from odoo.modules.registry import Registry @@ -25,8 +27,7 @@ MODULE = 'test_uninstall' MODEL = 'test_uninstall.model' -@common.tagged('standard', 'at_install') -class TestUninstall(unittest.TestCase): +class TestUninstall(BaseCase): """ Test the install/uninstall of a test module. The module is available in `odoo.tests` which should be present in the addons-path. diff --git a/odoo/addons/base/tests/test_view_validation.py b/odoo/addons/base/tests/test_view_validation.py index 5e550414436..c253d1badea 100644 --- a/odoo/addons/base/tests/test_view_validation.py +++ b/odoo/addons/base/tests/test_view_validation.py @@ -3,9 +3,8 @@ from lxml import etree import io -import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools.view_validation import ( valid_page_in_book, valid_att_in_form, valid_type_in_colspan, valid_type_in_col, valid_att_in_field, valid_att_in_label, @@ -131,8 +130,7 @@ valid_tree = etree.parse(io.BytesIO(b'''\ ''')).getroot() -@tagged('standard', 'at_install') -class TestViewValidation(unittest.TestCase): +class TestViewValidation(BaseCase): """ Test the view validation code (but not the views themselves). """ def test_page_validation(self): diff --git a/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py b/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py index 993a3c97528..2568cd21db9 100644 --- a/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py +++ b/odoo/addons/test_mimetypes/tests/test_guess_mimetypes.py @@ -1,8 +1,7 @@ # -*- coding: utf-8 -*- import os.path -import unittest -from odoo.tests.common import tagged +from odoo.tests.common import BaseCase from odoo.tools.mimetypes import guess_mimetype def contents(extension): @@ -14,8 +13,7 @@ def contents(extension): return f.read() -@tagged('standard', 'at_install') -class TestMimeGuessing(unittest.TestCase): +class TestMimeGuessing(BaseCase): def test_doc(self): self.assertEqual( guess_mimetype(contents('doc')), diff --git a/odoo/tests/common.py b/odoo/tests/common.py index a5b0c7571a2..5b7edeb4c9a 100644 --- a/odoo/tests/common.py +++ b/odoo/tests/common.py @@ -189,8 +189,9 @@ class MetaCase(type): super(MetaCase, cls).__init__(name, bases, attrs) # assign default test tags if cls.__module__.startswith('odoo.addons.'): - module = cls.__module__.split('.')[2] - cls.test_tags = {'standard', 'at_install', module} + cls.test_tags = {'standard', 'at_install'} + cls.test_module = cls.__module__.split('.')[2] + cls.test_class = cls.__name__ class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})): @@ -244,7 +245,10 @@ class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})): def _assertRaises(self, exception): """ Context manager that clears the environment upon failure. """ with super(BaseCase, self).assertRaises(exception) as cm: - with self.env.clear_upon_failure(): + if hasattr(self, 'env'): + with self.env.clear_upon_failure(): + yield cm + else: yield cm def assertRaises(self, exception, func=None, *args, **kwargs): @@ -333,9 +337,23 @@ class BaseCase(TreeCase, MetaCase('DummyCase', (object,), {})): return False return True + def _repr_field_value(record, field_name): + record_value = record[field_name] + field_type = record._fields[field_name].type + if field_type == 'monetary': + currency_field_name = record._fields[field_name].currency_field + record_currency = record[currency_field_name] + return record_currency and record_currency.round(record_value) or record_value + elif field_type in ('one2many', 'many2many'): + return set(record_value.ids) + elif field_type == 'many2one': + return record_value.id + else: + return record_value + def _format_message(records, expected_values): ''' Return a formatted representation of records/expected_values. ''' - all_records_values = records.read(list(expected_values[0].keys()), load=False) + all_records_values = [{key: _repr_field_value(record, key) for key in expected_values[0]} for record in records] msg1 = '\n'.join(pprint.pformat(dic) for dic in all_records_values) msg2 = '\n'.join(pprint.pformat(dic) for dic in expected_values) return 'Current values:\n\n%s\n\nExpected values:\n\n%s' % (msg1, msg2) @@ -706,6 +724,8 @@ class ChromeBrowser(): res = None if res and res.get('id') == ready_id: if res.get('result') == awaited_result: + if has_exceeded: + self._logger.info('The ready code tooks too much time : %s', tdiff) return True else: last_bad_res = res @@ -713,7 +733,6 @@ class ChromeBrowser(): tdiff = time.time() - start_time if tdiff >= 2 and not has_exceeded: has_exceeded = True - self._logger.warning('The ready code takes too much time : %s', tdiff) self.take_screenshot(prefix='failed_ready') self._logger.info('Ready code last try result: %s', last_bad_res or res) @@ -1800,7 +1819,7 @@ def _get_node(view, f, *arg): def tagged(*tags): """ - A decorator to tag TestCase objects + A decorator to tag BaseCase objects Tags are stored in a set that can be accessed from a 'test_tags' attribute A tag prefixed by '-' will remove the tag e.g. to remove the 'standard' tag By default, all Test classes from odoo.tests.common have a test_tags @@ -1810,33 +1829,75 @@ def tagged(*tags): def tags_decorator(obj): include = {t for t in tags if not t.startswith('-')} exclude = {t[1:] for t in tags if t.startswith('-')} - obj.test_tags = (getattr(obj, 'test_tags', set()) | include) - exclude + obj.test_tags = (getattr(obj, 'test_tags', set()) | include) - exclude # todo remove getattr in master since we want to limmit tagged to BaseCase and always have +standard tag return obj return tags_decorator class TagsSelector(object): """ Test selector based on tags. """ + filter_spec_re = re.compile(r'^([+-]?)(\*|\w*)(?:/(\w*))?(?::(\w*))?(?:\.(\w*))?$') # [-][tag][/module][:class][.method] def __init__(self, spec): """ Parse the spec to determine tags to include and exclude. """ - clean_tags = {t.strip() for t in spec.split(',') if t.strip() != ''} - self.exclude = {t[1:] for t in clean_tags if t.startswith('-')} - self.include = {t.replace('+', '') for t in clean_tags if not t.startswith('-')} + filter_specs = {t.strip() for t in spec.split(',') if t.strip()} + self.exclude = set() + self.include = set() - def check(self, arg): + for filter_spec in filter_specs: + match = self.filter_spec_re.match(filter_spec) + if not match: + _logger.error('Invalid tag %s', filter_spec) + continue + + sign, tag, module, klass, method = match.groups() + is_include = sign != '-' + + if not tag and is_include: + # including /module:class.method implicitly requires 'standard' + tag = 'standard' + elif not tag or tag == '*': + # '*' indicates all tests (instead of 'standard' tests only) + tag = None + test_filter = (tag, module, klass, method) + + if is_include: + self.include.add(test_filter) + else: + self.exclude.add(test_filter) + + if self.exclude and not self.include: + self.include.add(('standard', None, None, None)) + + def check(self, test): """ Return whether ``arg`` matches the specification: it must have at - least one tag in ``self.include`` and none in ``self.exclude``. + least one tag in ``self.include`` and none in ``self.exclude`` for each tag category. """ - # handle the case where the Test does not inherit from TransactionCase - tags = getattr(arg, 'test_tags', set()) - inter_no_test = self.exclude.intersection(tags) - if inter_no_test: - _logger.debug("Test '%s' not selected because it is tagged with : %s (exclusions: %s)", arg, inter_no_test, self.exclude) + if not hasattr(test, 'test_tags'): # handle the case where the Test does not inherit from BaseCase and has no test_tags + _logger.debug("Skipping test '%s' because no test_tag found.", test) return False - inter_to_test = self.include.intersection(tags) - if not inter_to_test: - _logger.debug("Test '%s' not selected because it was not tagged with %s", arg, self.include) + + test_module = getattr(test, 'test_module', None) + test_class = getattr(test, 'test_class', None) + test_tags = test.test_tags | {test_module} # module as test_tags deprecated, keep for retrocompatibility, + test_method = getattr(test, '_testMethodName', None) + + def _is_matching(test_filter): + (tag, module, klass, method) = test_filter + if tag and tag not in test_tags: + return False + elif module and module != test_module: + return False + elif klass and klass != test_class: + return False + elif method and test_method and method != test_method: + return False + return True + + if any(_is_matching(test_filter) for test_filter in self.exclude): return False - _logger.debug("Test '%s' selected: tagged with %s, exclusions: %s, inclusions: %s", arg, tags, self.exclude, self.include) - return True + + if any(_is_matching(test_filter) for test_filter in self.include): + return True + + return False diff --git a/odoo/tools/config.py b/odoo/tools/config.py index 7dd36c6a133..583ab4ad267 100644 --- a/odoo/tools/config.py +++ b/odoo/tools/config.py @@ -160,7 +160,14 @@ class configmanager(object): dest='test_enable', help="Enable unit tests.") group.add_option("--test-tags", dest="test_tags", - help="Comma separated list of tags to filter which tests to excute. Enable unit tests if set.") + help="""Comma separated list of spec to filter which tests to execute. Enable unit tests if set. + A filter spec has the format: [-][tag][/module][:class][.method] + The '-' specifies if we want to include or exclude tests matching this spec. + The tag will match tags added on a class with a @tagged decorator. By default tag value is 'standard' when not + given on include mode. '*' will match all tags. Tag will also match module name (deprecated, use /module) + The module, class, and method will respectively match the module name, test class name and test method name. + examples: :TestClass.test_func,/test_module,external + """) parser.add_option_group(group)