diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml index 4381b3b14f9..a8c1d83daef 100644 --- a/addons/account/data/account_data.xml +++ b/addons/account/data/account_data.xml @@ -195,6 +195,7 @@ + diff --git a/addons/account/i18n/account.pot b/addons/account/i18n/account.pot index 36359a44ba3..6ba48c6d710 100644 --- a/addons/account/i18n/account.pot +++ b/addons/account/i18n/account.pot @@ -4708,6 +4708,12 @@ msgstr "" msgid "If \"Amount Currency\" is specified, then \"Amount\" must be as well." msgstr "" +#. module: account +#: code:addons/account/models/account_bank_statement.py:335 +#, python-format +msgid "The currency of the bank statement line must be different than the statement currency." +msgstr "" + #. module: account #: model:ir.model.fields,help:account.field_account_bank_statement__message_unread #: model:ir.model.fields,help:account.field_account_invoice__message_unread diff --git a/addons/account/i18n/ca.po b/addons/account/i18n/ca.po index 3b9e1f6d36b..4af463c5b9d 100644 --- a/addons/account/i18n/ca.po +++ b/addons/account/i18n/ca.po @@ -194,6 +194,34 @@ msgid "" "\n" " " msgstr "" +"
\n" +"

\n" +" Apreciat ${object.partner_id.name}\n" +" % if object.partner_id.parent_id:\n" +" (${object.partner_id.parent_id.name})\n" +" % endif\n" +"

\n" +" Li fem arribar la seva \n" +" % if object.number:\n" +" factura ${object.number}\n" +" % else:\n" +" factura\n" +" %endif\n" +" % if object.origin:\n" +" (amb referència: ${object.origin})\n" +" % endif\n" +" per valor de ${format_amount(object.amount_total, object.currency_id)}\n" +" de ${object.company_id.name}.\n" +" % if object.state=='paid':\n" +" Aquesta factura ja està pagada.\n" +" % else:\n" +" Si us plau, feu aquest pagament amb la major brevetat possible.\n" +" % endif\n" +"

\n" +" No dubti en contactar amb nosaltres si té qualsevol dubte.\n" +"

\n" +"
\n" +" " #. module: account #: model_terms:ir.ui.view,arch_db:account.portal_my_home_menu_invoice diff --git a/addons/account/i18n/da.po b/addons/account/i18n/da.po index f8f8b97b0f8..4200c336102 100644 --- a/addons/account/i18n/da.po +++ b/addons/account/i18n/da.po @@ -86,7 +86,7 @@ msgstr "%s (kopi)" #: code:addons/account/models/account.py:688 #, python-format msgid "%s Sequence" -msgstr "Nummerserie" +msgstr "%s Nummerserie" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_invoice_document @@ -763,7 +763,7 @@ msgstr "Der kan indstilles en advarsel på en partner (konto)" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__access_warning msgid "Access warning" -msgstr "" +msgstr "Adgang advarsel" #. module: account #. openerp-web @@ -1263,7 +1263,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_form msgid "Add a note" -msgstr "" +msgstr "Tilføj en note" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -3050,7 +3050,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: account #: model:ir.ui.menu,name:account.menu_finance_configuration @@ -3645,7 +3645,7 @@ msgstr "Kundebetalinger" #. module: account #: model:ir.model.fields,help:account.field_account_invoice__access_url msgid "Customer Portal URL" -msgstr "" +msgstr "Kundeportal URL" #. module: account #: model:ir.model.fields,field_description:account.field_product_template__taxes_id @@ -4042,7 +4042,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_digest_digest msgid "Digest" -msgstr "" +msgstr "Digest" #. module: account #: model:ir.model.fields,help:account.field_res_config_settings__group_products_in_bills @@ -4151,6 +4151,7 @@ msgstr "Vis på fakturaer" #, python-format msgid "Do not have access, skip this data for user's digest email" msgstr "" +"Har ikke adgang, spring over disse data til brugerens opsummerings e-mail" #. module: account #: model:ir.model.fields,help:account.field_account_invoice_send__auto_delete_message @@ -4580,7 +4581,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.actions_account_fiscal_year #: model:ir.model.fields,field_description:account.field_res_config_settings__group_fiscal_year msgid "Fiscal Years" -msgstr "" +msgstr "Regnskabasår" #. module: account #: model:ir.model.fields,field_description:account.field_account_financial_year_op__fiscalyear_last_day @@ -6306,7 +6307,7 @@ msgstr "Seneste dato for udligning af faktura og betaling" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__layout msgid "Layout" -msgstr "" +msgstr "Layout" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_position_form @@ -6893,7 +6894,7 @@ msgstr "Oversigt over næste aktivitet" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__activity_type_id msgid "Next Activity Type" -msgstr "" +msgstr "Næste aktivitetstype" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__sequence_number_next @@ -7912,7 +7913,7 @@ msgstr "Plus anden indkomst" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__access_url msgid "Portal Access URL" -msgstr "" +msgstr "Portal adgangs URL" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_move_form @@ -9142,7 +9143,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_invoice_filter msgid "Show all records which has next action date is before today" -msgstr "" +msgstr "Vis alle poster, hvor den næste handlingsdato er før i dag" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_tax_search @@ -9357,6 +9358,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status baseret på aktiviteter\n" +"Forfaldne: Forfaldsdato er allerede overskredet\n" +"I dag: Aktivitetsdato er i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_bank_account_step diff --git a/addons/account/i18n/es.po b/addons/account/i18n/es.po index c959e0506e3..0a105c8eb7c 100644 --- a/addons/account/i18n/es.po +++ b/addons/account/i18n/es.po @@ -36,6 +36,7 @@ # Cris Martin , 2018 # luisg123v , 2018 # Pilar Marín , 2018 +# Rodrigo Aragon , 2018 # msgid "" msgstr "" @@ -43,7 +44,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" "PO-Revision-Date: 2018-08-24 09:14+0000\n" -"Last-Translator: Pilar Marín , 2018\n" +"Last-Translator: Rodrigo Aragon , 2018\n" "Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -8053,7 +8054,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_invoice_document msgid "Please use the following communication for your payment :" -msgstr "" +msgstr "Por favor utilice la siguiente referencia al realizar su pago: " #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_form diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po index e0e024dd470..3d0b1b5b35d 100644 --- a/addons/account/i18n/it.po +++ b/addons/account/i18n/it.po @@ -69,7 +69,7 @@ msgstr "${(object.name or '').replace('/','-')}" #. module: account #: model:mail.template,subject:account.email_template_edi_invoice msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})" -msgstr "${object.company_id.name} Fattura (Rif. ${object.number or 'n/d'})" +msgstr "Fattura (Rif. ${object.number or 'n/d'}) - ${object.company_id.name}" #. module: account #: model:mail.template,subject:account.mail_template_data_payment_receipt @@ -114,12 +114,12 @@ msgstr "×" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_form msgid "-> Reconcile" -msgstr "-> riconciliazione" +msgstr "→ Riconcilia" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_move_line_form msgid "-> View partially reconciled entries" -msgstr "-> vedere voci riconciliate parzialmente" +msgstr "→ Registrazioni parzialmente riconciliate " #. module: account #: model_terms:ir.ui.view,arch_db:account.account_dashboard_onboarding_panel @@ -457,7 +457,7 @@ msgstr " estratti conto" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view msgid "New" -msgstr "Nuovo" +msgstr "Nuovo/a" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view @@ -898,7 +898,7 @@ msgstr "Rendiconto contabile ordinario" #: model:ir.model.fields,field_description:account.field_account_account__currency_id #: model:ir.model.fields,field_description:account.field_account_account_template__currency_id msgid "Account Currency" -msgstr "Valuta contabile" +msgstr "Valuta del conto" #. module: account #: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template__account_dest_id @@ -1030,7 +1030,7 @@ msgstr "Imposta conto" #: model_terms:ir.ui.view,arch_db:account.view_account_tax_template_form #: model_terms:ir.ui.view,arch_db:account.view_account_tax_template_tree msgid "Account Tax Template" -msgstr "Modello imposta conto" +msgstr "Modello imposta del conto" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_account_taxcloud @@ -1049,7 +1049,7 @@ msgstr "Modello conto" #: model:ir.model.fields,field_description:account.field_account_chart_template__property_stock_valuation_account_id #: model:ir.model.fields,field_description:account.field_res_company__property_stock_valuation_account_id msgid "Account Template for Stock Valuation" -msgstr "Modello conto per valutazione inventariale" +msgstr "Modello del conto per valutazione magazzino" #. module: account #: model:ir.actions.act_window,name:account.action_account_template_form @@ -1088,7 +1088,7 @@ msgstr "Tipi conto" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__type_control_ids msgid "Account Types Allowed" -msgstr "Tipi di conto consentiti" +msgstr "Tipi conto consentiti" #. module: account #: model:ir.model,name:account.model_account_unreconcile @@ -1098,12 +1098,12 @@ msgstr "De-riconciliazione " #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_group_search msgid "Account group" -msgstr "Gruppo conto" +msgstr "Gruppo del conto" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_group_search msgid "Account groups" -msgstr "Gruppi conto" +msgstr "Gruppi del conto" #. module: account #: model:ir.model.fields,help:account.field_account_setup_bank_manual_config__acc_holder_name @@ -1120,7 +1120,7 @@ msgstr "Conto su prodotto" #. module: account #: model:ir.model,name:account.model_report_account_report_invoice_with_payments msgid "Account report with payment lines" -msgstr "Report di conto co righe di pagamento" +msgstr "Rendiconto con righe di pagamento" #. module: account #: model:ir.model.fields,field_description:account.field_account_account_template__tag_ids @@ -1316,7 +1316,7 @@ msgstr "Aggiungi nota di credito" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__add_sign msgid "Add Sign" -msgstr "Aggiungi Firma" +msgstr "Aggiungi firma" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_bank_account_step @@ -1331,7 +1331,7 @@ msgstr "Aggiungi un registro" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_form msgid "Add a line" -msgstr "Aggiungi una riga" +msgstr "Aggiungi riga" #. module: account #: model_terms:ir.actions.act_window,help:account.action_account_form @@ -1346,7 +1346,7 @@ msgstr "Aggiungi un tag" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_form msgid "Add a note" -msgstr "Aggiungi un commento" +msgstr "Aggiungi nota" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -1368,7 +1368,7 @@ msgstr "Aggiungi una seconda riga" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_form msgid "Add a section" -msgstr "Aggiungi una sezione" +msgstr "Aggiungi sezione" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -1534,7 +1534,7 @@ msgstr "Consentire annullamento registrazioni" #. module: account #: model:ir.model.fields,field_description:account.field_account_account_template__reconcile msgid "Allow Invoices & payments Matching" -msgstr "Permettere l'accoppiamento fra fattura e pagamento" +msgstr "Permettere l'abbinamento tra fatture e pagamenti" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_product_margin @@ -1647,7 +1647,7 @@ msgstr "Importo dovuto in valuta documento" #: model:ir.model.fields,field_description:account.field_account_reconcile_model__match_total_amount #: model:ir.model.fields,field_description:account.field_account_reconcile_model_template__match_total_amount msgid "Amount Matching" -msgstr "" +msgstr "Abbinamento importo" #. module: account #: model:ir.model.fields,field_description:account.field_account_reconcile_model__match_total_amount_param @@ -1671,7 +1671,7 @@ msgstr "" #: model:ir.model.fields,field_description:account.field_account_reconcile_model__match_nature #: model:ir.model.fields,field_description:account.field_account_reconcile_model_template__match_nature msgid "Amount Nature" -msgstr "" +msgstr "Natura importo" #. module: account #: selection:account.reconcile.model,match_nature:0 @@ -1710,7 +1710,7 @@ msgstr "Tipo importo" #. module: account #: model:ir.model.fields,help:account.field_account_partial_reconcile__amount msgid "Amount concerned by this matching. Assumed to be always positive" -msgstr "Importo utilizzato in questo accoppiamento. Si presume positivo." +msgstr "Importo coinvolto in questo abbinamento. Supposto sempre positivo" #. module: account #: model:ir.model.fields,field_description:account.field_account_partial_reconcile__amount_currency @@ -2038,7 +2038,7 @@ msgstr "Compilazione automatica da una fattura precedente." #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_supplier_form msgid "Auto-detect" -msgstr "Autorilevazione" +msgstr "Autorilevamento" #. module: account #: model:ir.model.fields,field_description:account.field_account_reconcile_model__auto_reconcile @@ -2494,8 +2494,8 @@ msgstr "" msgid "" "By unchecking the active field, you may hide an INCOTERM you will not use." msgstr "" -"Deselezionando il campo attivo, è possibile nascondere un INCOTERM che non " -"si utilizzerà." +"Deselezionando il campo attivo è possibile nascondere un INCOTERM da non " +"utilizzare." #. module: account #: code:addons/account/models/chart_template.py:389 @@ -2512,22 +2512,22 @@ msgstr "Importazione CAMT" #. module: account #: model:account.incoterms,name:account.incoterm_CIP msgid "CARRIAGE AND INSURANCE PAID TO" -msgstr "TRASPORTO E ASSICURAZIONE PAGATI A" +msgstr "TRASPORTO E ASSICURAZIONE PAGATI FINO A" #. module: account #: model:account.incoterms,name:account.incoterm_CPT msgid "CARRIAGE PAID TO" -msgstr "TRASPORTO PAGATO A" +msgstr "PORTO PAGATO FINO A" #. module: account #: model:account.incoterms,name:account.incoterm_CFR msgid "COST AND FREIGHT" -msgstr "COSTO E TRASPORTO" +msgstr "COSTO E NOLO" #. module: account #: model:account.incoterms,name:account.incoterm_CIF msgid "COST, INSURANCE AND FREIGHT" -msgstr "COSTO, ASSICURAZIONE E TRASPORTO" +msgstr "COSTO, ASSICURAZIONE E NOLO" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -2537,7 +2537,7 @@ msgstr "Importazione CSV" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__visible msgid "Can be Visible?" -msgstr "Dev essere visibile?" +msgstr "Può essere visibile?" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_common_report_view @@ -2631,8 +2631,8 @@ msgstr "Impossibile generare un codice conto inutilizzato." msgid "" "Cannot generate an unused journal code. Please fill the 'Shortcode' field." msgstr "" -"Impossibile generare un codice registro inutilizzato. Compilare il campo " -"\"codice abbreviato\"" +"Impossibile generare un codice per un registro inutilizzato. Compilare il " +"campo \"Codice breve\"" #. module: account #: selection:account.journal,type:0 @@ -2692,7 +2692,7 @@ msgstr "Arrotondamento di cassa" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__cash_rounding_id msgid "Cash Rounding Method" -msgstr "Metodo di arrotondamento di cassa" +msgstr "Metodo arrotondamento di cassa" #. module: account #: model:ir.actions.act_window,name:account.rounding_list_action @@ -2705,7 +2705,7 @@ msgstr "Arrotondamenti di cassa" #: code:addons/account/models/account_bank_statement.py:187 #, python-format msgid "Cash difference observed during the counting (%s)" -msgstr "Differenza di cassa rilevata durante il periodo (%s)" +msgstr "Differenza di cassa rilevata durante il conteggio (%s)" #. module: account #: code:addons/account/models/account_journal_dashboard.py:34 @@ -2716,17 +2716,17 @@ msgstr "Cassa: saldo" #. module: account #: model:ir.model,name:account.model_account_cashbox_line msgid "CashBox Line" -msgstr "Riga: registratore di cassa" +msgstr "Riga cassa contanti" #. module: account #: model:ir.model.fields,field_description:account.field_account_cashbox_line__cashbox_id msgid "Cashbox" -msgstr "Registratore di cassa" +msgstr "Cassa contanti" #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox__cashbox_lines_ids msgid "Cashbox Lines" -msgstr "Righe registratore di cassa" +msgstr "Righe cassa contanti" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__property_account_expense_categ_id @@ -2754,9 +2754,8 @@ msgid "" "Changing VAT number is not allowed once invoices have been issued for your " "account. Please contact us directly for this operation." msgstr "" -"La modifica del numero di partita IVA non è consentita quando sono già state" -" emesse delle fatture per il tuo account. Vi preghiamo di contattarci " -"direttamente per questa operazione." +"La modifica della partita IVA non è consentita dopo l'emissione delle " +"fatture per il conto. Per questa operazione contattarci direttamente." #. module: account #: code:addons/account/controllers/portal.py:111 @@ -2820,7 +2819,7 @@ msgstr "Modelli del piano dei conti" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_chart_of_account_step msgid "Chart of account set." -msgstr "Piano dei conti configurata." +msgstr "Piano dei conti impostato." #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_list @@ -2925,8 +2924,8 @@ msgid "" "Choose how you want to credit this invoice. You cannot Modify and Cancel if " "the invoice is already reconciled" msgstr "" -"Scegli come vuoi accreditare questa fattura. Non puoi Modificare o " -"Cancellare una fattura già riconciliata." +"Scegliere come accreditare questa fattura. Non è possibile modificare o " +"annullare una fattura già riconciliata" #. module: account #: model_terms:ir.actions.act_window,help:account.actions_account_fiscal_year @@ -3016,7 +3015,8 @@ msgstr "Valore moneta/banconota" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form msgid "Collect customer payments in one-click using Euro SEPA Service" -msgstr "Colleziona pagamenti con un click usando il SEPA Service" +msgstr "" +"Riscossione dei pagamenti clienti in un clic con il servizio europeo SEPA" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -3024,8 +3024,8 @@ msgid "" "Collect information and produce statistics on the trade in goods in Europe " "with intrastat." msgstr "" -"Colleziona Informazioni e produci report sui prodotti commerciati in Europa " -"con Infrastat" +"Raccolta informazioni e creazione resoconti sul commercio di beni in Europa " +"con Intrastat." #. module: account #: model:ir.model.fields,field_description:account.field_account_account_tag__color @@ -3044,8 +3044,8 @@ msgstr "Ente commerciale" #, python-format msgid "Commercial partner and vendor account owners must be identical." msgstr "" -"Il partner commerciale e il proprietario di account vendita devono essere lo" -" stesso." +"Il partner commerciale e il titolare del conto fornitore devono essere " +"identici." #. module: account #: model:ir.model,name:account.model_account_common_journal_report @@ -3648,7 +3648,7 @@ msgstr "Note di credito: numero successivo" #. module: account #: model:ir.model.fields,field_description:account.field_tax_adjustments_wizard__credit_account_id msgid "Credit account" -msgstr "Conto \"Avere\"" +msgstr "Conto avere" #. module: account #: model:ir.model.fields,help:account.field_account_move_line__matched_credit_ids @@ -3701,7 +3701,7 @@ msgstr "Differenza cambio valuta" #: model:account.account.type,name:account.data_account_type_current_assets #: model_terms:ir.ui.view,arch_db:account.view_account_form msgid "Current Assets" -msgstr "Attivita' correnti" +msgstr "Attività correnti" #. module: account #: model:account.account.type,name:account.data_account_type_current_liabilities @@ -3711,7 +3711,7 @@ msgstr "Passività correnti" #. module: account #: model:account.account.type,name:account.data_unaffected_earnings msgid "Current Year Earnings" -msgstr "Ricavi Anno Corrente" +msgstr "Ricavi anno corrente" #. module: account #: model:ir.model.fields,help:account.field_account_invoice_send__starred @@ -3791,27 +3791,27 @@ msgstr "Personalizza" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_invoice_layout_step msgid "Customize the look of your invoices." -msgstr "Modifica il formato della fattura." +msgstr "Personalizza l'aspetto della fattura." #. module: account #: model:account.incoterms,name:account.incoterm_DAF msgid "DELIVERED AT FRONTIER" -msgstr "CONSEGNATO ALLA FRONTIERA" +msgstr "RESO FRONTIERA" #. module: account #: model:account.incoterms,name:account.incoterm_DAP msgid "DELIVERED AT PLACE" -msgstr "RECAPITATO SUL POSTO" +msgstr "RESO AL LUOGO DI DESTINAZIONE" #. module: account #: model:account.incoterms,name:account.incoterm_DAT msgid "DELIVERED AT TERMINAL" -msgstr "CONSEGNATO A TERMINALE" +msgstr "RESO AL TERMINAL" #. module: account #: model:account.incoterms,name:account.incoterm_DDP msgid "DELIVERED DUTY PAID" -msgstr "SPEDITO TASSE PAGATE" +msgstr "RESO SDOGANATO" #. module: account #: model:account.incoterms,name:account.incoterm_DDU @@ -3821,17 +3821,17 @@ msgstr "RESO NON SDOGANATO" #. module: account #: model:account.incoterms,name:account.incoterm_DEQ msgid "DELIVERED EX QUAY" -msgstr "CONSEGNATO DA BANCHINA" +msgstr "RESO BANCHINA SDOGANATO" #. module: account #: model:account.incoterms,name:account.incoterm_DES msgid "DELIVERED EX SHIP" -msgstr "SPEDIZIONE DA NAVE" +msgstr "FRANCO NAVE" #. module: account #: selection:account.cash.rounding,rounding_method:0 msgid "DOWN" -msgstr "GIU" +msgstr "GIÙ" #. module: account #. openerp-web @@ -3868,7 +3868,7 @@ msgid "" "Date from which the accounting is managed in Odoo. It is the date of the " "opening entry." msgstr "" -"Data dalla quale la contabilita' e' gestita in Odoo. E' la data della " +"Data di inizio gestione della contabilità con Odoo. È la data della " "registrazione di apertura." #. module: account @@ -3948,7 +3948,7 @@ msgstr "Movimento in dare" #. module: account #: model:ir.model.fields,field_description:account.field_tax_adjustments_wizard__debit_account_id msgid "Debit account" -msgstr "Conto \"Dare\"" +msgstr "Conto dare" #. module: account #: model:ir.model.fields,help:account.field_account_move_line__matched_debit_ids @@ -3973,12 +3973,12 @@ msgstr "Tipo di comunicazione predefinito" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__default_credit_account_id msgid "Default Credit Account" -msgstr "Conto \"Avere\" predefinito" +msgstr "Conto avere predefinito" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__default_debit_account_id msgid "Default Debit Account" -msgstr "Conto \"Dare\" predefinito" +msgstr "Conto dare predefinito" #. module: account #: model:ir.model.fields,field_description:account.field_res_company__account_purchase_tax_id @@ -4013,7 +4013,7 @@ msgstr "Imposte predefinite" #. module: account #: model:ir.model.fields,field_description:account.field_res_company__incoterm_id msgid "Default incoterm" -msgstr "Predefiniti Incoterm" +msgstr "Incoterm predefinito" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -4054,7 +4054,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_fiscal_year_step msgid "Define your fiscal years opening & closing dates." -msgstr "Scegli le date di apertura & date di chiusura." +msgstr "Indica le date di apertura e chiusura degli anni fiscali." #. module: account #: model:ir.model.fields,help:account.field_account_journal__bank_statements_source @@ -4354,7 +4354,7 @@ msgstr "Debito" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_report__residual msgid "Due Amount" -msgstr "Importo a debito" +msgstr "Importo dovuto" #. module: account #. openerp-web @@ -4372,7 +4372,7 @@ msgstr "Data scadenza" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_payment_term_line_form msgid "Due Date Computation" -msgstr "Calcolo della data di scadenza" +msgstr "Calcolo data di scadenza" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_payment_term_line_tree @@ -4402,7 +4402,7 @@ msgstr "" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_account_reports msgid "Dynamic Reports" -msgstr "Resoconti dinamici." +msgstr "Rendiconti dinamici" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_l10n_eu_service @@ -4412,7 +4412,7 @@ msgstr "IVA comunitaria su beni digitali" #. module: account #: model:account.incoterms,name:account.incoterm_EXW msgid "EX WORKS" -msgstr "Franco Fabbrica" +msgstr "FRANCO FABBRICA" #. module: account #: code:addons/account/models/chart_template.py:387 @@ -4444,19 +4444,19 @@ msgid "" "Email address of the sender. This field is set when no matching partner is " "found and replaces the author_id field in the chatter." msgstr "" -"Indirizzo email del mittente. Questo campo viene impostato quando nessun " -"partner collegato viene trovato, e sostituisce il campo author_id " -"all'interno del chatter." +"Indirizzo email del mittente. Questo campo è impostato quando non sono " +"presenti partner abbinati, sostituisce il campo author_id nella " +"conversazione." #. module: account #: model:ir.model.fields,field_description:account.field_res_company__invoice_is_email msgid "Email by default" -msgstr "Email pre-impostata" +msgstr "Email predefinita" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_journal_form msgid "Email your Vendor Bills" -msgstr "Invia fatture fornitore via email" +msgstr "Invio fatture fornitore via email" #. module: account #: model:ir.model.fields,field_description:account.field_account_common_journal_report__date_to @@ -4479,12 +4479,12 @@ msgstr "Saldo finale" #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement__cashbox_end_id msgid "Ending Cashbox" -msgstr "Consistenza finale di cassa" +msgstr "Chiusura cassa contanti" #. module: account #: model:ir.model.fields,help:account.field_account_fiscal_year__date_to msgid "Ending Date, included in the fiscal year." -msgstr "Data di chiusura, inclusa nell'anno fiscale" +msgstr "Data di chiusura, inclusa nell'anno fiscale." #. module: account #: model:ir.actions.act_window,name:account.action_move_line_form @@ -4541,7 +4541,7 @@ msgstr "Errore." #: code:addons/account/models/chart_template.py:412 #, python-format msgid "Exchange Difference" -msgstr "Differenza cambio" +msgstr "Differenza di cambio" #. module: account #: model:ir.model.fields,field_description:account.field_res_company__currency_exchange_journal_id @@ -4552,7 +4552,7 @@ msgstr "Registro utili - perdite su cambi" #. module: account #: model:ir.model.fields,field_description:account.field_account_full_reconcile__exchange_move_id msgid "Exchange Move" -msgstr "Scrittura cambi" +msgstr "Movimento di cambio" #. module: account #: model:ir.model.fields,field_description:account.field_res_company__expects_chart_of_accounts @@ -4562,7 +4562,7 @@ msgstr "Atteso un piano dei conti" #. module: account #: selection:account.account.type,internal_group:0 msgid "Expense" -msgstr "Spese" +msgstr "Costo" #. module: account #: model:ir.model.fields,field_description:account.field_product_category__property_account_expense_categ_id @@ -4599,17 +4599,17 @@ msgstr "Collegamento esterno" #. module: account #: model:account.incoterms,name:account.incoterm_FAS msgid "FREE ALONGSIDE SHIP" -msgstr "SPEDIZIONE GRATUITA SULLA NAVE" +msgstr "FRANCO SOTTO BORDO" #. module: account #: model:account.incoterms,name:account.incoterm_FCA msgid "FREE CARRIER" -msgstr "FREE CARRIER" +msgstr "FRANCO VETTORE" #. module: account #: model:account.incoterms,name:account.incoterm_FOB msgid "FREE ON BOARD" -msgstr "FREE ON BOARD" +msgstr "FRANCO A BORDO" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__starred_partner_ids @@ -4728,13 +4728,13 @@ msgstr "Anni fiscali" #: model:ir.model.fields,field_description:account.field_account_financial_year_op__fiscalyear_last_day #: model:ir.model.fields,field_description:account.field_res_company__fiscalyear_last_day msgid "Fiscalyear Last Day" -msgstr "Ultimo giorno dell'esercizio" +msgstr "Ultimo giorno dell'anno fiscale" #. module: account #: model:ir.model.fields,field_description:account.field_account_financial_year_op__fiscalyear_last_month #: model:ir.model.fields,field_description:account.field_res_company__fiscalyear_last_month msgid "Fiscalyear Last Month" -msgstr "Ultimo mese dell'esercizio" +msgstr "Ultimo mese dell'anno fiscale" #. module: account #: selection:account.reconcile.model,amount_type:0 @@ -4754,7 +4754,7 @@ msgstr "Importo fisso" #. module: account #: model:account.account.type,name:account.data_account_type_fixed_assets msgid "Fixed Assets" -msgstr "Immobilizzazioni" +msgstr "Attività immobilizzate" #. module: account #: model:ir.model.fields,help:account.field_account_reconcile_model__amount @@ -4765,7 +4765,7 @@ msgid "" "Fixed amount will count as a debit if it is negative, as a credit if it is " "positive." msgstr "" -"L'importo fisso verrà computato in DARE se negativo, in AVERE se positivo" +"L'importo fisso verrà computato in dare se negativo, in avere se positivo." #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_account_reports_followup @@ -4849,7 +4849,7 @@ msgstr "" #: code:addons/account/report/account_journal.py:101 #, python-format msgid "Form content is missing, this report cannot be printed." -msgstr "Manca il contenuto del modulo, il rapporto non si puo' stampare." +msgstr "Contenuto del modulo mancante, impossibile stampare il rendiconto." #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__email_from @@ -5380,7 +5380,7 @@ msgstr "" #. module: account #: model:account.payment.term,name:account.account_payment_term_immediate msgid "Immediate Payment" -msgstr "Pagamento immediato" +msgstr "Rimessa diretta" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_invoice_import_wizard_form_view @@ -5425,7 +5425,7 @@ msgstr "Importazione automatica estratti conto bancari" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form msgid "Import your bank statements in CAMT.053" -msgstr "Importazione estratti conto in CAMT .053" +msgstr "Importazione estratti conto in CAMT.053" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -5528,12 +5528,12 @@ msgstr "Operazione errata" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__incoterm_id msgid "Incoterm" -msgstr "Condizioni di consegna" +msgstr "Incoterm" #. module: account #: model:ir.model.fields,help:account.field_account_incoterms__code msgid "Incoterm Standard Code" -msgstr "Codice Standard Incoterm" +msgstr "Codice standard Incoterm" #. module: account #: model:ir.actions.act_window,name:account.action_incoterms_tree @@ -5543,7 +5543,7 @@ msgstr "Codice Standard Incoterm" #: model_terms:ir.ui.view,arch_db:account.account_incoterms_view_search #: model_terms:ir.ui.view,arch_db:account.view_incoterms_tree msgid "Incoterms" -msgstr "Incoterms" +msgstr "Incoterm" #. module: account #: model:ir.model.fields,help:account.field_account_incoterms__name @@ -5552,9 +5552,9 @@ msgid "" "costs and responsibilities between buyer and seller and reflect state-of-" "the-art transportation practices." msgstr "" -"Gli Incoterms sono una serie di termini di vendita. Sono usati per dividere " -"i costi e le responsabilità di transazione tra acquirente e venditore e " -"riflettono pratiche di trasporto all’avanguardia." +"Gli Incoterm sono una serie di termini di vendita. Servono per dividere " +"costi e responsabilità di transazione tra acquirente e venditore. Riflettono" +" pratiche di trasporto all’avanguardia." #. module: account #: model_terms:ir.actions.act_window,help:account.action_incoterms_tree @@ -5562,15 +5562,15 @@ msgid "" "Incoterms are used to divide transaction costs and responsibilities between " "buyer and seller." msgstr "" -"Incoterms sono usati per dividire costi e responsabilità tra compratori e " -"venditori." +"Gli Incoterm sono usati per dividere costi e responsabilità di transazione " +"tra acquirente e venditore." #. module: account #. openerp-web #: code:addons/account/static/src/xml/account_payment.xml:25 #, python-format msgid "Info" -msgstr "Informazione" +msgstr "Informazioni" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_move_line_form @@ -5718,7 +5718,7 @@ msgstr "Icona fattura" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_invoice_layout_step msgid "Invoice Layout" -msgstr "Struttura fattura" +msgstr "Struttura della fattura" #. module: account #: model:ir.model,name:account.model_account_invoice_line @@ -5880,7 +5880,7 @@ msgstr "fatture da validare" #: model:ir.model.fields,help:account.field_account_payment__reconciled_invoice_ids msgid "Invoices whose journal items have been reconciled with this payment's." msgstr "" -"Fatture per le quali le scritture contabili sono state riconciliate con " +"Fatture i cui movimenti contabili sono stati riconciliati con questi " "pagamenti." #. module: account @@ -5950,13 +5950,13 @@ msgstr "È zero" #: model:ir.model.fields,help:account.field_account_journal__default_credit_account_id #: model:ir.model.fields,help:account.field_res_company__income_currency_exchange_account_id msgid "It acts as a default account for credit amount" -msgstr "Funziona come un conto di default per l'importo AVERE" +msgstr "Opera come conto predefinito per l'importo avere" #. module: account #: model:ir.model.fields,help:account.field_account_journal__default_debit_account_id #: model:ir.model.fields,help:account.field_res_company__expense_currency_exchange_account_id msgid "It acts as a default account for debit amount" -msgstr "Funziona come conto di default per l'importo DARE" +msgstr "Opera come conto predefinito per l'importo dare" #. module: account #: model:ir.model.fields,help:account.field_account_journal__alias_name @@ -5975,7 +5975,7 @@ msgstr "" #. module: account #: model:ir.model.fields,help:account.field_account_invoice__sent msgid "It indicates that the invoice has been sent." -msgstr "Indica che la fattura e' stata spedita" +msgstr "Indica che la fattura è stata inviata." #. module: account #: code:addons/account/models/account_move.py:971 @@ -6137,7 +6137,7 @@ msgstr "Nome registro" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_move_line_filter msgid "Journal items where matching number isn't set" -msgstr "Movimenti mancanti del numero di corrispondenza" +msgstr "Movimenti con numero abbinato non impostato" #. module: account #: model:ir.model.fields,help:account.field_res_company__account_opening_journal_id @@ -6172,7 +6172,7 @@ msgstr "Registri" #. module: account #: model:ir.actions.report,name:account.action_report_journal msgid "Journals Audit" -msgstr "Registro" +msgstr "Revisione registri" #. module: account #: selection:res.company,fiscalyear_last_month:0 @@ -6406,7 +6406,7 @@ msgstr "Ultima riconciliazione:" #: model:ir.model.fields,field_description:account.field_tax_adjustments_wizard__write_uid #: model:ir.model.fields,field_description:account.field_validate_account_move__write_uid msgid "Last Updated by" -msgstr "Ultimo aggiornamento di:" +msgstr "Ultimo aggiornamento di" #. module: account #: model:ir.model.fields,field_description:account.field_account_account__write_date @@ -6528,7 +6528,7 @@ msgstr "Consentire ai clienti di pagare le fatture online" #: selection:account.account.type,internal_group:0 #: model_terms:ir.ui.view,arch_db:account.view_account_search msgid "Liability" -msgstr "Passivita'" +msgstr "Passività" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_report__nbr @@ -6774,12 +6774,12 @@ msgstr "" #. module: account #: model:ir.model.fields,field_description:account.field_account_move_line__matched_credit_ids msgid "Matched Credit" -msgstr "Importo AVERE abbinato" +msgstr "Avere abbinato" #. module: account #: model:ir.model.fields,field_description:account.field_account_move_line__matched_debit_ids msgid "Matched Debit" -msgstr "Importo DARE abbinato" +msgstr "Dare abbinato" #. module: account #: model:ir.model.fields,field_description:account.field_account_full_reconcile__reconciled_line_ids @@ -6796,7 +6796,7 @@ msgstr "Abbinamento" #. module: account #: model:ir.model.fields,field_description:account.field_account_move_line__full_reconcile_id msgid "Matching Number" -msgstr "Numero di abbinamento" +msgstr "Numero abbinamento" #. module: account #: model:ir.model.fields,field_description:account.field_account_partial_reconcile__max_date @@ -6832,7 +6832,7 @@ msgstr "Promemoria:" #: model:ir.model.fields,field_description:account.field_account_invoice__message_has_error #: model:ir.model.fields,field_description:account.field_account_payment__message_has_error msgid "Message Delivery error" -msgstr "Errore nella consegna del messaggio" +msgstr "Errore di consegna del messaggio" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__record_name @@ -7169,7 +7169,7 @@ msgstr "Attività non correnti" #. module: account #: model:account.account.type,name:account.data_account_type_non_current_liabilities msgid "Non-current Liabilities" -msgstr "Passivita' differite" +msgstr "Passività non correnti" #. module: account #: selection:account.tax,type_tax_use:0 @@ -7336,8 +7336,8 @@ msgid "" "Odoo allows you to reconcile a statement line directly with\n" " the related sale or puchase invoice(s)." msgstr "" -"Odoo permette di riconciliare un estratto conto direttamente\n" -"\t\tcon la relativa fattura di vendita o acquisto." +"Odoo consente di riconciliare direttamente una riga di estratto\n" +" conto con le relative fatture di vendita o acquisto." #. module: account #: model_terms:ir.actions.act_window,help:account.action_bank_statement_tree @@ -7345,8 +7345,8 @@ msgid "" "Odoo allows you to reconcile a statement line directly with\n" " the related sale or puchase invoices." msgstr "" -"Odoo permette di riconciliare un estratto conto direttamente\n" -"\t\tcon le relative fatture di vendita o acquisto." +"Odoo consente di riconciliare direttamente una riga di estratto\n" +" conto con le relative fatture di vendita o acquisto." #. module: account #: model:ir.model.fields,field_description:account.field_account_move_line__tax_line_grouping_key @@ -7466,22 +7466,22 @@ msgstr "Saldo di apertura" #. module: account #: model:ir.model.fields,field_description:account.field_account_account__opening_credit msgid "Opening credit" -msgstr "Apertura AVERE" +msgstr "Avere di apertura" #. module: account #: model:ir.model.fields,help:account.field_account_account__opening_credit msgid "Opening credit value for this account." -msgstr "Importo AVERE di apertura per questo conto" +msgstr "Valore avere di apertura per questo conto." #. module: account #: model:ir.model.fields,field_description:account.field_account_account__opening_debit msgid "Opening debit" -msgstr "Apertura DARE" +msgstr "Dare di apertura" #. module: account #: model:ir.model.fields,help:account.field_account_account__opening_debit msgid "Opening debit value for this account." -msgstr "Importo DARE di apertura per questo conto" +msgstr "Valore dare di apertura per questo conto." #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_reconcile_model_form @@ -7765,14 +7765,14 @@ msgstr "Precedenti" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form msgid "Pay your bills in one-click using Euro SEPA Service" -msgstr "Paga le tue fatture in un clic con il servizio Euro SEPA" +msgstr "Pagamento delle fatture in un clic con il servizio europeo SEPA" #. module: account #: model:account.account.type,name:account.data_account_type_payable #: selection:account.account.type,type:0 #: model_terms:ir.ui.view,arch_db:account.view_account_move_line_filter msgid "Payable" -msgstr "Debiti Fornitori" +msgstr "Debiti" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__property_account_payable_id @@ -7793,7 +7793,7 @@ msgstr "Limite debito fornitori" #. module: account #: model_terms:ir.ui.view,arch_db:account.product_template_form_view msgid "Payables" -msgstr "Debiti fornitori" +msgstr "Debiti" #. module: account #: model:ir.model.fields,field_description:account.field_account_abstract_payment__amount @@ -7814,7 +7814,7 @@ msgstr "Data pagamento" #: model:ir.model.fields,field_description:account.field_account_payment__payment_difference #: model:ir.model.fields,field_description:account.field_account_register_payments__payment_difference msgid "Payment Difference" -msgstr "Differenza pagamento" +msgstr "Differenza di pagamento" #. module: account #: model:ir.model.fields,field_description:account.field_account_abstract_payment__payment_difference_handling @@ -7833,7 +7833,7 @@ msgstr "Registro pagamenti" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_payment_form msgid "Payment Matching" -msgstr "Abbinamento di pagamento" +msgstr "Abbinamento pagamento" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_payment_search @@ -8120,7 +8120,7 @@ msgstr "+ banca" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_form msgid "Plus Fixed Assets" -msgstr "+ immobilizzazioni" +msgstr "+ attività immobilizzate" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_form @@ -8217,7 +8217,7 @@ msgstr "" #: model:account.account.type,name:account.data_account_type_prepayments #: model_terms:ir.ui.view,arch_db:account.view_account_form msgid "Prepayments" -msgstr "Anticipi" +msgstr "Risconti attivi" #. module: account #: model:ir.model,name:account.model_account_reconcile_model @@ -8335,6 +8335,8 @@ msgid "" "Programmation Error: Can't call _get_invoice_matching_query() for different " "rules than 'invoice_matching'" msgstr "" +"Errore di programmazione: Impossibile chiamare _get_invoice_matching_query()" +" per regole diverse da \"invoice_matching\"" #. module: account #: code:addons/account/models/account_reconcile_model.py:489 @@ -8431,7 +8433,7 @@ msgstr "Motivo..." #: selection:account.account.type,type:0 #: model_terms:ir.ui.view,arch_db:account.view_account_move_line_filter msgid "Receivable" -msgstr "Crediti clienti" +msgstr "Crediti" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__property_account_receivable_id @@ -8453,7 +8455,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.product_template_form_view msgid "Receivables" -msgstr "Crediti clienti" +msgstr "Crediti" #. module: account #: selection:account.abstract.payment,payment_type:0 @@ -8834,7 +8836,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_chart_of_account_step msgid "Review" -msgstr "Revisiona" +msgstr "Esamina" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 @@ -8936,7 +8938,7 @@ msgstr "Addetto vendite" #: model:ir.model.fields,field_description:account.field_account_reconcile_model__match_same_currency #: model:ir.model.fields,field_description:account.field_account_reconcile_model_template__match_same_currency msgid "Same Currency Matching" -msgstr "" +msgstr "Abbinamento valuta equivalente" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_sample_invoice_step @@ -9221,12 +9223,12 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_sample_invoice_step msgid "Send an invoice to test the customer portal." -msgstr "" +msgstr "Invia una fattura per provare il portale clienti." #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_sample_invoice_step msgid "Send sample" -msgstr "Invia un esempio" +msgstr "Invia campione" #. module: account #: selection:account.payment,state:0 @@ -9331,17 +9333,17 @@ msgstr "Installazione" #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_bank_account_step msgid "Setup your bank account to sync bank feeds." -msgstr "" +msgstr "Imposta il conto per sincronizzare i feed bancari." #. module: account #: model_terms:ir.ui.view,arch_db:account.onboarding_chart_of_account_step msgid "Setup your chart of accounts and record initial balances." -msgstr "" +msgstr "Imposta il piano dei conti e registra i saldi iniziali." #. module: account #: model_terms:ir.ui.view,arch_db:account.dashboard_onboarding_company_step msgid "Setup your company's data for reports headers." -msgstr "" +msgstr "Imposta le informazioni aziendali per le intestazioni dei rendiconti." #. module: account #: model:ir.actions.server,name:account.model_account_invoice_action_share @@ -9351,7 +9353,7 @@ msgstr "Condividi" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__code msgid "Short Code" -msgstr "Codice abbreviato" +msgstr "Codice breve" #. module: account #: model:ir.model.fields,field_description:account.field_account_register_payments__show_communication_field @@ -9480,7 +9482,7 @@ msgstr "Saldo iniziale" #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement__cashbox_start_id msgid "Starting Cashbox" -msgstr "Consistenza di cassa iniziale" +msgstr "Cassa contanti iniziale" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_payment_search @@ -9537,7 +9539,7 @@ msgstr "Stato del movimento padre" #: model:ir.model.fields,field_description:account.field_account_move_line__statement_id #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view msgid "Statement" -msgstr "" +msgstr "Estratto conto" #. module: account #: code:addons/account/models/account_bank_statement.py:248 @@ -9548,20 +9550,20 @@ msgstr "Documento %s confermato, i movimenti sono stati creati" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_bank_statement_line_form msgid "Statement Line" -msgstr "Riga documenti" +msgstr "Riga estratto conto" #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement__line_ids #: model_terms:ir.ui.view,arch_db:account.view_bank_statement_form #: model_terms:ir.ui.view,arch_db:account.view_bank_statement_line_tree msgid "Statement lines" -msgstr "Righe documenti" +msgstr "Righe estratto conto" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view #: model_terms:ir.ui.view,arch_db:account.view_bank_statement_tree msgid "Statements" -msgstr "Documenti" +msgstr "Estratti conto" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_move_line_form @@ -9571,7 +9573,7 @@ msgstr "Condizioni" #. module: account #: model:ir.model.fields,field_description:account.field_account_fiscal_position__states_count msgid "States Count" -msgstr "Conta stati" +msgstr "Totale stati" #. module: account #: code:addons/account/controllers/portal.py:43 @@ -9700,7 +9702,7 @@ msgstr "Imposta %.2f%%" #: model:ir.model.fields,field_description:account.field_account_tax__account_id #: model:ir.model.fields,field_description:account.field_account_tax_template__account_id msgid "Tax Account" -msgstr "Conto Imposta" +msgstr "Conto imposta" #. module: account #: model:ir.model.fields,field_description:account.field_account_tax__refund_account_id @@ -9902,12 +9904,12 @@ msgstr "Imposta da applicare" #. module: account #: selection:res.config.settings,show_line_subtotals_tax_selection:0 msgid "Tax-Excluded" -msgstr "IVA-esclusa" +msgstr "Imposta esclusa" #. module: account #: selection:res.config.settings,show_line_subtotals_tax_selection:0 msgid "Tax-Included" -msgstr "IVA-inclusa" +msgstr "Imposta inclusa" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -9955,8 +9957,8 @@ msgid "" "Taxes, fiscal positions, chart of accounts & legal statements for your " "country" msgstr "" -"Imposte, posizioni fiscali, piano dei conti & documenti legali per il " -"tuo Paese" +"Imposte, posizioni fiscali, piano dei conti e documenti legali per la tua " +"nazione" #. module: account #: model:ir.model.fields,help:account.field_account_payment__invoice_ids @@ -10081,8 +10083,8 @@ msgstr "" msgid "" "Technical field used to adapt the interface to the payment type selected." msgstr "" -"Campo tecnico utilizzato per adattare l'interfaccia al tipo di pagamento " -"selezionato" +"Campo tecnico usato per adeguare l'interfaccia al tipo di pagamento " +"selezionato." #. module: account #: model:ir.model.fields,help:account.field_account_partial_reconcile__max_date @@ -10504,7 +10506,7 @@ msgstr "Il movimento di questa riga di registrazione." #. module: account #: model:ir.model.fields,help:account.field_account_invoice__name msgid "The name that will be used on account move lines" -msgstr "Il nome che verra' usato nelle righe del movimento contabile." +msgstr "Il nome che verrà usato nelle righe di movimento contabile." #. module: account #: code:addons/account/models/company.py:149 @@ -10554,7 +10556,7 @@ msgstr "" #. module: account #: model:ir.model.fields,help:account.field_account_invoice__account_id msgid "The partner account used for this invoice." -msgstr "Il conto cliente - fornitore usato per questa fattura" +msgstr "Il conto del partner usato per questa fattura." #. module: account #: model:ir.model.fields,help:account.field_res_partner__has_unreconciled_entries @@ -10562,8 +10564,8 @@ msgid "" "The partner has at least one unreconciled debit and credit since last time " "the invoices & payments matching was performed." msgstr "" -"La controparte ha almeno un importo DARE o AVERE non riconciliato da quando " -"e' stato fatto l'ultimo abbinamento fra fatture e pagamenti." +"Il partner possiede almeno un importo dare o avere non riconciliato " +"dall'ultimo abbinamento effettuato tra fatture e pagamenti." #. module: account #: code:addons/account/models/account.py:648 @@ -10571,13 +10573,14 @@ msgstr "" msgid "" "The partners of the journal's company and the related bank account mismatch." msgstr "" -"I partner del sezionale dell'azienda e il conto bancario non corrispondono. " +"Nel registro, i partner dell'azienda e il relativo conto bancario non " +"corrispondono. " #. module: account #: code:addons/account/models/account_payment.py:118 #, python-format msgid "The payment amount cannot be negative." -msgstr "L'importo del pagamento non puo' essere negativo" +msgstr "L'importo di pagamento non può essere negativo." #. module: account #: code:addons/account/models/account_payment.py:602 @@ -10981,7 +10984,7 @@ msgid "" "This journal already contains items, therefore you cannot modify its short " "name." msgstr "" -"Impossibile modificare il nome abbreviato, questo registro contiene già dei " +"Impossibile modificare il nome breve, questo registro contiene già dei " "movimenti." #. module: account @@ -11025,13 +11028,15 @@ msgid "" "This parameter will be bypassed in case of a statement line communication " "matching exactly existing entries" msgstr "" +"Il parametro verrà ignorato se la riga di estratto conto è abbinata in modo " +"esatto alle registrazioni esistenti" #. module: account #. openerp-web #: code:addons/account/static/src/xml/account_reconciliation.xml:294 #, python-format msgid "This payment is registered but not reconciled." -msgstr "Questo pagamento e' registrato ma non riconciliato." +msgstr "Questo pagamento è registrato ma non riconciliato." #. module: account #: model:ir.model.fields,help:account.field_res_partner__property_supplier_payment_term_id @@ -11204,7 +11209,7 @@ msgstr "Totale importo dovuto dal cliente" #. module: account #: model:ir.model.fields,help:account.field_account_invoice_line__price_total msgid "Total amount with taxes" -msgstr "Totale importo imposte comprese." +msgstr "Importo totale comprese imposte" #. module: account #: model:ir.model.fields,help:account.field_account_invoice_line__price_subtotal @@ -11214,7 +11219,7 @@ msgstr "Totale imponibile" #. module: account #: model:ir.model.fields,help:account.field_res_partner__debit msgid "Total amount you have to pay to this vendor." -msgstr "Totale importo da pagare al fornitore" +msgstr "Importo totale da pagare a questo fornitore." #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__amount_total_company_signed @@ -11224,7 +11229,7 @@ msgstr "Totale nella valuta dell'azienda" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__amount_total_signed msgid "Total in Invoice Currency" -msgstr "Totale in valuta documento" +msgstr "Totale in valuta fattura" #. module: account #: model:ir.model.fields,help:account.field_account_bank_statement__total_entry_encoding @@ -11350,7 +11355,7 @@ msgstr "Partner sconosciuto" #: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view msgid "Unpaid Invoices" -msgstr "Fatture non pagate" +msgstr "fatture non pagate" #. module: account #: selection:account.move,state:0 @@ -11381,7 +11386,7 @@ msgstr "Messaggi non letti" #: model:ir.model.fields,field_description:account.field_account_invoice__message_unread_counter #: model:ir.model.fields,field_description:account.field_account_payment__message_unread_counter msgid "Unread Messages Counter" -msgstr "Contatore di messaggi non letti" +msgstr "Contatore messaggi non letti" #. module: account #. openerp-web @@ -11419,7 +11424,7 @@ msgstr "Importo imponibile" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice__amount_untaxed_signed msgid "Untaxed Amount in Company Currency" -msgstr "Importo imponibile in moneta di conto" +msgstr "Importo imponibile in valuta aziendale" #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_report__price_total @@ -11496,7 +11501,7 @@ msgstr "Usare livelli di verifica e pianificazione di azioni" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__group_products_in_bills msgid "Use products in vendor bills" -msgstr "Usa i prodotti nelle fatture di acquisto" +msgstr "Usare i prodotti nelle fatture fornitore" #. module: account #: model:res.groups,name:account.group_products_in_bills @@ -11789,8 +11794,8 @@ msgid "" "We cannot find any journal for this company. You should create one.\n" "Please go to Configuration > Journals." msgstr "" -"Nessun sezionale trovato per questa azienda. Devi crearne uno. Clicca su " -"Configurazione > Sezionali." +"Impossibile trovare registri per questa azienda. È necessario crearne uno.\n" +"Andare in Configurazione → Registri." #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement__website_message_ids @@ -11838,7 +11843,7 @@ msgstr "Determina se questo registro deve essere visualizzato nella bacheca" #: model:ir.model.fields,help:account.field_account_setup_bank_manual_config__new_journal_name msgid "Will be used to name the Journal related to this bank account" msgstr "" -"Sarà usato per denominare il sezionale collegato a questo conto bancario" +"Verrà usato come nome per il registro collegato a questo conto bancario" #. module: account #: model:ir.model.fields,field_description:account.field_account_common_journal_report__amount_currency @@ -11856,7 +11861,7 @@ msgstr "Con imposta" #: code:addons/account/models/account_move.py:999 #, python-format msgid "Write-Off" -msgstr "Svalutazione" +msgstr "Storno" #. module: account #: model:ir.model.fields,field_description:account.field_account_reconcile_model__amount @@ -11872,7 +11877,7 @@ msgstr "" #. module: account #: sql_constraint:account.move.line:0 msgid "Wrong credit or debit value in accounting entry !" -msgstr "Importo AVERE o DARE errato nella scrittura contabile!" +msgstr "Valore avere o dare errato nella registrazione contabile." #. module: account #: code:addons/account/models/account_move.py:907 @@ -11911,8 +11916,8 @@ msgid "" "You can not have an overlap between two fiscal years, please correct the " "start and/or end dates of your fiscal years." msgstr "" -"Non puoi avere una sovrapposizione tra due anni fiscali, correggi le date di" -" inizio e/o di fine dei tuoi anni fiscali. " +"Impossibile avere una sovrapposizione tra due anni fiscali, correggere le " +"relative date di inizio e/o di fine. " #. module: account #: code:addons/account/models/account_invoice.py:1784 @@ -11926,7 +11931,7 @@ msgstr "" #: code:addons/account/models/account_payment.py:86 #, python-format msgid "You can only register payments for open invoices" -msgstr "Puoi registrare pagamenti solo su fatture aperte." +msgstr "È possibile registrare pagamenti solo per fatture aperte" #. module: account #: model:ir.model.fields,help:account.field_res_company__invoice_reference_type @@ -11966,8 +11971,8 @@ msgid "" "You cannot change the currency of the company since some journal items " "already exist" msgstr "" -"Non è possibile cambiare la divisa dell'azienda perchè esistono già delle " -"registrazioni contabili." +"Impossibile cambiare la valuta dell'azienda, sono già presenti dei movimenti" +" contabili" #. module: account #: code:addons/account/models/account.py:310 @@ -11976,7 +11981,7 @@ msgid "" "You cannot change the owner company of an account that already contains " "journal items." msgstr "" -"Non puoi cambiare l'azienda proprietaria di un conto che contiene già " +"Impossibile cambiare l'azienda titolare di un conto che contiene già dei " "movimenti contabili." #. module: account @@ -12055,7 +12060,7 @@ msgid "" "You cannot do this modification on a reconciled entry. You can just change some non legal fields or you must unreconcile first.\n" "%s." msgstr "" -"Non puoi fare questa modifica in una registrazione riconciliata. Puoi solo cambiare alcuni campi non obbligatori o devi prima de-riconciliarla.\n" +"Impossibile effettuare questa modifica su una registrazione riconciliata, sono modificabili solo alcuni dati non legali. Annullare prima la riconciliazione.\n" "%s." #. module: account @@ -12206,7 +12211,7 @@ msgstr "Hai" #: code:addons/account/models/account_payment.py:622 #, python-format msgid "You have to define a sequence for %s in your company." -msgstr "È necessario definire una sequenza per %s nell'azienda." +msgstr "Nell'azienda è necessario definire una sequenza per %s." #. module: account #: code:addons/account/wizard/pos_box.py:50 @@ -12345,7 +12350,7 @@ msgstr "giorni dopo la data della fattura" #. module: account #: model_terms:ir.ui.view,arch_db:account.setup_bank_account_wizard msgid "e.g BE15001559627230" -msgstr "ad esempio: BE15001559627230" +msgstr "es. IT15001559627" #. module: account #: model_terms:ir.ui.view,arch_db:account.setup_bank_account_wizard @@ -12360,7 +12365,7 @@ msgstr "es. Conto corrente" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_account_reconcile_model_form msgid "e.g. Bank Fees" -msgstr "ad es. commissioni bancarie" +msgstr "es. commissioni bancarie" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_form @@ -12469,7 +12474,9 @@ msgstr "operazioni in" #. module: account #: model:ir.model.fields,help:account.field_account_invoice__amount_by_group msgid "type: [(name, amount, base, formated amount, formated base)]" -msgstr "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" +"tipo: [(nome, importo, imponibile, importo formattato, imponibile " +"formattato)]" #. module: account #: model_terms:ir.ui.view,arch_db:account.view_bank_statement_form diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po index 12f49456ff1..ebff80dd479 100644 --- a/addons/account/i18n/ru.po +++ b/addons/account/i18n/ru.po @@ -5,7 +5,6 @@ # Translators: # Viktor Pogrebniak , 2018 # Gennady Marchenko , 2018 -# sergeiruzkiicode , 2018 # Max Belyanin , 2018 # Collex100, 2018 # Martin Trigaux, 2018 @@ -13,6 +12,7 @@ # Sergey Vilizhanin, 2018 # Denis Baranov , 2018 # Yaroslav Panychev , 2018 +# Vitalius Sharkhun , 2018 # msgid "" msgstr "" @@ -20,7 +20,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" "PO-Revision-Date: 2018-08-24 09:14+0000\n" -"Last-Translator: Yaroslav Panychev , 2018\n" +"Last-Translator: Vitalius Sharkhun , 2018\n" "Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,11 +37,11 @@ msgid "" " * The 'Paid' status is set automatically when the invoice is paid. Its related journal entries may or may not be reconciled.\n" " * The 'Cancelled' status is used when user cancel invoice." msgstr "" -" * Статус «Проект» используется, когда пользователь составляет новый и неподтвержденный Cчёт-фактура.\n" -" * Статус «Открыт» используется, когда пользователь создает Cчёт-фактуру, генерируется номер Cчёт-фактуры. Он остается в открытом состоянии до тех пор, пока пользователь не оплатит счет.\n" -" * Статус «В оплате» используется, когда платежи были зарегистрированы для всего счета-фактуры в журнале, настроенном на запись записей только при сверке банковских счетов, и некоторые из них еще не были согласованы с линией выписки по счету.\n" -" * Статус «Оплачено» устанавливается автоматически при оплате счета. Его связанные записи в журнале могут быть или не быть согласованы.\n" -" * Статус «Отменен» используется, когда пользователь отменяет счет-фактуру." +" * Статус «Проект» используется, когда пользователь составляет новый и неподтвержденный Cчёт-фактуру.\n" +" * Статус «Открыт» используется, когда пользователь создает Cчёт-фактуру, генерируется номер Cчёт-фактуры. Он остается в открытом состоянии до тех пор, пока пользователь не оплатит счёт.\n" +" * Статус «В оплате» используется, когда платежи были зарегистрированы для всего Счёта-фактуры в журнале, настроенном на внесение записей только при сверке банковских счетов, и некоторые из них еще не были согласованы с банковской выпиской.\n" +" * Статус «Оплачено» устанавливается автоматически при оплате счёта. Связанные с ним записи в журнале могут или не могут быть согласованы.\n" +" * Статус «Отменён» используется, когда пользователь отменяет Счёт-фактуру." #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__code_digits @@ -56,7 +56,8 @@ msgstr "" #. module: account #: model:mail.template,subject:account.email_template_edi_invoice msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})" -msgstr "${object.company_id.name|safe} Счёт (№ ${object.number or 'n/a' })" +msgstr "" +"${object.company_id.name|safe} Счёт-фактура (№ ${object.number or 'n/a' })" #. module: account #: model:mail.template,subject:account.mail_template_data_payment_receipt @@ -125,7 +126,7 @@ msgstr "15 дней" #. module: account #: model:account.payment.term,name:account.account_payment_term_2months msgid "2 Months" -msgstr "2 Месяца" +msgstr "2 месяца" #. module: account #: model:account.payment.term,name:account.account_payment_term_net @@ -140,7 +141,7 @@ msgstr "30 % до конца следующего месяца" #. module: account #: model:account.payment.term,name:account.account_payment_term_45days msgid "45 Days" -msgstr "45 Дней" +msgstr "45 дней" #. module: account #: code:addons/account/models/account.py:686 @@ -173,10 +174,10 @@ msgstr "" "

\n" " Уважаемый ${object.partner_id.name}

\n" " Спасибо за оплату.\n" -" Вот ваш платеж ${(object.name or '').replace('/','-')} на сумму\n" +" Вот ваш платёж ${(object.name or '').replace('/','-')} на сумму\n" " ${format_amount(object.amount, object.currency_id)} от ${object.company_id.name}.\n" "

\n" -" Не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы..\n" +" Не стесняйтесь обращаться к нам, если у вас возникли какие-либо вопросы.\n" "

\n" " С наилучшими пожеланиями,
\n" " % if user and user.signature:\n" @@ -580,22 +581,22 @@ msgstr "Журнал:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_payment_receipt_document msgid "Memo: " -msgstr "Заметка." +msgstr "Заметка:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_payment_receipt_document msgid "Payment Amount: " -msgstr "Сумма платежа" +msgstr "Сумма платежа:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_payment_receipt_document msgid "Payment Date: " -msgstr "Дата платежа" +msgstr "Дата платежа:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_payment_receipt_document msgid "Payment Method: " -msgstr "Метода платежа" +msgstr "Метод платежа:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_invoice_document @@ -610,7 +611,7 @@ msgstr "Источник:" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_invoice_document msgid "Subtotal" -msgstr "Подытог" +msgstr "Промежуточный итог" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_journal @@ -716,23 +717,21 @@ msgid "" "the sum of line subtotals equals the total with taxes." msgstr "" "Округление по строкам рекомендуется использовать, если ваши цены включают " -"налоги. В этом случае, сумма подитогов по строке будет эквивалентна итогу, " -"включающему налоги." +"налоги. В этом случае, сумма промежуточных итогов по строке будет " +"эквивалентна итогу, включающему налоги." #. module: account #: code:addons/account/models/account_bank_statement.py:527 #: code:addons/account/models/account_bank_statement.py:530 #, python-format msgid "A selected move line was already reconciled." -msgstr "Выбранная строка была уже сверена" +msgstr "Выбранная строка была уже сверена." #. module: account #: code:addons/account/models/account_bank_statement.py:538 #, python-format msgid "A selected statement line was already reconciled with an account move." -msgstr "" -"Выбранная строка оператора уже была согласована с перемещением учетной " -"записи." +msgstr "Выбранная строка уже была согласована с перемещением учётной записи." #. module: account #: sql_constraint:account.fiscal.position.tax:0 @@ -827,13 +826,13 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.action_account_group_tree msgid "Account Groups" -msgstr "Группы Счетов" +msgstr "Группы счетов" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__company_partner_id #: model:ir.model.fields,field_description:account.field_account_setup_bank_manual_config__partner_id msgid "Account Holder" -msgstr "Владелец счета" +msgstr "Владелец счёта" #. module: account #: model:ir.model.fields,field_description:account.field_account_setup_bank_manual_config__acc_holder_name @@ -924,7 +923,7 @@ msgstr "Тег счёта" #. module: account #: model:ir.actions.act_window,name:account.account_tag_action msgid "Account Tags" -msgstr "Тэги Счетов" +msgstr "Теги счетов" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_tax_view_tree @@ -937,7 +936,7 @@ msgstr "Счёт налога" #: model_terms:ir.ui.view,arch_db:account.view_account_tax_template_form #: model_terms:ir.ui.view,arch_db:account.view_account_tax_template_tree msgid "Account Tax Template" -msgstr "Шаблон налогового счета" +msgstr "Шаблон налогового счёта" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_account_taxcloud @@ -950,7 +949,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:account.view_account_template_search #: model_terms:ir.ui.view,arch_db:account.view_account_template_tree msgid "Account Template" -msgstr "Шаблон счета" +msgstr "Шаблон счёта" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__property_stock_valuation_account_id @@ -984,7 +983,7 @@ msgid "" " entries." msgstr "" "Тип счёта используется в информационных целях, при создании официальных " -"отчетов для конкретной страны, определении правил закрытия финансового года " +"отчётов для конкретной страны, определении правил закрытия финансового года " "и проводок открытия." #. module: account @@ -1049,7 +1048,7 @@ msgid "" "Account that will be set on invoice tax lines for invoices. Leave empty to " "use the expense account." msgstr "" -"Банковский счёт который будет указан в строках, соответствующих налогам в " +"Банковский счёт, который будет указан в строках, соответствующих налогам в " "счёте на оплату. Если оставить это поле пустым, будет использоваться " "расходный счёт." @@ -1059,7 +1058,7 @@ msgid "" "Account that will be set on invoice tax lines for refunds. Leave empty to " "use the expense account." msgstr "" -"Банковский счёт который будет указан как счёт для возврата в строках, " +"Банковский счёт, который будет указан как счёт для возврата в строках, " "соответствующих налогам в счёте на оплату. Если оставить это поле пустым, " "будет использоваться расходный счёт." @@ -1305,7 +1304,7 @@ msgstr "Дополнительная информация" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_supplier_form msgid "Additional notes..." -msgstr "Дополнительные заметки ..." +msgstr "Дополнительные заметки..." #. module: account #: selection:account.tax,type_tax_use:0 @@ -1450,7 +1449,7 @@ msgstr "Разрешить печать чеков и депозиты" #. module: account #: model:res.groups,name:account.group_cash_rounding msgid "Allow the cash rounding management" -msgstr "Разрешает управление округлением наличности" +msgstr "Разрешить управление округлением наличности" #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -1805,13 +1804,13 @@ msgstr "" #: model:ir.model.fields,help:account.field_account_fiscal_position__country_id #: model:ir.model.fields,help:account.field_account_fiscal_position_template__country_id msgid "Apply only if delivery or invoicing country match." -msgstr "Применить только если страна доставки или счёта совпадают." +msgstr "Применить, только если страна доставки или счёта совпадают." #. module: account #: model:ir.model.fields,help:account.field_account_fiscal_position__vat_required #: model:ir.model.fields,help:account.field_account_fiscal_position_template__vat_required msgid "Apply only if partner has a VAT number." -msgstr "Применить если партнеру указано значение НДС." +msgstr "Применить, если партнёру указано значение НДС." #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -1853,7 +1852,7 @@ msgstr "Управление активами" #. module: account #: model:ir.model.fields,field_description:account.field_account_chart_template__account_ids msgid "Associated Account Templates" -msgstr "Связанные шаблоны счета" +msgstr "Связанные шаблоны счёта" #. module: account #: model:ir.model.fields,field_description:account.field_account_journal__at_least_one_inbound @@ -1908,7 +1907,7 @@ msgid "" " did not match any partner." msgstr "" "Автор сообщения. Если не установлен, email_from может содержать адрес почты," -" который не соответствует ни одному партнеру." +" который не соответствует ни одному партнёру." #. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_send__author_avatar @@ -2018,7 +2017,7 @@ msgstr "Балансовая ведомость" #. module: account #: model:ir.model.fields,help:account.field_account_bank_statement__balance_end msgid "Balance as calculated based on Opening Balance and transaction lines" -msgstr "Баланс вычисляется основываясь на начальном балансе и операциях" +msgstr "Баланс вычисляется, основываясь на начальном балансе и операциях" #. module: account #: selection:account.journal,type:0 @@ -2055,7 +2054,7 @@ msgstr "" #. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement_line__account_number msgid "Bank Account Number" -msgstr "Номер банковского счета" +msgstr "Номер банковского счёта" #. module: account #: model:ir.model.fields,help:account.field_account_invoice__partner_bank_id @@ -2271,7 +2270,7 @@ msgstr "Дата выставления счёта" #. module: account #: model_terms:ir.ui.view,arch_db:account.invoice_supplier_form msgid "Bill lines" -msgstr "Строки счета" +msgstr "Строки счёта" #. module: account #: model:res.groups,name:account.group_account_invoice @@ -2319,7 +2318,7 @@ msgstr "Блокирующее сообщение" #. module: account #: model:ir.model.fields,field_description:account.field_account_account_type__include_initial_balance msgid "Bring Accounts Balance Forward" -msgstr "Перенос баланса счетов вперёд." +msgstr "Перенос баланса счетов вперёд" #. module: account #: model_terms:ir.actions.act_window,help:account.open_account_journal_dashboard_kanban @@ -2367,7 +2366,8 @@ msgstr "По продавцу" msgid "" "By unchecking the active field, you may hide a fiscal position without " "deleting it." -msgstr "Вы можете скрыть позицию системы налогов без её удаления сняв флажок." +msgstr "" +"Вы можете скрыть позицию системы налогов без её удаления, сняв флажок." #. module: account #: model:ir.model.fields,help:account.field_account_incoterms__active @@ -2476,7 +2476,7 @@ msgstr "" #: code:addons/account/models/account_move.py:358 #, python-format msgid "Cannot create moves for different companies." -msgstr "Нельзя создать операцию для различных компаний" +msgstr "Нельзя создать операцию для различных компаний." #. module: account #: code:addons/account/models/account_move.py:390 @@ -2491,7 +2491,7 @@ msgid "" "Cannot find a chart of accounts for this company, You should configure it. \n" "Please go to Account Configuration." msgstr "" -"Не могу найти план счетов для этой компании, Вы следует настроить его. \n" +"Не могу найти план счетов для этой компании, Вам следует настроить его. \n" "Пожалуйста, перейдите в настройки счёта." #. module: account @@ -2581,7 +2581,7 @@ msgstr "Округления наличности" #: code:addons/account/models/account_bank_statement.py:187 #, python-format msgid "Cash difference observed during the counting (%s)" -msgstr "Денежная разница наблюдается при подсчете (%s)" +msgstr "Денежная разница наблюдается при подсчёте (%s)" #. module: account #: code:addons/account/models/account_journal_dashboard.py:34 @@ -2706,7 +2706,7 @@ msgstr "Проверьте итоговый баланс" #. module: account #: model:ir.model.fields,help:account.field_account_bank_statement__is_difference_zero msgid "Check if difference is zero." -msgstr "Проверять если разница нулевая." +msgstr "Проверять, если разница нулевая." #. module: account #: model:ir.model.fields,help:account.field_account_account__reconcile @@ -2714,8 +2714,8 @@ msgid "" "Check this box if this account allows invoices & payments matching of " "journal items." msgstr "" -"Поставьте тут флажок, если данный счёт допускает сверку позиций журнала со " -"счетами-фактурами и оплатами." +"Установите этот флажок, если данный счёт допускает сверку позиций журнала со" +" счетами-фактурами и оплатами." #. module: account #: model:ir.model.fields,help:account.field_account_journal__refund_sequence @@ -2723,8 +2723,8 @@ msgid "" "Check this box if you don't want to share the same sequence for invoices and" " credit notes made from this journal" msgstr "" -"Установите это, если не хотите сквозную нумерацию счетов и кредитных авизо, " -"относящихся к этому журналу " +"Установите этот флажок, если не хотите сквозную нумерацию счетов и кредитных" +" авизо, относящихся к этому журналу " #. module: account #: model:ir.model.fields,help:account.field_account_journal__update_posted @@ -2732,8 +2732,8 @@ msgid "" "Check this box if you want to allow the cancellation the entries related to " "this journal or of the invoice related to this journal" msgstr "" -"Отметьте, если вы хотите включить возможность отмены проводок, связанных с " -"этим журналом, или позиций из счетов, связанных с этим журналом" +"Установите этот флажок, если вы хотите включить возможность отмены проводок," +" связанных с этим журналом, или позиций из счетов, связанных с этим журналом" #. module: account #: model:ir.model.fields,help:account.field_account_tax__price_include @@ -2741,14 +2741,16 @@ msgstr "" msgid "" "Check this if the price you use on the product and invoices includes this " "tax." -msgstr "Отметьте, если цена продукта и счёта включают этот налог." +msgstr "" +"Установите этот флажок, если цена продукта и счёта включают этот налог." #. module: account #: model:ir.model.fields,help:account.field_account_account_template__reconcile msgid "" "Check this option if you want the user to reconcile entries in this account." msgstr "" -"Отметьте, если вы хотите, чтобы пользователь сверял проводки по этому счету." +"Установите этот флажок, если вы хотите, чтобы пользователь сверял проводки " +"по этому счёту." #. module: account #: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form @@ -2804,14 +2806,14 @@ msgstr "" #: code:addons/account/static/src/js/tour.js:19 #, python-format msgid "Click to send the invoice by email." -msgstr "Кликните, чтобы отослать счет по эл.почте." +msgstr "Нажмите, чтобы отослать счёт по эл. почте." #. module: account #. openerp-web #: code:addons/account/static/src/js/tour.js:23 #, python-format msgid "Click to send the invoice." -msgstr "Кликните, чтобы послать счет." +msgstr "Нажмите, чтобы отослать счёт." #. module: account #. openerp-web @@ -2821,7 +2823,7 @@ msgid "" "Click to validate your invoice. A reference will be assigned to this " "invoice and you will not be able to modify it anymore." msgstr "" -"Нажмите, чтобы подтвердить свой счет. Счет получит номер и вы не " +"Нажмите, чтобы подтвердить свой счёт. Счёт получит номер и вы не " "сможете больше его менять." #. module: account @@ -2917,7 +2919,7 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.action_account_common_menu msgid "Common Report" -msgstr "Общий отчет" +msgstr "Общий отчёт" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__invoice_reference_type diff --git a/addons/account/i18n/uk.po b/addons/account/i18n/uk.po index ef6a4522a7b..cfc5c971788 100644 --- a/addons/account/i18n/uk.po +++ b/addons/account/i18n/uk.po @@ -476,7 +476,7 @@ msgstr "" #. module: account #: model_terms:ir.ui.view,arch_db:account.report_invoice_document msgid "Quantity" -msgstr "" +msgstr "Кількість" #. module: account #: model_terms:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 39ae8e9db22..c2a7c9ec935 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -71,7 +71,7 @@ msgstr "# 数字" #. module: account #: model:mail.template,report_name:account.mail_template_data_payment_receipt msgid "${(object.name or '').replace('/','-')}" -msgstr "${(object.name or '').取代('/','-')}" +msgstr "${(object.name or '').replace('/','-')}" #. module: account #: model:mail.template,subject:account.email_template_edi_invoice @@ -4274,7 +4274,7 @@ msgstr "发现重复的供应商。你可能重复记录了同一供应商的账 #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_account_reports msgid "Dynamic Reports" -msgstr "动态报表" +msgstr "动态报告" #. module: account #: model:ir.model.fields,field_description:account.field_res_config_settings__module_l10n_eu_service diff --git a/addons/account/models/account_bank_statement.py b/addons/account/models/account_bank_statement.py index 4a2b0824d24..d57fb164ee4 100644 --- a/addons/account/models/account_bank_statement.py +++ b/addons/account/models/account_bank_statement.py @@ -324,6 +324,16 @@ class AccountBankStatementLine(models.Model): if self.amount_currency != 0 and self.amount == 0: raise ValidationError(_('If "Amount Currency" is specified, then "Amount" must be as well.')) + @api.constrains('currency_id', 'journal_id') + def _check_currency_id(self): + for line in self: + if not line.currency_id: + continue + + statement_currency = line.journal_id.currency_id or line.company_id.currency_id + if line.currency_id == statement_currency: + raise ValidationError(_('The currency of the bank statement line must be different than the statement currency.')) + @api.model def create(self, vals): line = super(AccountBankStatementLine, self).create(vals) @@ -657,7 +667,13 @@ class AccountBankStatementLine(models.Model): #create the res.partner.bank if needed if self.account_number and self.partner_id and not self.bank_account_id: - self.bank_account_id = self.env['res.partner.bank'].create({'acc_number': self.account_number, 'partner_id': self.partner_id.id}).id + bank_account = self.env['res.partner.bank'].search( + [('acc_number', '=', self.account_number), ('partner_id', '=', self.partner_id.id)]) + if not bank_account: + bank_account = self.env['res.partner.bank'].create({ + 'acc_number': self.account_number, 'partner_id': self.partner_id.id + }) + self.bank_account_id = bank_account counterpart_moves.assert_balanced() return counterpart_moves diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index 391a151e2c7..465fab791e0 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -1578,6 +1578,7 @@ class AccountInvoiceLine(models.Model): help="Gives the sequence of this line when displaying the invoice.") invoice_id = fields.Many2one('account.invoice', string='Invoice Reference', ondelete='cascade', index=True) + invoice_type = fields.Selection(related='invoice_id.type', readonly=True) uom_id = fields.Many2one('uom.uom', string='Unit of Measure', ondelete='set null', index=True, oldname='uos_id') product_id = fields.Many2one('product.product', string='Product', diff --git a/addons/account/models/account_reconcile_model.py b/addons/account/models/account_reconcile_model.py index bd89394733d..0941a34fb2f 100644 --- a/addons/account/models/account_reconcile_model.py +++ b/addons/account/models/account_reconcile_model.py @@ -392,14 +392,17 @@ class AccountReconcileModel(models.Model): aml.date_maturity AS aml_date_maturity, aml.amount_residual AS aml_amount_residual, aml.amount_residual_currency AS aml_amount_residual_currency, - CASE WHEN - REGEXP_REPLACE(st_line.name, '[^0-9]', '', 'g') ~ REGEXP_REPLACE(move.name, '[^0-9]', '', 'g') - OR ( - move.ref IS NOT NULL - AND - REGEXP_REPLACE(st_line.name, '[^0-9]', '', 'g') ~ REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g') - ) - THEN TRUE ELSE FALSE END AS communication_flag + CASE WHEN TRIM(REGEXP_REPLACE(move.name, '[^0-9]', '', 'g')) = '' THEN FALSE + ELSE + TRIM(REGEXP_REPLACE(move.name, '[^0-9]', '', 'g')) + = ANY(regexp_split_to_array(REGEXP_REPLACE(st_line.name, '[^(0-9|\s)]', '', 'g'), '\s+')) + OR ( + move.ref IS NOT NULL + AND TRIM(REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g')) != '' + AND TRIM(REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g')) + = ANY(regexp_split_to_array(REGEXP_REPLACE(st_line.name, '[^(0-9|\s)]', '', 'g'), '\s+')) + ) + END AS communication_flag FROM account_bank_statement_line st_line LEFT JOIN account_journal journal ON journal.id = st_line.journal_id LEFT JOIN jnl_precision ON jnl_precision.journal_id = journal.id @@ -427,13 +430,18 @@ class AccountReconcileModel(models.Model): AND CASE WHEN line_partner.partner_id != 0 THEN aml.partner_id = line_partner.partner_id ELSE - ( - REGEXP_REPLACE(st_line.name, '[^0-9]', '', 'g') ~ REGEXP_REPLACE(move.name, '[^0-9]', '', 'g') - OR ( - move.ref IS NOT NULL - AND - REGEXP_REPLACE(st_line.name, '[^0-9]', '', 'g') ~ REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g') - ) + ( + CASE WHEN TRIM(REGEXP_REPLACE(move.name, '[^0-9]', '', 'g')) = '' THEN FALSE + ELSE + TRIM(REGEXP_REPLACE(move.name, '[^0-9]', '', 'g')) + = ANY(regexp_split_to_array(REGEXP_REPLACE(st_line.name, '[^(0-9|\s)]', '', 'g'), '\s+')) + OR ( + move.ref IS NOT NULL + AND TRIM(REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g')) != '' + AND TRIM(REGEXP_REPLACE(move.ref, '[^0-9]', '', 'g')) + = ANY(regexp_split_to_array(REGEXP_REPLACE(st_line.name, '[^(0-9|\s)]', '', 'g'), '\s+')) + ) + END ) END @@ -676,6 +684,8 @@ class AccountReconcileModel(models.Model): new_aml_dicts = reconciliation_results['new_aml_dicts'] if reconciliation_results['open_balance_dict']: new_aml_dicts.append(reconciliation_results['open_balance_dict']) + if not line.partner_id and partner: + line.partner_id = partner counterpart_moves = line.process_reconciliation( counterpart_aml_dicts=reconciliation_results['counterpart_aml_dicts'], payment_aml_rec=reconciliation_results['payment_aml_rec'], @@ -707,6 +717,8 @@ class AccountReconcileModel(models.Model): new_aml_dicts = reconciliation_results['new_aml_dicts'] if reconciliation_results['open_balance_dict']: new_aml_dicts.append(reconciliation_results['open_balance_dict']) + if not line.partner_id and partner: + line.partner_id = partner counterpart_moves = line.process_reconciliation( counterpart_aml_dicts=reconciliation_results['counterpart_aml_dicts'], payment_aml_rec=reconciliation_results['payment_aml_rec'], diff --git a/addons/account/models/reconciliation_widget.py b/addons/account/models/reconciliation_widget.py index 65f3992c3ba..950cfd60110 100644 --- a/addons/account/models/reconciliation_widget.py +++ b/addons/account/models/reconciliation_widget.py @@ -142,12 +142,19 @@ class AccountReconciliation(models.AbstractModel): bank_statements_left += line.statement_id amls = aml_ids and self.env['account.move.line'].browse(aml_ids) - results['lines'].append({ + line_vals = { 'st_line': self._get_statement_line(line), 'reconciliation_proposition': aml_ids and self._prepare_move_lines(amls) or [], 'model_id': matching_amls[line.id].get('model') and matching_amls[line.id]['model'].id, 'write_off': matching_amls[line.id].get('status') == 'write_off', - }) + } + if not line.partner_id and partner_map.get(line.id): + partner = self.env['res.partner'].browse(partner_map[line.id]) + line_vals.update({ + 'partner_id': partner.id, + 'partner_name': partner.name, + }) + results['lines'].append(line_vals) return results @@ -331,7 +338,11 @@ class AccountReconciliation(models.AbstractModel): rec_prop = aml_ids and self.env['account.move.line'].browse(aml_ids) or self._get_move_line_reconciliation_proposition(account.id, partner_id) row['reconciliation_proposition'] = self._prepare_move_lines(rec_prop, target_currency=currency) row['company_id'] = account.company_id.id - return rows + + # Return the partners with a reconciliation proposition first, since they are most likely to + # be reconciled. + return [r for r in rows if r['reconciliation_proposition']] + [r for r in rows if not r['reconciliation_proposition']] + @api.model def process_move_lines(self, data): diff --git a/addons/account/static/src/js/reconciliation/reconciliation_model.js b/addons/account/static/src/js/reconciliation/reconciliation_model.js index b3e6d56c2f4..c76768103a9 100644 --- a/addons/account/static/src/js/reconciliation/reconciliation_model.js +++ b/addons/account/static/src/js/reconciliation/reconciliation_model.js @@ -365,6 +365,7 @@ var StatementModel = BasicModel.extend({ var handle = _.uniqueId('rline'); self.lines[handle] = { id: res.st_line.id, + partner_id: res.st_line.partner_id, handle: handle, reconciled: false, mode: 'inactive', @@ -1008,6 +1009,11 @@ var StatementModel = BasicModel.extend({ 'display_name': line.reconciliation_proposition[0].partner_name, }, true); } + }else if(!line.st_line.partner_id && line.partner_id && line.partner_name){ + return self.changePartner(line.handle, { + 'id': line.partner_id, + 'display_name': line.partner_name, + }, true); } return true; }) @@ -1386,7 +1392,6 @@ var ManualModel = StatementModel.extend({ } line.reconciliation_proposition = []; }); - if (process_reconciliations.length) { def = self._rpc({ model: 'account.reconciliation.widget', diff --git a/addons/account/views/account_invoice_view.xml b/addons/account/views/account_invoice_view.xml index 1e09d4b6935..2617974de75 100644 --- a/addons/account/views/account_invoice_view.xml +++ b/addons/account/views/account_invoice_view.xml @@ -77,8 +77,11 @@ + + + + context="{'partner_id': partner_id}"/>

@@ -90,9 +93,9 @@ - - - + + + diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index 3d15d0976c3..bb8481bb2dd 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -29,59 +29,6 @@
- -
-
-

How do account types affect your reports?

-
- -
-
- -
-
-
-
diff --git a/addons/account_analytic_default/i18n/da.po b/addons/account_analytic_default/i18n/da.po index d371f17882e..c9696f6743d 100644 --- a/addons/account_analytic_default/i18n/da.po +++ b/addons/account_analytic_default/i18n/da.po @@ -7,16 +7,17 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -51,6 +52,8 @@ msgid "" "An analytic default requires at least an analytic account or an analytic " "tag." msgstr "" +"En analytisk standard kræver mindst en analytisk konto eller en analytisk " +"tag." #. module: account_analytic_default #: model:ir.model.fields,field_description:account_analytic_default.field_account_analytic_default__analytic_id @@ -106,7 +109,7 @@ msgstr "Oprettet den" #. module: account_analytic_default #: model_terms:ir.ui.view,arch_db:account_analytic_default.res_config_settings_view_form msgid "Default Analytic Values" -msgstr "Analytiske Standardværdier" +msgstr "Analytiske standardværdier" #. module: account_analytic_default #: model:ir.model.fields,help:account_analytic_default.field_account_analytic_default__date_stop @@ -223,7 +226,7 @@ msgstr "Vælg en bruger som vil bruge analysekonto som standard." #. module: account_analytic_default #: model:ir.model.fields,field_description:account_analytic_default.field_account_analytic_default__sequence msgid "Sequence" -msgstr "Rækkefølge" +msgstr "Sekvens" #. module: account_analytic_default #: model:ir.model.fields,field_description:account_analytic_default.field_account_analytic_default__date_start diff --git a/addons/account_bank_statement_import/i18n/da.po b/addons/account_bank_statement_import/i18n/da.po index cfdb091f5fc..c7798a0b424 100644 --- a/addons/account_bank_statement_import/i18n/da.po +++ b/addons/account_bank_statement_import/i18n/da.po @@ -12,12 +12,13 @@ # Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" "Last-Translator: lhmflexerp , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -104,12 +105,12 @@ msgstr "Allerede importerede posteringer" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__at_least_one_inbound msgid "At Least One Inbound" -msgstr "Mindst En Indgående" +msgstr "Mindst én indgående" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__at_least_one_outbound msgid "At Least One Outbound" -msgstr "Mindst En Udgående" +msgstr "Mindst én udgående" #. module: account_bank_statement_import #: code:addons/account_bank_statement_import/account_bank_statement_import.py:82 @@ -236,7 +237,7 @@ msgstr "" #. 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 "Kreditnotaer: Næste Nummer" +msgstr "Kreditnotaer: Næste nummer" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__currency_id @@ -409,7 +410,7 @@ msgstr "" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__kanban_dashboard msgid "Kanban Dashboard" -msgstr "Kanban rollecenter" +msgstr "Kanban dashboard" #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__kanban_dashboard_graph @@ -507,7 +508,7 @@ msgstr "Rækkefølge" #. module: account_bank_statement_import #: model:ir.model.fields,help:account_bank_statement_import.field_account_bank_statement_import_journal_creation__active msgid "Set active to false to hide the Journal without removing it." -msgstr "Sæt aktiv til falsk for at skjule Journalen uden at fjerne den." +msgstr "Sæt aktiv til falsk for at skjule journalen uden at fjerne den." #. module: account_bank_statement_import #: model:ir.model.fields,field_description:account_bank_statement_import.field_account_bank_statement_import_journal_creation__code @@ -656,8 +657,8 @@ msgid "" "You have to set a Default Debit Account and a Default Credit Account for the" " journal: %s" msgstr "" -"Du skal angive en default debet konto og en default kredit konto for denne " -"journal: %s" +"Du skal angive en standard debet konto og en standard kredit konto for denne" +" journal: %s" #. module: account_bank_statement_import #: model_terms:ir.ui.view,arch_db:account_bank_statement_import.account_bank_statement_import_view diff --git a/addons/account_cancel/i18n/da.po b/addons/account_cancel/i18n/da.po index 4fb2c7ea675..1ab03a5edda 100644 --- a/addons/account_cancel/i18n/da.po +++ b/addons/account_cancel/i18n/da.po @@ -6,12 +6,13 @@ # Martin Trigaux, 2018 # Sanne Kristensen , 2018 # lhmflexerp , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" "Last-Translator: lhmflexerp , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -40,7 +41,7 @@ msgstr "Fortryd indtastning" #. module: account_cancel #: model_terms:ir.ui.view,arch_db:account_cancel.bank_statement_draft_form_inherit msgid "Reset to New" -msgstr "Nulstil til Ny" +msgstr "Nulstil til ny" #. module: account_cancel #: model_terms:ir.ui.view,arch_db:account_cancel.bank_statement_cancel_form_inherit diff --git a/addons/account_check_printing/i18n/da.po b/addons/account_check_printing/i18n/da.po index 97fea06ac8b..fbd44e1617b 100644 --- a/addons/account_check_printing/i18n/da.po +++ b/addons/account_check_printing/i18n/da.po @@ -9,13 +9,15 @@ # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -158,7 +160,7 @@ msgstr "" #. module: account_check_printing #: model:ir.model,name:account_check_printing.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: account_check_printing #: model:ir.model.fields,field_description:account_check_printing.field_print_prenumbered_checks__create_uid @@ -227,7 +229,7 @@ msgstr "" #: model:ir.model.fields,field_description:account_check_printing.field_account_journal__check_next_number #: model:ir.model.fields,field_description:account_check_printing.field_print_prenumbered_checks__next_check_number msgid "Next Check Number" -msgstr "Næste check nummer" +msgstr "Næste checknummer" #. module: account_check_printing #: selection:res.company,account_check_printing_layout:0 diff --git a/addons/account_payment/i18n/da.po b/addons/account_payment/i18n/da.po index 447b891f49b..6dcb6ec4681 100644 --- a/addons/account_payment/i18n/da.po +++ b/addons/account_payment/i18n/da.po @@ -118,7 +118,7 @@ msgstr "" #: code:addons/account_payment/controllers/payment.py:44 #, python-format msgid "Pay & Confirm" -msgstr "Betal & Bekræft" +msgstr "Betal & bekræft" #. module: account_payment #: code:addons/account_payment/models/payment.py:22 diff --git a/addons/account_tax_python/i18n/da.po b/addons/account_tax_python/i18n/da.po index 43ed9644698..021eb0feda6 100644 --- a/addons/account_tax_python/i18n/da.po +++ b/addons/account_tax_python/i18n/da.po @@ -6,12 +6,13 @@ # Martin Trigaux, 2018 # Pernille Kristensen , 2018 # Sanne Kristensen , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" "Last-Translator: Sanne Kristensen , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -96,7 +97,7 @@ msgstr "Procent af pris" #: selection:account.tax,amount_type:0 #: selection:account.tax.template,amount_type:0 msgid "Percentage of Price Tax Included" -msgstr "Procentdel af pris inklusiv skat" +msgstr "Procentdel af pris inklusiv moms" #. module: account_tax_python #: selection:account.tax,amount_type:0 @@ -120,4 +121,4 @@ msgstr "Momsberegning" #. module: account_tax_python #: model:ir.model,name:account_tax_python.model_account_tax_template msgid "Templates for Taxes" -msgstr "Moms skabeloner" +msgstr "Momsskabeloner" diff --git a/addons/account_test/i18n/da.po b/addons/account_test/i18n/da.po index b18f868c3da..2ca0675b647 100644 --- a/addons/account_test/i18n/da.po +++ b/addons/account_test/i18n/da.po @@ -4,19 +4,19 @@ # # Translators: # Martin Trigaux, 2018 -# jonas jensen , 2018 # Visti Kristensen , 2018 # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 # Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" "Last-Translator: Ejner Sønniksen , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -54,12 +54,12 @@ msgstr "" #: model:ir.actions.report,name:account_test.account_assert_test_report #: model:ir.ui.menu,name:account_test.menu_action_license msgid "Accounting Tests" -msgstr "Bogførings tests" +msgstr "Regnskabstests" #. module: account_test #: model_terms:ir.ui.view,arch_db:account_test.report_accounttest msgid "Accouting tests on" -msgstr "Regnskabs test aktiveret" +msgstr "Regnskabstest aktiveret" #. module: account_test #: model:ir.model.fields,field_description:account_test.field_accounting_assert_test__active @@ -69,7 +69,7 @@ msgstr "Aktiv" #. module: account_test #: model:accounting.assert.test,desc:account_test.account_test_03 msgid "Check if movement lines are balanced and have the same date and period" -msgstr "Tjek om flytte linier er i balance og har samme dato og periode" +msgstr "Tjek om flyttede linjer er i balance og har samme dato og periode" #. module: account_test #: model:accounting.assert.test,desc:account_test.account_test_07 @@ -110,7 +110,7 @@ msgstr "Tjek balancen: Debet sum = Kredit sum" #. module: account_test #: model_terms:ir.ui.view,arch_db:account_test.account_assert_form msgid "Code Help" -msgstr "Kode Hjælp" +msgstr "Kode hjælp" #. module: account_test #: model_terms:ir.ui.view,arch_db:account_test.account_assert_form @@ -203,7 +203,7 @@ msgstr "Python code" #. module: account_test #: model:ir.model.fields,field_description:account_test.field_accounting_assert_test__sequence msgid "Sequence" -msgstr "Rækkefølge" +msgstr "Sekvens" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_01 @@ -224,7 +224,7 @@ msgstr "Test 5.1 : Kreditor og Debitor posteringer fra udlignede fakturaer" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_05_2 msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts" -msgstr "Test 5.2 : Udlignede fakturaer og Kreditor/Debitor konti" +msgstr "Test 5.2 : Udlignede fakturaer og kreditor/debitor konti" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_06 diff --git a/addons/account_voucher/i18n/da.po b/addons/account_voucher/i18n/da.po index a2a616ffe8f..f3b219db7cf 100644 --- a/addons/account_voucher/i18n/da.po +++ b/addons/account_voucher/i18n/da.po @@ -57,7 +57,7 @@ msgstr "Bogføringsdato" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_voucher msgid "Accounting Voucher" -msgstr "Regnskabs bilag" +msgstr "Bogføringsbilag" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_voucher_line @@ -67,7 +67,7 @@ msgstr "" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher__message_needaction msgid "Action Needed" -msgstr "Aktion påkrævet" +msgstr "Handling påkrævet" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher_line__price_subtotal @@ -252,7 +252,7 @@ msgstr "ID" #. module: account_voucher #: model:ir.model.fields,help:account_voucher.field_account_voucher__message_unread msgid "If checked new messages require your attention." -msgstr "Hvis afmærket, kræver nye beskeder din attention" +msgstr "Hvis afmærket, kræver nye beskeder din opmærksomhed" #. module: account_voucher #: model:ir.model.fields,help:account_voucher.field_account_voucher__message_needaction @@ -281,7 +281,7 @@ msgstr "Interne noter" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher__message_is_follower msgid "Is Follower" -msgstr "Følger" +msgstr "Er følger" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher__journal_id @@ -360,7 +360,7 @@ msgstr "Nummer" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher__message_needaction_counter msgid "Number of Actions" -msgstr "Antal aktioner" +msgstr "Antal handlinger" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher__message_has_error_counter @@ -518,7 +518,7 @@ msgstr "Søg bilag" #. module: account_voucher #: model:ir.model.fields,field_description:account_voucher.field_account_voucher_line__sequence msgid "Sequence" -msgstr "Rækkefølge" +msgstr "Sekvens" #. module: account_voucher #: model_terms:ir.ui.view,arch_db:account_voucher.view_purchase_receipt_form @@ -652,7 +652,7 @@ msgstr "Bilagsposteringer" #: model_terms:ir.ui.view,arch_db:account_voucher.view_voucher_line_form #: model_terms:ir.ui.view,arch_db:account_voucher.view_voucher_line_tree msgid "Voucher Lines" -msgstr "Bilagslinier" +msgstr "Bilagslinjer" #. module: account_voucher #: model_terms:ir.ui.view,arch_db:account_voucher.account_cash_statement_graph diff --git a/addons/analytic/i18n/da.po b/addons/analytic/i18n/da.po index 75c88e723dc..bd654b7ac60 100644 --- a/addons/analytic/i18n/da.po +++ b/addons/analytic/i18n/da.po @@ -29,7 +29,7 @@ msgstr "" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_needaction msgid "Action Needed" -msgstr "Aktion påkrævet" +msgstr "Handling påkrævet" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__active @@ -125,7 +125,7 @@ msgstr "Analytiske emner" #. module: analytic #: model:ir.model,name:analytic.model_account_analytic_line msgid "Analytic Line" -msgstr "Analytisk linie" +msgstr "Analytisk linje" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__line_ids @@ -324,7 +324,7 @@ msgstr "ID" #. module: analytic #: model:ir.model.fields,help:analytic.field_account_analytic_account__message_unread msgid "If checked new messages require your attention." -msgstr "Hvis afmærket, kræver nye beskeder din attention" +msgstr "Hvis afmærket, kræver nye beskeder din opmærksomhed" #. module: analytic #: model:ir.model.fields,help:analytic.field_account_analytic_account__message_needaction @@ -360,7 +360,7 @@ msgstr "" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_is_follower msgid "Is Follower" -msgstr "Følger" +msgstr "Er følger" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account____last_update @@ -424,7 +424,7 @@ msgstr "" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_needaction_counter msgid "Number of Actions" -msgstr "Antal aktioner" +msgstr "Antal handlinger" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_has_error_counter @@ -554,7 +554,7 @@ msgstr "Ulæste beskeder" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_unread_counter msgid "Unread Messages Counter" -msgstr "Ulæste besked tæller" +msgstr "Ulæste beskedtæller" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_line__user_id diff --git a/addons/analytic/i18n/zh_CN.po b/addons/analytic/i18n/zh_CN.po index 9d3fe0d9755..108a11c5d40 100644 --- a/addons/analytic/i18n/zh_CN.po +++ b/addons/analytic/i18n/zh_CN.po @@ -31,7 +31,7 @@ msgstr "" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__message_needaction msgid "Action Needed" -msgstr "需要激活" +msgstr "需要采取行动" #. module: analytic #: model:ir.model.fields,field_description:analytic.field_account_analytic_account__active diff --git a/addons/auth_ldap/i18n/da.po b/addons/auth_ldap/i18n/da.po index 5d9bed60e58..c01fde11814 100644 --- a/addons/auth_ldap/i18n/da.po +++ b/addons/auth_ldap/i18n/da.po @@ -7,13 +7,15 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -41,17 +43,17 @@ msgstr "Virksomhed" #. module: auth_ldap #: model:ir.model,name:auth_ldap.model_res_company_ldap msgid "Company LDAP configuration" -msgstr "" +msgstr "Virksomhed LDAP konfiguration" #. module: auth_ldap #: model:ir.model,name:auth_ldap.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: auth_ldap #: model:ir.model.fields,field_description:auth_ldap.field_res_company_ldap__create_user msgid "Create User" -msgstr "Opret Bruger" +msgstr "Opret bruger" #. module: auth_ldap #: model:ir.model.fields,field_description:auth_ldap.field_res_company_ldap__create_uid @@ -145,6 +147,8 @@ msgstr "Login-information" #, python-format msgid "No local user found for LDAP login and not configured to create one" msgstr "" +"Ingen lokal bruger er fundet for LDAP login og den er ikke konfigureret til " +"at oprette en" #. module: auth_ldap #: model_terms:ir.ui.view,arch_db:auth_ldap.view_ldap_installer_form @@ -164,7 +168,7 @@ msgstr "" #. module: auth_ldap #: model:ir.model.fields,field_description:auth_ldap.field_res_company_ldap__sequence msgid "Sequence" -msgstr "Rækkefølge" +msgstr "Sekvens" #. module: auth_ldap #: model_terms:ir.ui.view,arch_db:auth_ldap.view_ldap_installer_form diff --git a/addons/auth_ldap/i18n/zh_CN.po b/addons/auth_ldap/i18n/zh_CN.po index 3190f99f431..77ce7c34407 100644 --- a/addons/auth_ldap/i18n/zh_CN.po +++ b/addons/auth_ldap/i18n/zh_CN.po @@ -4,6 +4,7 @@ # # Translators: # Martin Trigaux, 2018 +# Jeffery CHEN Fan , 2018 # inspur qiuguodong , 2018 # kun zhang , 2018 # @@ -108,7 +109,7 @@ msgstr "LDAP 基节点" #. module: auth_ldap #: model:ir.model.fields,field_description:auth_ldap.field_res_company_ldap__ldap_binddn msgid "LDAP binddn" -msgstr "LDAP协议" +msgstr "LDAP 绑定dn" #. module: auth_ldap #: model:ir.model.fields,field_description:auth_ldap.field_res_company_ldap__ldap_filter diff --git a/addons/auth_oauth/i18n/da.po b/addons/auth_oauth/i18n/da.po index 6e17181278a..efcab7e2457 100644 --- a/addons/auth_oauth/i18n/da.po +++ b/addons/auth_oauth/i18n/da.po @@ -8,13 +8,15 @@ # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -25,7 +27,7 @@ msgstr "" #. module: auth_oauth #: model_terms:ir.ui.view,arch_db:auth_oauth.providers msgid "- or -" -msgstr "" +msgstr "- eller -" #. module: auth_oauth #: model_terms:ir.ui.view,arch_db:auth_oauth.res_config_settings_view_form @@ -77,12 +79,12 @@ msgstr "Kunde ID" #. module: auth_oauth #: model_terms:ir.ui.view,arch_db:auth_oauth.res_config_settings_view_form msgid "Client ID:" -msgstr "" +msgstr "Kunde ID:" #. module: auth_oauth #: model:ir.model,name:auth_oauth.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: auth_oauth #: model:ir.model.fields,field_description:auth_oauth.field_auth_oauth_provider__create_uid @@ -107,7 +109,7 @@ msgstr "Vis navn" #. module: auth_oauth #: model_terms:ir.ui.view,arch_db:auth_oauth.res_config_settings_view_form msgid "Google Authentication" -msgstr "" +msgstr "Google godkendelse" #. module: auth_oauth #: model:ir.model.fields,field_description:auth_oauth.field_auth_oauth_provider__id @@ -204,7 +206,7 @@ msgstr "Sign up er ikke tilladt på denne database." #. module: auth_oauth #: model:ir.model,name:auth_oauth.model_ir_config_parameter msgid "System Parameter" -msgstr "" +msgstr "Systemparameter" #. module: auth_oauth #: model:ir.model,name:auth_oauth.model_res_users diff --git a/addons/auth_oauth/i18n/it.po b/addons/auth_oauth/i18n/it.po index 55a9ddcff55..f78bba8d625 100644 --- a/addons/auth_oauth/i18n/it.po +++ b/addons/auth_oauth/i18n/it.po @@ -3,18 +3,19 @@ # * auth_oauth # # Translators: -# Sergio Zanchetta , 2018 # Martin Trigaux, 2018 # Paolo Valier, 2018 # Pietro Della Notte , 2018 # Léonie Bouchat , 2018 +# Sergio Zanchetta , 2018 +# 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: Léonie Bouchat , 2018\n" +"PO-Revision-Date: 2018-08-24 09:15+0000\n" +"Last-Translator: Sergio Zanchetta , 2018\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" @@ -204,7 +205,7 @@ msgstr "L'accesso non è permesso su questo database" #. module: auth_oauth #: model:ir.model,name:auth_oauth.model_ir_config_parameter msgid "System Parameter" -msgstr "" +msgstr "Parametro di sistema" #. module: auth_oauth #: model:ir.model,name:auth_oauth.model_res_users diff --git a/addons/auth_password_policy/i18n/da.po b/addons/auth_password_policy/i18n/da.po index 4286fee94ac..e2890e40ceb 100644 --- a/addons/auth_password_policy/i18n/da.po +++ b/addons/auth_password_policy/i18n/da.po @@ -4,13 +4,15 @@ # # Translators: # Martin Trigaux, 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" -"PO-Revision-Date: 2018-10-08 06:48+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" +"PO-Revision-Date: 2018-10-08 07:10+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -21,7 +23,7 @@ msgstr "" #. module: auth_password_policy #: model:ir.model,name:auth_password_policy.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: auth_password_policy #: model:ir.model.fields,field_description:auth_password_policy.field_res_config_settings__minlength diff --git a/addons/auth_signup/i18n/da.po b/addons/auth_signup/i18n/da.po index 2f46680c55f..813ff214c0b 100644 --- a/addons/auth_signup/i18n/da.po +++ b/addons/auth_signup/i18n/da.po @@ -4,17 +4,18 @@ # # Translators: # Martin Trigaux, 2018 -# Hans Henrik Gabelgaard , 2018 # Morten Schou , 2018 # Pernille Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -28,12 +29,14 @@ msgid "" "${object.create_uid.name} from ${object.company_id.name} invites you to " "connect to Odoo" msgstr "" +"${object.create_uid.name} from ${object.company_id.name} inviterer dig til " +"at oprette forbindelse til Odoo" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:126 #, python-format msgid "%s connected" -msgstr "" +msgstr "%s Forbundet" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_users_view_form @@ -141,6 +144,90 @@ msgid "" "\n" "" msgstr "" +"\n" +"\n" +"\n" +"
\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" Velkommen til Odoo
\n" +" \n" +" ${object.name}\n" +" \n" +"
\n" +" \"${object.company_id.name}\"/\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +"
\n" +" Kære ${object.name},

\n" +" Du er inviteret af ${object.create_uid.name} fra ${object.company_id.name} til at oprette forbindelse til Odoo.\n" +" \n" +" % set website_url = object.env['ir.config_parameter'].sudo().get_param('web.base.url')\n" +" Dit Odoo-domæne er: ${website_url}
\n" +" Din registrerings e-mail er: ${object.email}

\n" +" Har du aldrig hørt om Odoo? Det er et alt-i-et-ERP system, der er har +3 millioner brugere. Det vil forbedre din oplevelse på arbejdspladsen betydeligt og øge produktiviteten.\n" +"

\n" +" Prøv at se her Odoo Tour for at opleve systemet\n" +"

\n" +" God fornøjelse med Odoo!
\n" +" --
Hilsen ${object.company_id.name} \n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" ${object.company_id.name}\n" +"
\n" +" ${object.company_id.phone}\n" +" % if object.company_id.email\n" +" | ${object.company_id.email}\n" +" % endif\n" +" % if object.company_id.website\n" +" | \n" +" ${object.company_id.website}\n" +" \n" +" % endif\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +"
\n" +" Powered by Odoo\n" +"
\n" +"
" #. module: auth_signup #: model:mail.template,body_html:auth_signup.reset_password_email @@ -226,6 +313,86 @@ msgid "" "\n" " " msgstr "" +"\n" +"\n" +"\n" +"
\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" Din konto
\n" +" \n" +" ${object.name}\n" +" \n" +"
\n" +" \"${object.company_id.name}\"/\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +"
\n" +" Kære ${object.name},

\n" +" Der blev anmodet om en nulstilling af adgangskoden til den Odoo konto, der var knyttet til denne e-mail.\n" +" Du kan ændre dit kodeord ved at følge dette link, som forbliver gyldigt i de næste 24 timer:
\n" +" \n" +" Hvis du ikke forventer dette, kan du ignorere denne e-mail.

\n" +" Tak,
\n" +" ${user.signature | safe}
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" ${object.company_id.name}\n" +"
\n" +" ${object.company_id.phone}\n" +" % if object.company_id.email\n" +" | ${object.company_id.email}\n" +" % endif\n" +" % if object.company_id.website\n" +" | \n" +" ${object.company_id.website}\n" +" \n" +" % endif\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +"
\n" +" Powered by Odoo\n" +"
\n" +"
\n" +" " #. module: auth_signup #: model:mail.template,body_html:auth_signup.mail_template_user_signup_account_created @@ -310,11 +477,90 @@ msgid "" "\n" "" msgstr "" +"\n" +"\n" +"\n" +"
\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" Din konto
\n" +" \n" +" ${object.name}\n" +" \n" +"
\n" +" \"${object.company_id.name}\"/\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +"
\n" +" Kære ${object.name},

\n" +" Din konto er blevet oprettet!
\n" +" Dit login er ${object.email}
\n" +" For at få adgang til din konto, kan du bruge følgende link:\n" +" \n" +" Tak,

\n" +" ${user.signature | safe}
\n" +"
\n" +"
\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +" \n" +"
\n" +" ${object.company_id.name}\n" +"
\n" +" ${object.company_id.phone}\n" +" % if object.company_id.email\n" +" | ${object.company_id.email}\n" +" % endif\n" +" % if object.company_id.website\n" +" | \n" +" ${object.company_id.website}\n" +" \n" +" % endif\n" +"
\n" +"
\n" +"
\n" +" \n" +" \n" +"
\n" +" Powered by Odoo\n" +"
\n" +"
" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.signup msgid "Already have an account?" -msgstr "" +msgstr "Har du allerede en konto?" #. module: auth_signup #: code:addons/auth_signup/controllers/main.py:80 @@ -340,7 +586,7 @@ msgstr "Godkendelse mislykkedes." #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.reset_password msgid "Back to Login" -msgstr "Tilbage til log ind" +msgstr "Tilbage til login" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:199 @@ -356,7 +602,7 @@ msgstr "Luk" #. module: auth_signup #: model:ir.model,name:auth_signup.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.reset_password @@ -393,12 +639,12 @@ msgstr "Kunne ikke nulstille din adgangskode" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_config_settings__auth_signup_uninvited msgid "Customer Account" -msgstr "" +msgstr "Konto" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_config_settings_view_form msgid "Default Access Rights" -msgstr "Standard Adgangsrettigheder" +msgstr "Standard adgangsrettigheder" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.login @@ -409,18 +655,18 @@ msgstr "Har ikke en konto?" #: model:ir.model.fields,field_description:auth_signup.field_res_config_settings__auth_signup_reset_password #: model_terms:ir.ui.view,arch_db:auth_signup.res_config_settings_view_form msgid "Enable password reset from Login page" -msgstr "Tillad nulstilling af adgangskode fra log ind siden." +msgstr "Tillad nulstilling af adgangskode fra login siden." #. module: auth_signup #: model:ir.model,name:auth_signup.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: auth_signup #: code:addons/auth_signup/controllers/main.py:115 #, python-format msgid "Invalid signup token" -msgstr "Ugyldigt tilmeldings token" +msgstr "Ugyldigt tilmeldingstoken" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_config_settings_view_form @@ -436,7 +682,7 @@ msgstr "Aldrig forbundet" #: code:addons/auth_signup/controllers/main.py:75 #, python-format msgid "No login provided." -msgstr "" +msgstr "Ingen login angivet." #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.fields @@ -446,7 +692,7 @@ msgstr "Adgangskode" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_config_settings_view_form msgid "Password Reset" -msgstr "" +msgstr "Nulstil adgangskode" #. module: auth_signup #: model:mail.template,subject:auth_signup.reset_password_email @@ -457,7 +703,7 @@ msgstr "Nulstilling af adgangskode" #: code:addons/auth_signup/controllers/main.py:125 #, python-format msgid "Passwords do not match; please retype them." -msgstr "Passwordsene matcher ikke; prøv venligst igen." +msgstr "Adgangskoderne matcher ikke; prøv venligst igen." #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.login @@ -468,7 +714,7 @@ msgstr "Nulstil adgangskode" #: code:addons/auth_signup/models/res_users.py:163 #, python-format msgid "Reset password: invalid username or email" -msgstr "Nulstil adgangskode: ugyldigt brugernavn eller email" +msgstr "Nulstil adgangskode: ugyldigt brugernavn eller e-mail" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_users_view_form @@ -478,7 +724,7 @@ msgstr "Send instruktioner til at nulstille adgangskode " #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_users_view_form msgid "Send an Invitation Email" -msgstr "Send en invitations email" +msgstr "Send en invitations e-mail" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.signup @@ -489,67 +735,67 @@ msgstr "Tilmeld dig" #: model:ir.model.fields,field_description:auth_signup.field_res_partner__signup_expiration #: model:ir.model.fields,field_description:auth_signup.field_res_users__signup_expiration msgid "Signup Expiration" -msgstr "" +msgstr "Tilmelding er udløb" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_partner__signup_token #: model:ir.model.fields,field_description:auth_signup.field_res_users__signup_token msgid "Signup Token" -msgstr "" +msgstr "Tilmeldingstoken" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_partner__signup_type #: model:ir.model.fields,field_description:auth_signup.field_res_users__signup_type msgid "Signup Token Type" -msgstr "" +msgstr "Type på tilmeldingstoken" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_partner__signup_valid #: model:ir.model.fields,field_description:auth_signup.field_res_users__signup_valid msgid "Signup Token is Valid" -msgstr "" +msgstr "Tilmeldingstoken er gyldig" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_partner__signup_url #: model:ir.model.fields,field_description:auth_signup.field_res_users__signup_url msgid "Signup URL" -msgstr "" +msgstr "Tilmeldings URL" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:117 #, python-format msgid "Signup is not allowed for uninvited users" -msgstr "" +msgstr "Tilmelding er ikke tilladt for ikke inviterede brugere" #. module: auth_signup #: code:addons/auth_signup/models/res_partner.py:149 #, python-format msgid "Signup token '%s' is no longer valid" -msgstr "" +msgstr "Tilmeldingstoken '%s' er ikke længere gyldig" #. module: auth_signup #: code:addons/auth_signup/models/res_partner.py:145 #, python-format msgid "Signup token '%s' is not valid" -msgstr "" +msgstr "Tilmeldingstoken '%s' er ikke gyldig" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:138 #, python-format msgid "Signup: invalid template user" -msgstr "" +msgstr "Tilmelding: ugyldig skabelonbruger" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:141 #, python-format msgid "Signup: no login given for new user" -msgstr "" +msgstr "Tilmelding: Ingen login er givet til ny bruger" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:143 #, python-format msgid "Signup: no name or partner given for new user" -msgstr "" +msgstr "Tilmelding: Intet navn eller partner er givet til ny bruger" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_users__state @@ -565,13 +811,13 @@ msgstr "\"Skabelonbruger\" for nye brugere, som oprettes gennem tilmelding" #: code:addons/auth_signup/controllers/main.py:123 #, python-format msgid "The form was not properly filled in." -msgstr "" +msgstr "Formularen blev ikke korrekt udfyldt." #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:127 #, python-format msgid "This is his first connection. Wish him welcome" -msgstr "" +msgstr "Dette er hans første forbindelse. Ønsk ham velkommen" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.res_config_settings_view_form @@ -580,6 +826,9 @@ msgid "" "list view and click on 'Portal Access Management' option in the dropdown " "menu *Action*." msgstr "" +"Hvis du vil sende invitationer i B2B-tilstand, skal du åbne en kontakt eller" +" vælge flere i listevisning og klikke på 'Portal Access Management' i " +"rullemenuen *Handling*." #. module: auth_signup #: model:ir.model,name:auth_signup.model_res_users @@ -605,4 +854,4 @@ msgstr "Dit navn" #. module: auth_signup #: model_terms:ir.ui.view,arch_db:auth_signup.fields msgid "e.g. John Doe" -msgstr "" +msgstr "e.g. John Doe" diff --git a/addons/auth_signup/i18n/zh_CN.po b/addons/auth_signup/i18n/zh_CN.po index 70528de42d9..b17f8d686a4 100644 --- a/addons/auth_signup/i18n/zh_CN.po +++ b/addons/auth_signup/i18n/zh_CN.po @@ -5,8 +5,9 @@ # Translators: # Martin Trigaux, 2018 # ChinaMaker , 2018 -# liAnGjiA , 2018 # inspur qiuguodong , 2018 +# liAnGjiA , 2018 +# Jeffery CHEN Fan , 2018 # 广州救火 <7017511@qq.com>, 2018 # msgid "" @@ -780,13 +781,13 @@ msgstr "登入: 无效用户模板" #: code:addons/auth_signup/models/res_users.py:141 #, python-format msgid "Signup: no login given for new user" -msgstr "登入:没有为新用户提供登录" +msgstr "注册:没有为新用户提供登录" #. module: auth_signup #: code:addons/auth_signup/models/res_users.py:143 #, python-format msgid "Signup: no name or partner given for new user" -msgstr "登入:没有为新用户指定名称或合作伙伴" +msgstr "注册:没有为新用户指定名称或合作伙伴" #. module: auth_signup #: model:ir.model.fields,field_description:auth_signup.field_res_users__state diff --git a/addons/barcodes/i18n/da.po b/addons/barcodes/i18n/da.po index c425f9aa8c8..a01db15c304 100644 --- a/addons/barcodes/i18n/da.po +++ b/addons/barcodes/i18n/da.po @@ -7,16 +7,17 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -34,19 +35,19 @@ msgstr "" #: code:addons/barcodes/models/barcodes.py:202 #, python-format msgid ": a rule can only contain one pair of braces." -msgstr "" +msgstr ": en regel kan kun indeholde et par parenteser." #. module: barcodes #: code:addons/barcodes/models/barcodes.py:198 #, python-format msgid ": braces can only contain N's followed by D's." -msgstr "" +msgstr ": parenteser kan kun indeholde N'er efterfulgt af D'er." #. module: barcodes #: code:addons/barcodes/models/barcodes.py:200 #, python-format msgid ": empty braces." -msgstr "" +msgstr ": tomme parenteser." #. module: barcodes #: model_terms:ir.ui.view,arch_db:barcodes.view_barcode_nomenclature_form @@ -56,6 +57,10 @@ msgid "" " pattern. The pattern syntax is that of regular expression, and a barcode is matched\n" " if the regular expression matches a prefix of the barcode." msgstr "" +"Stregkode nomenklatures definere hvordan stregkoder genkendes og kategoriseres.\n" +" Når en stregkode scannes, er den forbundet med den første regel med en matchende\n" +" mønster. Mønstersyntaxen er det almindelige udtryk, og en stregkode matches\n" +" hvis det regulære udtryk matcher et præfiks for stregkoden." #. module: barcodes #: model_terms:ir.actions.act_window,help:barcodes.action_barcode_nomenclature_form @@ -63,11 +68,13 @@ msgid "" "A barcode nomenclature defines how the point of sale identify and interprets" " barcodes" msgstr "" +"En stregkodes nomenklatur definerer, hvordan butikken identificerer og " +"fortolker stregkoder" #. module: barcodes #: model_terms:ir.actions.act_window,help:barcodes.action_barcode_nomenclature_form msgid "Add a new barcode nomenclature" -msgstr "" +msgstr "Tilføj en ny stregkode nomenklatur" #. module: barcodes #: selection:barcode.rule,type:0 @@ -83,7 +90,7 @@ msgstr "Altid" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__name msgid "An internal identification for this barcode nomenclature rule" -msgstr "En intern identifikation af sdenne tregkodes nomenklaturregel" +msgstr "En intern identifikation af denne stregkodes nomenklature regel" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_nomenclature__name @@ -98,7 +105,7 @@ msgstr "Enhver" #. module: barcodes #: model:ir.model,name:barcodes.model_barcodes_barcode_events_mixin msgid "Barcode Event Mixin" -msgstr "" +msgstr "Stregkode Event Mixin" #. module: barcodes #: model:ir.model,name:barcodes.model_barcode_nomenclature @@ -138,7 +145,7 @@ msgstr "Ekspedient" #. module: barcodes #: selection:barcode.rule,type:0 msgid "Client" -msgstr "Klient" +msgstr "Kunde" #. module: barcodes #: model:ir.model,name:barcodes.model_res_company @@ -206,21 +213,21 @@ msgstr "Kodning" #: code:addons/barcodes/static/src/js/barcode_form_view.js:326 #, python-format msgid "Error: Barcode command is undefined" -msgstr "" +msgstr "Fejl: Stregkodekommandoen er udefineret" #. module: barcodes #. openerp-web #: code:addons/barcodes/static/src/js/barcode_form_view.js:63 #, python-format msgid "Error: Document not editable" -msgstr "" +msgstr "Fejl: Dokument kan ikke redigeres" #. module: barcodes #. openerp-web #: code:addons/barcodes/static/src/js/barcode_form_view.js:362 #, python-format msgid "Error: No last scanned barcode" -msgstr "" +msgstr "Fejl: Ingen sidste scannet stregkode" #. module: barcodes #. openerp-web @@ -230,12 +237,12 @@ msgstr "" #: code:addons/barcodes/static/src/js/barcode_form_view.js:139 #, python-format msgid "Error: Pager not available" -msgstr "" +msgstr "Fejl: Pager er ikke tilgængelig" #. module: barcodes #: model:ir.model,name:barcodes.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: barcodes #: model:ir.model.fields,field_description:barcodes.field_barcode_nomenclature__id @@ -281,7 +288,7 @@ msgstr "Aldrig" #. module: barcodes #: model:ir.model.fields,field_description:barcodes.field_res_company__nomenclature_id msgid "Nomenclature" -msgstr "" +msgstr "Nomenklature" #. module: barcodes #: selection:barcode.rule,type:0 @@ -307,7 +314,7 @@ msgstr "Prissat produkt" #. module: barcodes #: model:ir.model.fields,field_description:barcodes.field_barcode_rule__name msgid "Rule Name" -msgstr "Regel Navn" +msgstr "Regelnavn" #. module: barcodes #: model:ir.model.fields,field_description:barcodes.field_barcode_nomenclature__rule_ids @@ -341,17 +348,17 @@ msgstr "Borde" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__pattern msgid "The barcode matching pattern" -msgstr "" +msgstr "Stregkode matchende mønster" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_nomenclature__rule_ids msgid "The list of barcode rules" -msgstr "" +msgstr "Listen over stregkoderegler" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__alias msgid "The matched pattern will alias to this barcode" -msgstr "" +msgstr "Det matchede mønster vil passe til denne stregkode" #. module: barcodes #: code:addons/barcodes/models/barcodes.py:198 @@ -359,7 +366,7 @@ msgstr "" #: code:addons/barcodes/models/barcodes.py:202 #, python-format msgid "There is a syntax error in the barcode pattern " -msgstr "" +msgstr "Der er en syntaksfejl i stregkodemønsteret" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__encoding @@ -367,13 +374,14 @@ msgid "" "This rule will apply only if the barcode is encoded with the specified " "encoding" msgstr "" +"Denne regel gælder kun hvis stregkoden er kodet med den angivne kodning" #. module: barcodes #. openerp-web #: code:addons/barcodes/static/src/js/barcode_form_view.js:64 #, python-format msgid "To modify this document, please first start edition." -msgstr "" +msgstr "For at ændre dette dokument, bedes du først aktivere redigering." #. module: barcodes #. openerp-web @@ -403,7 +411,7 @@ msgstr "UPC-A" #. module: barcodes #: selection:barcode.nomenclature,upc_ean_conv:0 msgid "UPC-A to EAN-13" -msgstr "" +msgstr "UPC-A til EAN-13" #. module: barcodes #: model:ir.model.fields,field_description:barcodes.field_barcode_nomenclature__upc_ean_conv @@ -413,13 +421,15 @@ msgstr "UPC/EAN Konvertering" #. module: barcodes #: selection:barcode.rule,type:0 msgid "Unit Product" -msgstr "" +msgstr "Stk. produkt" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcode_rule__sequence msgid "" "Used to order rules such that rules with a smaller sequence match first" msgstr "" +"Bruges til at bestille regler, sådan at regler med en mindre sekvens matcher" +" først" #. module: barcodes #: model:ir.model.fields,help:barcodes.field_barcodes_barcode_events_mixin___barcode_scanned diff --git a/addons/base_address_city/i18n/da.po b/addons/base_address_city/i18n/da.po index 7cd06a15441..94a2e9a4f76 100644 --- a/addons/base_address_city/i18n/da.po +++ b/addons/base_address_city/i18n/da.po @@ -7,13 +7,15 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-18 09:48+0000\n" -"PO-Revision-Date: 2018-09-18 09:48+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -51,7 +53,7 @@ msgstr "By" #: model:ir.model.fields,field_description:base_address_city.field_res_partner__city_id #: model:ir.model.fields,field_description:base_address_city.field_res_users__city_id msgid "City of Address" -msgstr "" +msgstr "By" #. module: base_address_city #: model:ir.model,name:base_address_city.model_res_partner @@ -86,13 +88,16 @@ msgid "" " your partner records. Note that an option can be set on each country separately\n" " to enforce any address of it to have a city in this list." msgstr "" +"Vis og administrer listen over alle byer, der kan tildeles\n" +" din partners lister. Bemærk, at en valgmulighed kan indstilles for hvert land separat\n" +" for at gennemtvinge at enhver adresse i en by er i denne liste." #. module: base_address_city #: model:ir.model.fields,field_description:base_address_city.field_res_country__enforce_cities #: model:ir.model.fields,field_description:base_address_city.field_res_partner__country_enforce_cities #: model:ir.model.fields,field_description:base_address_city.field_res_users__country_enforce_cities msgid "Enforce Cities" -msgstr "" +msgstr "Gennemtving byer" #. module: base_address_city #: model:ir.model.fields,field_description:base_address_city.field_res_city__id @@ -122,7 +127,7 @@ msgstr "Navn" #. module: base_address_city #: model_terms:ir.ui.view,arch_db:base_address_city.view_city_filter msgid "Search City" -msgstr "Søg By" +msgstr "Søg by" #. module: base_address_city #: model:ir.model.fields,field_description:base_address_city.field_res_city__state_id diff --git a/addons/base_address_extended/i18n/da.po b/addons/base_address_extended/i18n/da.po index cfdfb4e9937..33ddb8f0bb0 100644 --- a/addons/base_address_extended/i18n/da.po +++ b/addons/base_address_extended/i18n/da.po @@ -5,13 +5,15 @@ # Translators: # Martin Trigaux, 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-18 09:48+0000\n" -"PO-Revision-Date: 2018-09-18 09:48+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -45,7 +47,7 @@ msgstr "Land" #: model:ir.model.fields,field_description:base_address_extended.field_res_partner__street_number2 #: model:ir.model.fields,field_description:base_address_extended.field_res_users__street_number2 msgid "Door" -msgstr "" +msgstr "Dør" #. module: base_address_extended #: model:ir.model.fields,field_description:base_address_extended.field_res_company__street_number2 @@ -69,19 +71,19 @@ msgstr "" #: model:ir.model.fields,field_description:base_address_extended.field_res_partner__street_number #: model:ir.model.fields,field_description:base_address_extended.field_res_users__street_number msgid "House" -msgstr "" +msgstr "Hus" #. module: base_address_extended #: model:ir.model.fields,field_description:base_address_extended.field_res_company__street_number #: model:ir.model.fields,help:base_address_extended.field_res_partner__street_number #: model:ir.model.fields,help:base_address_extended.field_res_users__street_number msgid "House Number" -msgstr "" +msgstr "Husnummer" #. module: base_address_extended #: model:ir.model.fields,field_description:base_address_extended.field_res_country__street_format msgid "Street Format" -msgstr "" +msgstr "Gade" #. module: base_address_extended #: model:ir.model.fields,field_description:base_address_extended.field_res_company__street_name @@ -95,16 +97,16 @@ msgstr "Gadenavn" #: model_terms:ir.ui.view,arch_db:base_address_extended.view_partner_structured_form #: model_terms:ir.ui.view,arch_db:base_address_extended.view_res_company_extended_form msgid "Street Name..." -msgstr "" +msgstr "Gadenavn" #. module: base_address_extended #: model_terms:ir.ui.view,arch_db:base_address_extended.view_res_country_extended_form msgid "Street format..." -msgstr "" +msgstr "Gade" #. module: base_address_extended #: code:addons/base_address_extended/models/base_address_extended.py:65 #: code:addons/base_address_extended/models/base_address_extended.py:113 #, python-format msgid "Unrecognized field %s in street format." -msgstr "" +msgstr "Ukendt felt %s i gade formatet" diff --git a/addons/base_automation/i18n/da.po b/addons/base_automation/i18n/da.po index 497d40664ac..2837cfd4304 100644 --- a/addons/base_automation/i18n/da.po +++ b/addons/base_automation/i18n/da.po @@ -10,12 +10,13 @@ # Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# 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:16+0000\n" "Last-Translator: lhmflexerp , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -27,7 +28,7 @@ msgstr "" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__help msgid "Action Description" -msgstr "Handling beskrivelse" +msgstr "Handlingsbeskrivelse" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__name @@ -37,7 +38,7 @@ msgstr "Navn på handling" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__state msgid "Action To Do" -msgstr "To Do" +msgstr "Handling på To Do" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__type @@ -84,7 +85,7 @@ msgstr "Tildelt til admin bruger" #: selection:ir.actions.server,usage:0 #: model:ir.model,name:base_automation.model_base_automation msgid "Automated Action" -msgstr "Automatiseret Handling" +msgstr "Automatiseret handling" #. module: base_automation #: model:ir.actions.act_window,name:base_automation.base_automation_act @@ -436,7 +437,7 @@ msgstr "Om oprettelse & opdatering" #. module: base_automation #: selection:base.automation,trigger:0 msgid "On Deletion" -msgstr "Ved Sletning" +msgstr "Ved sletning" #. module: base_automation #: selection:base.automation,trigger:0 @@ -480,7 +481,7 @@ msgstr "Python kode" #. module: base_automation #: model_terms:ir.ui.view,arch_db:base_automation.view_base_automation_form msgid "Remove Action" -msgstr "Fjern Handling" +msgstr "Fjern handling" #. module: base_automation #: model_terms:ir.ui.view,arch_db:base_automation.view_base_automation_form @@ -593,7 +594,7 @@ msgstr "" #. module: base_automation #: model:ir.model.fields,field_description:base_automation.field_base_automation__trg_date_calendar_id msgid "Use Calendar" -msgstr "Anvend Kalender" +msgstr "Anvend kalender" #. module: base_automation #: model_terms:ir.actions.act_window,help:base_automation.base_automation_act diff --git a/addons/base_gengo/i18n/da.po b/addons/base_gengo/i18n/da.po index de5b44b6ceb..2e6fe7a9133 100644 --- a/addons/base_gengo/i18n/da.po +++ b/addons/base_gengo/i18n/da.po @@ -8,13 +8,15 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-02 10:05+0000\n" -"PO-Revision-Date: 2018-10-02 10:05+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -41,7 +43,7 @@ msgstr "" #. module: base_gengo #: model_terms:ir.ui.view,arch_db:base_gengo.res_config_settings_view_form msgid "Add Gengo login Private Key..." -msgstr "Indtast Gengo login Privat nøgle..." +msgstr "Indtast Gengo login privat nøgle..." #. module: base_gengo #: model_terms:ir.ui.view,arch_db:base_gengo.res_config_settings_view_form @@ -111,7 +113,7 @@ msgstr "Virksomheder" #. module: base_gengo #: model:ir.model,name:base_gengo.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: base_gengo #: model:ir.model.fields,field_description:base_gengo.field_base_gengo_translations__create_uid @@ -257,7 +259,7 @@ msgstr "Offentlig nøgle" #. module: base_gengo #: selection:base.gengo.translations,sync_type:0 msgid "Receive Translation" -msgstr "Modtag Oversættelse" +msgstr "Modtag oversættelse" #. module: base_gengo #: model:ir.model.fields,field_description:base_gengo.field_res_company__gengo_sandbox @@ -274,7 +276,7 @@ msgstr "Send" #. module: base_gengo #: selection:base.gengo.translations,sync_type:0 msgid "Send New Terms" -msgstr "" +msgstr "Send nye termer" #. module: base_gengo #: selection:ir.translation,gengo_translation:0 diff --git a/addons/base_gengo/i18n/zh_CN.po b/addons/base_gengo/i18n/zh_CN.po index d0391a14e40..1279d3daecf 100644 --- a/addons/base_gengo/i18n/zh_CN.po +++ b/addons/base_gengo/i18n/zh_CN.po @@ -345,4 +345,4 @@ msgstr "你可以在这里选择你所需要的Gengo自动翻译级别." #. module: base_gengo #: model:ir.model,name:base_gengo.model_base_gengo_translations msgid "base.gengo.translations" -msgstr "基础gengo翻译" +msgstr "base.gengo.translations" diff --git a/addons/base_iban/i18n/da.po b/addons/base_iban/i18n/da.po index 9b8e04b280c..00708b491c7 100644 --- a/addons/base_iban/i18n/da.po +++ b/addons/base_iban/i18n/da.po @@ -5,13 +5,15 @@ # Translators: # Martin Trigaux, 2018 # Ejner Sønniksen , 2018 +# Sanne Kristensen , 2018 +# 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: Ejner Sønniksen , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -34,7 +36,7 @@ msgstr "Kan ikke udregne BBAN fordi kontonummeret ikke er et IBAN." #: code:addons/base_iban/models/res_partner_bank.py:54 #, python-format msgid "IBAN" -msgstr "" +msgstr "IBAN" #. module: base_iban #: code:addons/base_iban/models/res_partner_bank.py:39 @@ -56,7 +58,7 @@ msgstr "IBAN er ikke gyldigt. Det skal starte med landekoden." #: code:addons/base_iban/models/res_partner_bank.py:31 #, python-format msgid "There is no IBAN code." -msgstr "" +msgstr "Der er ikke nogen IBAN kode." #. module: base_iban #: code:addons/base_iban/models/res_partner_bank.py:45 diff --git a/addons/base_import/i18n/da.po b/addons/base_import/i18n/da.po index bfd250ac72d..80320bb5180 100644 --- a/addons/base_import/i18n/da.po +++ b/addons/base_import/i18n/da.po @@ -11,12 +11,13 @@ # Pernille Kristensen , 2018 # Sanne Kristensen , 2018 # lhmflexerp , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-02 10:05+0000\n" -"PO-Revision-Date: 2018-10-02 10:05+0000\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" "Last-Translator: lhmflexerp , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -207,7 +208,7 @@ msgstr "Dato format" #: code:addons/base_import/static/src/js/import_action.js:88 #, python-format msgid "Decimal Separator:" -msgstr "Decimal Separator:" +msgstr "Decimal separator:" #. module: base_import #. openerp-web diff --git a/addons/base_import/i18n/es.po b/addons/base_import/i18n/es.po index ee5cbc97eda..d512b6846e1 100644 --- a/addons/base_import/i18n/es.po +++ b/addons/base_import/i18n/es.po @@ -3,15 +3,17 @@ # * base_import # # Translators: -# Martin Trigaux, 2018 # Miguel Orueta , 2018 +# Martin Trigaux, 2018 +# Emilio Silva , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-02 10:05+0000\n" -"PO-Revision-Date: 2018-10-02 10:05+0000\n" -"Last-Translator: Miguel Orueta , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Emilio Silva , 2018\n" "Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,7 +65,7 @@ msgstr "Base" #. module: base_import #: model:ir.model,name:base_import.model_base_import_import msgid "Base Import" -msgstr "" +msgstr "Importar Base" #. module: base_import #: model:ir.model,name:base_import.model_base_import_mapping diff --git a/addons/base_import/models/base_import.py b/addons/base_import/models/base_import.py index d6c05217bc9..5e75af21f91 100644 --- a/addons/base_import/models/base_import.py +++ b/addons/base_import/models/base_import.py @@ -885,6 +885,8 @@ class Import(models.TransientModel): try: if dryrun: self._cr.execute('ROLLBACK TO SAVEPOINT import') + # cancel all changes done to the registry/ormcache + self.pool.reset_changes() else: self._cr.execute('RELEASE SAVEPOINT import') except psycopg2.InternalError: diff --git a/addons/base_import_module/i18n/da.po b/addons/base_import_module/i18n/da.po index 476683c255b..8b7a2ab4263 100644 --- a/addons/base_import_module/i18n/da.po +++ b/addons/base_import_module/i18n/da.po @@ -10,12 +10,13 @@ # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 # Sanne Kristensen , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" "Last-Translator: Sanne Kristensen , 2018\n" "Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" "MIME-Version: 1.0\n" @@ -148,7 +149,7 @@ msgstr "Kun administratorer kan uploade et modul " #: code:addons/base_import_module/models/ir_module.py:115 #, python-format msgid "Only zip files are supported." -msgstr "" +msgstr "Kun ZIP filer er understøttet." #. module: base_import_module #: model_terms:ir.ui.view,arch_db:base_import_module.view_base_module_import @@ -169,13 +170,13 @@ msgstr "Status" #: code:addons/base_import_module/models/ir_module.py:50 #, python-format msgid "Studio customizations require Studio" -msgstr "" +msgstr "Studiotilpasninger kræver Studio" #. module: base_import_module #: code:addons/base_import_module/models/ir_module.py:57 #, python-format msgid "Studio customizations require the Odoo Studio app." -msgstr "" +msgstr "Studiotilpasninger kræver Odoo Studio-appen." #. module: base_import_module #: code:addons/base_import_module/models/ir_module.py:52 diff --git a/addons/base_setup/i18n/da.po b/addons/base_setup/i18n/da.po index 63371e2eb18..37e4a221dd1 100644 --- a/addons/base_setup/i18n/da.po +++ b/addons/base_setup/i18n/da.po @@ -7,16 +7,17 @@ # Martin Trigaux, 2018 # Morten Schou , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -32,6 +33,10 @@ msgid "" " the creation of documents between your companies\n" "
" msgstr "" +"\n" +" \n" +" Oprettelse af dokumenter mellem dine virksomheder\n" +" " #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -39,6 +44,8 @@ msgid "" "Document Template\n" " " msgstr "" +"Dokumentskabelon\n" +" " #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -46,6 +53,8 @@ msgid "" "Format\n" " " msgstr "" +"Format\n" +" " #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -58,12 +67,12 @@ msgstr "" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Access Rights" -msgstr "Adgangs rettigheder" +msgstr "Adgangsrettigheder" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Add fun feedback and motivate your employees" -msgstr "" +msgstr "Tilføj sjov feedback og motiver dine medarbejdere" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_google_calendar @@ -84,7 +93,7 @@ msgstr "Tillad at arbejde med multi valuta" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_voip msgid "Asterisk (VoIP)" -msgstr "" +msgstr "Stjerne (VoIP)" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_google_drive @@ -94,17 +103,17 @@ msgstr "Vedhæft Google dokumenter til en vilkårlig postering" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_partner_autocomplete msgid "Auto-populate company data" -msgstr "" +msgstr "Auto-udfyld virksomhedsdata" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Autocomplete company data (name, logo, address, etc.)" -msgstr "" +msgstr "Auto-udfyld virksomhedsdata (navn, logo, adresse, osv.)" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Business Documents" -msgstr "" +msgstr "Forretningsdokumenter" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -117,7 +126,7 @@ msgstr "" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Change Document Template" -msgstr "Skift Dokument Skabelon" +msgstr "Skift dokumentskabelon" #. module: base_setup #: code:addons/base_setup/models/res_config_settings.py:100 @@ -133,12 +142,12 @@ msgstr "Vælg layout for dit dokuments sidehoved og -fod" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_pad msgid "Collaborative Pads" -msgstr "" +msgstr "Samarbejdende Pads" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Common Contact Book" -msgstr "" +msgstr "Generel kontaktbog" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -153,7 +162,7 @@ msgstr "Virksomhed" #. module: base_setup #: model:ir.model,name:base_setup.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -161,16 +170,18 @@ msgid "" "Configure company rules to automatically create SO/PO when one of your " "company sells/buys to another of your company." msgstr "" +"Konfigurer virksomhedens regler til automatisk at oprette SO / PO, når en af" +" dine virksomheder sælger / køber til en anden af dine virksomheder." #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Create and attach Google Drive documents to any record" -msgstr "" +msgstr "Opret og vedhæft Google Drive-dokumenter til enhver post" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__report_footer msgid "Custom Report Footer" -msgstr "Brugerdefineret Rapport Sidefod" +msgstr "Brugerdefineret rapport sidefod" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__user_default_rights @@ -181,7 +192,7 @@ msgstr "Standard Adgangsrettigheder" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__external_report_layout_id msgid "Document Template" -msgstr "Dokument Skabelon" +msgstr "Dokumentskabelon" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -191,17 +202,17 @@ msgstr "Redigér layout" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__external_email_server_default msgid "External Email Servers" -msgstr "Eksterne Email Servere" +msgstr "Eksterne e-mailservere" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Extract and analyze Odoo data from Google Spreadsheet" -msgstr "" +msgstr "Udtag og analyser Odoo data fra Google Regneark" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Find free high-resolution images from Unsplash" -msgstr "" +msgstr "Find gratis billeder i høj opløsning fra Unsplash" #. module: base_setup #: model:ir.model.fields,help:base_setup.field_res_config_settings__report_footer @@ -242,7 +253,7 @@ msgstr "Google Spreadsheet" #. module: base_setup #: model:ir.model,name:base_setup.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -257,13 +268,13 @@ msgstr "Integrationer" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Inter Company Flows" -msgstr "" +msgstr "Inter Company Flows" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_auth_ldap #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "LDAP Authentication" -msgstr "" +msgstr "LDAP godkendelse" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_inter_company_rules @@ -288,12 +299,12 @@ msgstr "Multi-valuta" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Multi-companies" -msgstr "" +msgstr "Multi-companies" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "OAuth Authentication" -msgstr "" +msgstr "OAuth godkendelse" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__paperformat_id @@ -339,7 +350,7 @@ msgstr "" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__show_effect msgid "Show Effect" -msgstr "" +msgstr "Vis effekt" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -364,12 +375,12 @@ msgstr "Oversæt din hjemmeside med Gengo" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_web_unsplash msgid "Unsplash Image Library" -msgstr "" +msgstr "Unsplash billedebibliotek" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Use LDAP credentials to log in" -msgstr "" +msgstr "Brug LDAP oplysninger til at logge ind" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -379,12 +390,12 @@ msgstr "Anvend eksterne konti til at logge ind (Google, Facebook etc.)" #. module: base_setup #: model:ir.model.fields,field_description:base_setup.field_res_config_settings__module_auth_oauth msgid "Use external authentication providers (OAuth)" -msgstr "Brug ekstern authentication providers (OAuth)" +msgstr "Brug eksterne godkendelses-udbydere (OAuth)" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Use external pads in Odoo Notes" -msgstr "" +msgstr "Brug eksterne pads i Odoo Notes" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form @@ -398,3 +409,6 @@ msgid "" "companies. When selecting one item, the company data and logo are auto-" "filled." msgstr "" +"Når du udfylder din adressebog, giver Odoo en liste over matchende " +"virksomheder. Når du vælger et emne, er virksomhedens data og logo " +"automatisk fyldt." diff --git a/addons/base_setup/i18n/zh_CN.po b/addons/base_setup/i18n/zh_CN.po index 011593b409f..e73b5d60153 100644 --- a/addons/base_setup/i18n/zh_CN.po +++ b/addons/base_setup/i18n/zh_CN.po @@ -374,7 +374,7 @@ msgstr "Unsplash图像库" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form msgid "Use LDAP credentials to log in" -msgstr "使用LDAP凭证登录" +msgstr "使用LDAP凭据登录" #. module: base_setup #: model_terms:ir.ui.view,arch_db:base_setup.res_config_settings_view_form diff --git a/addons/base_vat/i18n/da.po b/addons/base_vat/i18n/da.po index f9fff2af534..585ab04225c 100644 --- a/addons/base_vat/i18n/da.po +++ b/addons/base_vat/i18n/da.po @@ -5,13 +5,15 @@ # Translators: # Martin Trigaux, 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -27,7 +29,7 @@ msgstr "Virksomheder" #. module: base_vat #: model:ir.model,name:base_vat.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: base_vat #: model:ir.model,name:base_vat.model_res_partner diff --git a/addons/board/i18n/da.po b/addons/board/i18n/da.po index e27f5ccf7ce..6a26fa1b2e0 100644 --- a/addons/board/i18n/da.po +++ b/addons/board/i18n/da.po @@ -9,13 +9,15 @@ # Pernille Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:16+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -31,6 +33,8 @@ msgid "" "\"Add to\n" " Dashboard\"" msgstr "" +"\"Tilføj til\n" +" dashboard\"" #. module: board #. openerp-web @@ -130,7 +134,7 @@ msgstr "Sidst ændret den" #: code:addons/board/static/src/xml/board.xml:41 #, python-format msgid "Layout" -msgstr "" +msgstr "Layout" #. module: board #. openerp-web @@ -147,7 +151,7 @@ msgstr "Mit dashboard" #: code:addons/board/static/src/js/favorite_menu.js:104 #, python-format msgid "Please refresh your browser for the changes to take effect." -msgstr "" +msgstr "Opdater venligst din browser for at ændringerne træder i kraft." #. module: board #. openerp-web @@ -157,6 +161,8 @@ msgid "" "To add your first report into this dashboard, go to any\n" " menu, switch to list or graph view, and click" msgstr "" +"For at tilføje din første rapport til dette dashboard, skal du gå til en\n" +" menu, skifte til liste eller grafevisning, og klikke" #. module: board #. openerp-web @@ -166,17 +172,19 @@ msgid "" "You can filter and group data before inserting into the\n" " dashboard using the search options." msgstr "" +"Du kan filtrere og gruppere data, før du indsætter i\n" +" dashboardet ved hjælp af søgemulighederne." #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:49 #, python-format msgid "Your personal dashboard is empty" -msgstr "" +msgstr "Dit personlige dashboard er tomt" #. module: board #. openerp-web #: code:addons/board/static/src/xml/board.xml:53 #, python-format msgid "in the extended search options." -msgstr "" +msgstr "i de udvidede søgeindstillinger." diff --git a/addons/board/static/src/js/favorite_menu.js b/addons/board/static/src/js/favorite_menu.js index cdb531914c9..a3040af44f0 100644 --- a/addons/board/static/src/js/favorite_menu.js +++ b/addons/board/static/src/js/favorite_menu.js @@ -56,7 +56,7 @@ FavoriteMenu.include({ var self = this; var search_data = this.searchview.build_search_data(); var context = new Context(this.searchview.dataset.get_context() || []); - var domain = this.searchview.dataset.get_domain() || []; + var domain = []; _.each(search_data.contexts, context.add, context); _.each(search_data.domains, function (d) { diff --git a/addons/board/static/src/scss/dashboard.scss b/addons/board/static/src/scss/dashboard.scss index 683bdf52eaf..08cd66a09c1 100644 --- a/addons/board/static/src/scss/dashboard.scss +++ b/addons/board/static/src/scss/dashboard.scss @@ -112,6 +112,9 @@ &.oe_folded { display: none; } + .o_view_nocontent { + display: none; // we don't have a create button on the dashboard, so no need to display that + } } // Override border of many2manytags defined for form_views diff --git a/addons/board/static/tests/dashboard_tests.js b/addons/board/static/tests/dashboard_tests.js index 1803875d33c..2426b1a377b 100644 --- a/addons/board/static/tests/dashboard_tests.js +++ b/addons/board/static/tests/dashboard_tests.js @@ -700,6 +700,64 @@ QUnit.test('save actions to dashboard', function (assert) { actionManager.destroy(); }); +QUnit.test('save two searches to dashboard', function (assert) { + // the second search saved should not be influenced by the first + assert.expect(2); + + var actionManager = createActionManager({ + data: this.data, + archs: { + 'partner,false,list': '', + 'partner,false,search': '', + }, + mockRPC: function (route, args) { + if (route === '/board/add_to_dashboard') { + if (filter_count === 0) { + assert.deepEqual(args.domain, [["display_name", "ilike", "a"]], + "the correct domain should be sent"); + } + if (filter_count === 1) { + assert.deepEqual(args.domain, [["display_name", "ilike", "b"]], + "the correct domain should be sent"); + } + + filter_count += 1; + return $.when(true); + } + return this._super.apply(this, arguments); + }, + }); + + actionManager.doAction({ + id: 1, + res_model: 'partner', + type: 'ir.actions.act_window', + views: [[false, 'list']], + }); + + var filter_count = 0; + // Add a first filter + $('span.fa-filter').click(); + $('.o_add_custom_filter:visible').click(); + $('.o_searchview_extended_prop_value .o_input').val('a') + $('.o_apply_filter').click(); + // Add it to dashboard + $('.o_add_to_dashboard_button').click(); + // Remove it + $('.o_facet_remove').click(); + + // Add the second filter + $('span.fa-filter').click(); + $('span.fa-filter').click(); + $('.o_add_custom_filter:visible').click(); + $('.o_searchview_extended_prop_value .o_input').val('b') + $('.o_apply_filter').click(); + // Add it to dashboard + $('.o_add_to_dashboard_button').click(); + + actionManager.destroy(); +}); + QUnit.test('save to dashboard actions with flag keepSearchView', function (assert) { assert.expect(4); diff --git a/addons/bus/i18n/da.po b/addons/bus/i18n/da.po index 4d3a243cffe..e010e66d5d4 100644 --- a/addons/bus/i18n/da.po +++ b/addons/bus/i18n/da.po @@ -8,13 +8,15 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 +# Sanne Kristensen , 2018 +# 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: Pernille Kristensen , 2018\n" +"PO-Revision-Date: 2018-08-24 09:17+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -40,7 +42,7 @@ msgstr "Kanal" #. module: bus #: model:ir.model,name:bus.model_bus_bus msgid "Communication Bus" -msgstr "" +msgstr "Kommunikations Bus" #. module: bus #: model:ir.model,name:bus.model_res_partner @@ -90,7 +92,7 @@ msgstr "Seneste meningsmåling" #. module: bus #: model:ir.model.fields,field_description:bus.field_bus_presence__last_presence msgid "Last Presence" -msgstr "Sidste Tilstedeværelse" +msgstr "Sidste tilstedeværelse" #. module: bus #: model:ir.model.fields,field_description:bus.field_bus_bus__write_uid @@ -132,4 +134,4 @@ msgstr "Brugere" #: code:addons/bus/controllers/main.py:41 #, python-format msgid "bus.Bus not available in test mode" -msgstr "" +msgstr "bus. Bus er ikke tilgængelig i testtilstand" diff --git a/addons/bus/static/src/js/crosstab_bus.js b/addons/bus/static/src/js/crosstab_bus.js index df050b91e4c..46643cad0de 100644 --- a/addons/bus/static/src/js/crosstab_bus.js +++ b/addons/bus/static/src/js/crosstab_bus.js @@ -105,7 +105,7 @@ var CrossTabBus = Longpolling.extend({ $(window).on('unload.' + this._id, this._onUnload.bind(this)); - if (!this._callLocalStorage('getItem', 'peers')) { + if (!this._callLocalStorage('getItem', 'master')) { this._startElection(); } @@ -252,6 +252,7 @@ var CrossTabBus = Longpolling.extend({ //we're next in queue. Electing as master this.lastHeartbeat = now; this._callLocalStorage('setItem', 'heartbeat', this.lastHeartbeat); + this._callLocalStorage('setItem', 'master', true); this._isMasterTab = true; this.startPolling(); this.trigger('become_master'); @@ -297,7 +298,7 @@ var CrossTabBus = Longpolling.extend({ var value = JSON.parse(e.newValue); var key = e.key; - if (this._isRegistered && key === this._generateKey('peers') && !value) { + if (this._isRegistered && key === this._generateKey('master') && !value) { //master was unloaded this._startElection(); } @@ -341,7 +342,7 @@ var CrossTabBus = Longpolling.extend({ // unload master if (this._isMasterTab) { - this._callLocalStorage('removeItem', 'peers'); + this._callLocalStorage('removeItem', 'master'); } }, }); diff --git a/addons/bus/static/tests/bus_tests.js b/addons/bus/static/tests/bus_tests.js index 3c81398c09a..c8c7eab2bd9 100644 --- a/addons/bus/static/tests/bus_tests.js +++ b/addons/bus/static/tests/bus_tests.js @@ -214,4 +214,106 @@ QUnit.module('Bus', { }, 3); }); + + QUnit.test('cross tab bus elect new master on master unload', function (assert) { + var done = assert.async(); + assert.expect(8); + + // master + var pollDeferredMaster = $.Deferred(); + + var parentMaster = new Widget(); + testUtils.addMockEnvironment(parentMaster, { + data: {}, + services: { + bus_service: BusService, + local_storage: LocalStorageServiceMock, + }, + mockRPC: function (route, args) { + if (route === '/longpolling/poll') { + assert.step(['master', route, args.channels.join(',')]); + + pollDeferredMaster = $.Deferred(); + pollDeferredMaster.abort = (function () { + this.reject({message: "XmlHttpRequestError abort"}, $.Event()); + }).bind(pollDeferredMaster); + return pollDeferredMaster; + } + return this._super.apply(this, arguments); + } + }); + + var master = new Widget(parentMaster); + master.appendTo($('#qunit-fixture')); + + master.call('bus_service', 'onNotification', master, function (notifications) { + assert.step(['master', 'notification', notifications]); + }); + master.call('bus_service', 'addChannel', 'lambda'); + + // slave + setTimeout(function () { + var parentSlave = new Widget(); + var pollDeferredSlave = $.Deferred(); + testUtils.addMockEnvironment(parentSlave, { + data: {}, + services: { + bus_service: BusService, + local_storage: LocalStorageServiceMock, + }, + mockRPC: function (route, args) { + if (route === '/longpolling/poll') { + assert.step(['slave', route, args.channels.join(',')]); + + pollDeferredSlave = $.Deferred(); + pollDeferredSlave.abort = (function () { + this.reject({message: "XmlHttpRequestError abort"}, $.Event()); + }).bind(pollDeferredSlave); + return pollDeferredSlave; + } + return this._super.apply(this, arguments); + } + }); + + var slave = new Widget(parentSlave); + slave.appendTo($('#qunit-fixture')); + + slave.call('bus_service', 'onNotification', slave, function (notifications) { + assert.step(['slave', 'notification', notifications]); + }); + slave.call('bus_service', 'addChannel', 'lambda'); + + pollDeferredMaster.resolve([{ + id: 1, + channel: 'lambda', + message: 'beta', + }]); + + // simulate unloading master + master.call('bus_service', '_onUnload'); + + pollDeferredSlave.resolve([{ + id: 2, + channel: 'lambda', + message: 'gamma', + }]); + + assert.verifySteps([ + ["master", "/longpolling/poll", "lambda"], + ["master", "notification", [["lambda", "beta"]]], + ["slave", "notification", [["lambda", "beta"]]], + ["master", "/longpolling/poll", "lambda"], + ["slave", "/longpolling/poll", "lambda"], + ["slave", "notification", [["lambda", "gamma"]]], + ["slave", "/longpolling/poll", "lambda"], + ]); + + parentMaster.destroy(); + parentSlave.destroy(); + + done(); + + }, 3); + }); + });}); diff --git a/addons/calendar/i18n/da.po b/addons/calendar/i18n/da.po index 09321235ac1..177ff806fb1 100644 --- a/addons/calendar/i18n/da.po +++ b/addons/calendar/i18n/da.po @@ -10,8 +10,8 @@ # Martin Trigaux, 2018 # Hans Henrik Gabelgaard , 2018 # Morten Schou , 2018 -# Sanne Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -19,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-21 13:18+0000\n" "PO-Revision-Date: 2018-08-24 09:17+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -35,7 +35,7 @@ msgstr "${object.event_id.name} - Påmindelse" #. module: calendar #: model:mail.template,subject:calendar.calendar_template_meeting_changedate msgid "${object.event_id.name}: Date updated" -msgstr "${object.event_id.name}: Dato opdateret" +msgstr "${object.event_id.name}: Opdateret den" #. module: calendar #: code:addons/calendar/models/calendar.py:741 @@ -73,7 +73,7 @@ msgstr "1 dag(e)" #. module: calendar #: model:calendar.alarm,name:calendar.alarm_notif_3 msgid "1 Hour(s)" -msgstr "1 Time(r)" +msgstr "1 time(r)" #. module: calendar #: model:calendar.alarm,name:calendar.alarm_notif_1 @@ -88,7 +88,7 @@ msgstr "2 time(r)" #. module: calendar #: model:calendar.alarm,name:calendar.alarm_mail_1 msgid "3 Hour(s), by e-mail" -msgstr "3 time(r), pr. email" +msgstr "3 time(r), via e-mail" #. module: calendar #: model:calendar.alarm,name:calendar.alarm_notif_2 @@ -98,7 +98,7 @@ msgstr "30 minut(ter)" #. module: calendar #: model:calendar.alarm,name:calendar.alarm_mail_2 msgid "6 Hour(s), by e-mail" -msgstr "6 time(r), pr. email" +msgstr "6 time(r), via e-mail" #. module: calendar #: model:mail.template,body_html:calendar.calendar_template_meeting_invitation @@ -379,7 +379,7 @@ msgstr "Hele dagen, %s" #. module: calendar #: sql_constraint:calendar.contacts:0 msgid "An user cannot have twice the same contact." -msgstr "" +msgstr "En bruger kan ikke have samme kontakt" #. module: calendar #: model:ir.model,name:calendar.model_ir_attachment @@ -439,39 +439,39 @@ msgstr "Kalender" #: model_terms:ir.ui.view,arch_db:calendar.calendar_alarm_view_form #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_alarm_tree msgid "Calendar Alarm" -msgstr "Kalender alarm" +msgstr "Kalendernotifikation" #. module: calendar #: model:ir.model,name:calendar.model_calendar_attendee msgid "Calendar Attendee Information" -msgstr "" +msgstr "Oplysninger på kalenderdeltagere " #. module: calendar #: model:ir.model,name:calendar.model_calendar_contacts msgid "Calendar Contacts" -msgstr "" +msgstr "Kalenderkontakter" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.invitation_page_anonymous msgid "Calendar Invitation" -msgstr "Kalender Invitation" +msgstr "Kalenderinvitation" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_mail_activity__calendar_event_id msgid "Calendar Meeting" -msgstr "" +msgstr "Kalendermøder" #. module: calendar #: model:ir.actions.server,name:calendar.ir_cron_scheduler_alarm_ir_actions_server #: model:ir.cron,cron_name:calendar.ir_cron_scheduler_alarm #: model:ir.cron,name:calendar.ir_cron_scheduler_alarm msgid "Calendar: Event Reminder" -msgstr "" +msgstr "Kalender: Arrangements påmindelse" #. module: calendar #: model:ir.model.fields,help:calendar.field_mail_activity_type__category msgid "Categories may trigger specific behavior like opening calendar view" -msgstr "" +msgstr "Kategorier kan udløse specifikke opgaver som at åbne kalendervisning" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_mail_activity_type__category @@ -619,7 +619,7 @@ msgstr "E-mail" #. module: calendar #: model:ir.model.fields,help:calendar.field_calendar_attendee__email msgid "Email of Invited Person" -msgstr "Email af indbudte" +msgstr "E-mail til inviteret person" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_contacts__partner_id @@ -650,22 +650,22 @@ msgstr "Slutter den" #. module: calendar #: model:ir.model,name:calendar.model_calendar_event msgid "Event" -msgstr "Begivenhed" +msgstr "Arrangement" #. module: calendar #: model:ir.model,name:calendar.model_calendar_alarm msgid "Event Alarm" -msgstr "" +msgstr "Arrangements notifikation" #. module: calendar #: model:ir.model,name:calendar.model_calendar_alarm_manager msgid "Event Alarm Manager" -msgstr "" +msgstr "Arrangements notifikations ansvarlig" #. module: calendar #: model:ir.model,name:calendar.model_calendar_event_type msgid "Event Meeting Type" -msgstr "" +msgstr "Arrangements mødetype" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__display_time @@ -761,7 +761,7 @@ msgstr "" #. module: calendar #: model:ir.model,name:calendar.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: calendar #: selection:calendar.alarm,interval:0 @@ -810,7 +810,7 @@ msgstr "Invitation" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_attendee__access_token msgid "Invitation Token" -msgstr "Invitation signal" +msgstr "Invitations token" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form @@ -825,7 +825,7 @@ msgstr "Invitation til" #. module: calendar #: model:mail.template,subject:calendar.calendar_template_meeting_invitation msgid "Invitation to ${object.event_id.name}" -msgstr "" +msgstr "Invitation til ${object.event_id.name}" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form @@ -835,17 +835,17 @@ msgstr "Invitationer" #. module: calendar #: model:ir.model,name:calendar.model_mail_wizard_invite msgid "Invite wizard" -msgstr "Inviter wizard" +msgstr "Guide" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_is_follower msgid "Is Follower" -msgstr "Følger" +msgstr "Er følger" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__is_highlighted msgid "Is the Event Highlighted" -msgstr "" +msgstr "Er arrangementet fremhævet?" #. module: calendar #: selection:calendar.event,byday:0 @@ -895,12 +895,12 @@ msgstr "Lad begivenheden automatisk at gentage sig på dette interval" #: model:ir.model.fields,field_description:calendar.field_calendar_event__location #: model_terms:ir.ui.view,arch_db:calendar.invitation_page_anonymous msgid "Location" -msgstr "Lokation" +msgstr "Adresse" #. module: calendar #: model:ir.model.fields,help:calendar.field_calendar_event__location msgid "Location of Event" -msgstr "Lokation på begivenheden" +msgstr "Adresse på arrangementet" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.invitation_page_anonymous @@ -910,7 +910,7 @@ msgstr "Logo" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_main_attachment_id msgid "Main Attachment" -msgstr "Primær vedhæftning" +msgstr "Vedhæftning" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_contacts__user_id @@ -928,7 +928,7 @@ msgstr "Møde" #: code:addons/calendar/models/calendar.py:947 #, python-format msgid "Meeting '%s' starts '%s' and ends '%s'" -msgstr "" +msgstr "Mødet '%s' starter '%s' og slutter '%s'" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form @@ -970,7 +970,7 @@ msgstr "Besked" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_has_error msgid "Message Delivery error" -msgstr "Besked leveringsfejl" +msgstr "Leveringsfejl af besked" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_ids @@ -1017,7 +1017,7 @@ msgstr "Navn" #: selection:calendar.attendee,state:0 #: selection:calendar.event,attendee_status:0 msgid "Needs Action" -msgstr "Behøver handling" +msgstr "Kræver handling" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.invitation_page_anonymous @@ -1032,7 +1032,7 @@ msgstr "Påmindelse" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_needaction_counter msgid "Number of Actions" -msgstr "Antal aktioner" +msgstr "Antal handlinger" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_has_error_counter @@ -1079,7 +1079,7 @@ msgstr "Kun mig" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.mail_activity_view_form_popup msgid "Open Calendar" -msgstr "" +msgstr "Åben kalender" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__month_by @@ -1089,12 +1089,12 @@ msgstr "Valgmulighed" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form msgid "Options" -msgstr "Muligheder" +msgstr "Valgmuligheder" #. module: calendar #: selection:mail.activity.type,category:0 msgid "Other" -msgstr "Anden" +msgstr "Andet" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__user_id @@ -1110,7 +1110,7 @@ msgstr "Deltager" #. module: calendar #: model:ir.model.fields,help:calendar.field_calendar_event__partner_id msgid "Partner-related data of the user" -msgstr "" +msgstr "Partner-relaterede data fra brugeren" #. module: calendar #: code:addons/calendar/models/calendar.py:1247 @@ -1127,12 +1127,12 @@ msgstr "Adgang" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__rrule_type msgid "Recurrence" -msgstr "Tilbagevenden" +msgstr "Gentagne" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__end_type msgid "Recurrence Termination" -msgstr "Gentagelse Opsigelse" +msgstr "Gentagne afslutning" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__recurrency @@ -1152,22 +1152,22 @@ msgstr "Gentagelses id dato" #. module: calendar #: model:ir.model.fields,help:calendar.field_calendar_event__recurrency msgid "Recurrent Meeting" -msgstr "Møde Gentagelse" +msgstr "Mødegentagelse" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__rrule msgid "Recurrent Rule" -msgstr "Gentagelses regel" +msgstr "Gentagelsesregel" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_alarm__duration msgid "Remind Before" -msgstr "Påmind Før" +msgstr "Påmind før" #. module: calendar #: selection:mail.activity.type,category:0 msgid "Reminder" -msgstr "" +msgstr "Påmindelse" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__alarm_ids @@ -1197,7 +1197,7 @@ msgstr "Gentag hver (dage / uge / måned / år)" #. module: calendar #: model:ir.model.fields,help:calendar.field_calendar_event__count msgid "Repeat x times" -msgstr "Gental antal gange" +msgstr "Gentag antal gange" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__partner_id @@ -1208,7 +1208,7 @@ msgstr "Ansvarlig" #. module: calendar #: selection:calendar.alarm,type:0 msgid "SMS Text Message" -msgstr "SMS Besked" +msgstr "SMS besked" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__sa @@ -1223,7 +1223,7 @@ msgstr "Lørdag" #. module: calendar #: model_terms:ir.actions.act_window,help:calendar.action_calendar_event msgid "Schedule a new meeting" -msgstr "" +msgstr "Planlæg et nyt møde" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_search @@ -1357,6 +1357,9 @@ msgid "" " other applications such as the employee leaves or the business\n" " opportunities." msgstr "" +"Kalenderen er delt mellem medarbejdere og er fuldt integreret med\n" +" andre programmer som medarbejderferie eller virksomhedens\n" +" salgsmuligheder." #. module: calendar #: code:addons/calendar/models/calendar.py:941 @@ -1364,12 +1367,14 @@ msgstr "" msgid "" "The ending date and time cannot be earlier than the starting date and time." msgstr "" +"Slutdatoen og klokkeslættet kan ikke være tidligere end startdato og " +"klokkeslæt." #. module: calendar #: code:addons/calendar/models/calendar.py:946 #, python-format msgid "The ending date cannot be earlier than the starting date." -msgstr "" +msgstr "Slutdatoen kan ikke være tidligere end startdatoen." #. module: calendar #: selection:calendar.event,byday:0 @@ -1395,7 +1400,7 @@ msgstr "Torsdag" #: code:addons/calendar/models/res_users.py:41 #, python-format msgid "Today's Meetings" -msgstr "" +msgstr "Dagens møder" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__tu @@ -1437,7 +1442,7 @@ msgstr "Ulæste beskeder" #. module: calendar #: model:ir.model.fields,field_description:calendar.field_calendar_event__message_unread_counter msgid "Unread Messages Counter" -msgstr "Ulæste besked tæller" +msgstr "Antal ulæste beskeder" #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form @@ -1493,7 +1498,7 @@ msgstr "Du kan ikke kopirere mødedeltagere." #. module: calendar #: model_terms:ir.ui.view,arch_db:calendar.view_calendar_event_form msgid "e.g. Business Lunch" -msgstr "f.eks. forretnings middag" +msgstr "f.eks. forretningsmiddag" #. module: calendar #: code:addons/calendar/models/calendar.py:1232 diff --git a/addons/calendar_sms/i18n/da.po b/addons/calendar_sms/i18n/da.po index f58fecc5afe..159ddaeb2d1 100644 --- a/addons/calendar_sms/i18n/da.po +++ b/addons/calendar_sms/i18n/da.po @@ -5,13 +5,15 @@ # Translators: # Martin Trigaux, 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:17+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -27,17 +29,17 @@ msgstr "E-mail" #. module: calendar_sms #: model:ir.model,name:calendar_sms.model_calendar_event msgid "Event" -msgstr "Begivenhed" +msgstr "Arrangement" #. module: calendar_sms #: model:ir.model,name:calendar_sms.model_calendar_alarm msgid "Event Alarm" -msgstr "" +msgstr "Arrangements notifikation" #. module: calendar_sms #: model:ir.model,name:calendar_sms.model_calendar_alarm_manager msgid "Event Alarm Manager" -msgstr "" +msgstr "Arrangements notifikationsansvarlig" #. module: calendar_sms #: code:addons/calendar_sms/models/calendar.py:23 diff --git a/addons/contacts/i18n/da.po b/addons/contacts/i18n/da.po index a07f23773e9..dd633a97a29 100644 --- a/addons/contacts/i18n/da.po +++ b/addons/contacts/i18n/da.po @@ -6,13 +6,15 @@ # Martin Trigaux, 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:17+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -44,7 +46,7 @@ msgstr "Kontakt tags" #. module: contacts #: model:ir.ui.menu,name:contacts.menu_partner_title_contact msgid "Contact Titles" -msgstr "Kontakt titler" +msgstr "Kontakt overskrifter" #. module: contacts #: model:ir.actions.act_window,name:contacts.action_contacts @@ -68,7 +70,7 @@ msgstr "Landegruppe" #: model_terms:ir.actions.act_window,help:contacts.action_contacts #: model_terms:ir.actions.act_window,help:contacts.action_contacts_summary msgid "Create a contact in your address book" -msgstr "" +msgstr "Opret en kontakt i din adressebog" #. module: contacts #: model:ir.ui.menu,name:contacts.menu_country_state_partner @@ -85,6 +87,7 @@ msgstr "Lokalisering" #: model_terms:ir.actions.act_window,help:contacts.action_contacts_summary msgid "Odoo helps you to easily track all activities related to a customer." msgstr "" +"Odoo hjælper dig med at spore alle aktiviteter relateret til en kunde." #. module: contacts #: model:ir.ui.menu,name:contacts.res_partner_industry_menu diff --git a/addons/crm/i18n/da.po b/addons/crm/i18n/da.po index 1ea5b627613..c47a668fed8 100644 --- a/addons/crm/i18n/da.po +++ b/addons/crm/i18n/da.po @@ -9,9 +9,9 @@ # Jesper Carstensen , 2018 # Martin Trigaux, 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -19,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" "PO-Revision-Date: 2018-08-24 09:17+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -36,7 +36,7 @@ msgstr "# Møder" #. module: crm #: model_terms:digest.tip,tip_description:crm.digest_tip_crm_0 msgid "% endif" -msgstr "" +msgstr "% endif" #. module: crm #: model_terms:digest.tip,tip_description:crm.digest_tip_crm_0 @@ -45,6 +45,9 @@ msgid "" " % if email\n" " Try the mail gateway" msgstr "" +"% set email = object.env['crm.team'].search([('alias_name','!=', False)],limit=1).alias_id.display_name\n" +" % if email\n" +" Prøv mail gateway" #. module: crm #. openerp-web @@ -54,6 +57,8 @@ msgid "" "Choose a name for your opportunity, example: 'Need a new " "website'" msgstr "" +"Vælg et navn på din salgsmulighed, f. eks.: 'Ønsker en ny " +"hjemmeside'" #. module: crm #. openerp-web @@ -84,6 +89,10 @@ msgid "" " as a member of one of the Sales Team.\n" "

" msgstr "" +"

Tilføj nye salgsmuligheder

\n" +" Det ser ud som om du ikke er tilknyttet en salgsgruppe. Du skal tilføje dig selv\n" +" som medlem af et af salgsgrupperne.\n" +"

" #. module: crm #. openerp-web @@ -94,9 +103,10 @@ msgid "" "attached to this opportunity.

Type '@' to mention" " people - it's like cc-ing on emails.

" msgstr "" -"

Send beskeder til dine muligheder og modtag svar der automatisk " -"vedhæftes denne salgsmulighed.

Tast '@' for at " -"stile direkte til folk - virker som cc/ på e-mails.

" +"

Send beskeder til dine salgsmuligheder og modtag svar der " +"automatisk vedhæftes denne salgsmulighed.

Tast " +"'@' for at sende besked direkte til en person - virker som cc/ på " +"e-mails.

" #. module: crm #. openerp-web @@ -108,6 +118,10 @@ msgid "" "after
  • second call 3 days after, ...
  • Select a standard activity for now.

    " msgstr "" +"

    Du vil kunne tilpasse dine opfølgningsaktiviteter. " +"F.eks.:

    1. Introduktions e-mail
    2. Ring 10 dage " +"efter
    3. Andet kald 3 dage efter, ...

    Vælg " +"en standard aktivitet for nu.

    " #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor @@ -164,7 +178,7 @@ msgstr "Mål for udførte aktiviteter" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter msgid "Activities Todo" -msgstr "" +msgstr "Aktiviteter der mangler" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__activity_state @@ -185,7 +199,7 @@ msgstr "Aktivitetstyper" #: code:addons/crm/models/crm_lead.py:933 #, python-format msgid "Add a new lead" -msgstr "" +msgstr "Tilføj nyt kundeemne" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.res_config_settings_view_form @@ -232,7 +246,7 @@ msgstr "Tildel denne salgsmulighed til" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__date_open msgid "Assignation Date" -msgstr "Tilknytnings dato" +msgstr "Tildelingsdato" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__message_attachment_count @@ -247,7 +261,7 @@ msgstr "Gennemsnitlig sandsynlighed" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__is_blacklisted msgid "Blacklist" -msgstr "" +msgstr "Blacklist" #. module: crm #: code:addons/crm/models/crm_lead.py:400 @@ -258,7 +272,7 @@ msgstr "Boom! Team rekord for de sidste 30 dage." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__message_bounce msgid "Bounce" -msgstr "Spring" +msgstr "Afvisning" #. module: crm #: model:ir.ui.menu,name:crm.crm_menu_root @@ -275,7 +289,7 @@ msgstr "CRM aktivitetsanalyse" #. module: crm #: model:ir.model,name:crm.model_crm_stage msgid "CRM Stages" -msgstr "" +msgstr "CRM faser" #. module: crm #: model:mail.activity.type,name:crm.mail_activity_demo_call_demo @@ -300,7 +314,7 @@ msgstr "Annuller" #. module: crm #: model:ir.actions.act_window,name:crm.crm_team_act_tree msgid "Cases by Sales Team" -msgstr "Sager efter salgs teams" +msgstr "Sager efter salgsteams" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_stage__on_change @@ -322,7 +336,7 @@ msgstr "" #. module: crm #: model:ir.model.fields,help:crm.field_crm_team__use_opportunities msgid "Check this box to manage a presales process with opportunities." -msgstr "" +msgstr "Marker denne boks for at styre en salgsproces med salgsmuligheder." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__city @@ -348,7 +362,7 @@ msgstr "" #: code:addons/crm/static/src/js/tour.js:32 #, python-format msgid "Click here to add your opportunity." -msgstr "" +msgstr "Klik her for at tilføje din salgsmulighed." #. module: crm #. openerp-web @@ -366,7 +380,7 @@ msgstr "" #: code:addons/crm/static/src/js/tour.js:60 #, python-format msgid "Click on the opportunity to zoom in." -msgstr "" +msgstr "Klik på salgsmuligheden for at zoome ind." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__date_closed @@ -406,7 +420,7 @@ msgstr "Virksomhedsnavn" #. module: crm #: model:ir.model,name:crm.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: crm #: model:ir.ui.menu,name:crm.crm_menu_config @@ -473,12 +487,12 @@ msgstr "Konverteringsmuligheder" #. module: crm #: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass msgid "Convert Lead to Opportunity (in mass)" -msgstr "" +msgstr "Konverter kundeemne til salgsmulighed (i en masse)" #. module: crm #: model:ir.model,name:crm.model_crm_lead2opportunity_partner msgid "Convert Lead to Opportunity (not in mass)" -msgstr "" +msgstr "Konverter kundeemne til salgsmulighed (ikke i en masse)" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_crm_lead2opportunity_partner_mass @@ -538,12 +552,12 @@ msgstr "Opret" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_create_opportunity_simplified msgid "Create & Edit" -msgstr "Opret & Redigér" +msgstr "Opret & redigér" #. module: crm #: model:ir.model.fields,field_description:crm.field_res_config_settings__module_crm_reveal msgid "Create Leads/Opportunities from your website's traffic" -msgstr "" +msgstr "Opret kundeemner / salgsmuligheder fra din hjemmeside" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_crm_lead2opportunity_partner @@ -560,12 +574,12 @@ msgstr "Opret ny kunde" #: model_terms:ir.actions.act_window,help:crm.crm_case_form_view_salesteams_lead #: model_terms:ir.actions.act_window,help:crm.crm_case_form_view_salesteams_opportunity msgid "Create a new lead" -msgstr "" +msgstr "Opret nyt kundeemne" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_lead_tag_action msgid "Create a new tag for your opportunities" -msgstr "" +msgstr "Opret et nyt tag for dine salgsmuligheder" #. module: crm #: model:ir.actions.act_window,name:crm.create_opportunity_simplified @@ -576,13 +590,13 @@ msgstr "Opret en salgsmulighed" #. module: crm #: model_terms:ir.actions.act_window,help:crm.relate_partner_opportunities msgid "Create an new opportunity related to this customer" -msgstr "" +msgstr "Opret en ny salgsmulighed relateret til denne kunde" #. module: crm #: code:addons/crm/models/crm_lead.py:935 #, python-format msgid "Create an opportunity in your pipeline" -msgstr "" +msgstr "Opret en salgsmulighed i din pipeline" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_lead_tag_action @@ -628,7 +642,7 @@ msgstr "Oprettet den" #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_leads_filter #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter msgid "Creation Date" -msgstr "Oprettelses dato" +msgstr "Oprettelsesdato" #. module: crm #: model:ir.actions.server,name:crm.action_your_pipeline @@ -682,7 +696,7 @@ msgstr "Dato" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_opportunity_report_view_search msgid "Date Closed" -msgstr "" +msgstr "Lukket dato" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__day_open @@ -702,7 +716,7 @@ msgstr "Standard alias navn for leads" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_lost_reason_action msgid "Define a new lost reason" -msgstr "" +msgstr "Definer en ny årsag for en tabt salgsmulighed" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_kanban_view_leads @@ -722,7 +736,7 @@ msgstr "Design" #. module: crm #: model:ir.model,name:crm.model_digest_digest msgid "Digest" -msgstr "" +msgstr "Digest" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_create_opportunity_simplified @@ -748,6 +762,7 @@ msgstr "Vis navn" #, python-format msgid "Do not have access, skip this data for user's digest email" msgstr "" +"Har ikke adgang, spring over disse data til brugerens opsummerings e-mail" #. module: crm #: selection:crm.lead2opportunity.partner,action:0 @@ -759,7 +774,7 @@ msgstr "Link ikke til en kunde" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_kanban_view_leads msgid "Dropdown menu" -msgstr "" +msgstr "Dropdown menu" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_kanban_view_leads @@ -789,6 +804,8 @@ msgid "" "Email sent to ${email} generate opportunities in your " "pipeline.
    " msgstr "" +"E-mails der sendes til ${email} generere en salgsmulighed i" +" din pipeline." #. module: crm #: model_terms:ir.ui.view,arch_db:crm.res_config_settings_view_form @@ -834,12 +851,12 @@ msgstr "Forventet slutdato" #. module: crm #: selection:crm.team,dashboard_graph_group_pipeline:0 msgid "Expected Closing Day" -msgstr "Dag for Forventet Lukning" +msgstr "Dag for forventet lukning" #. module: crm #: selection:crm.team,dashboard_graph_group_pipeline:0 msgid "Expected Closing Month" -msgstr "Måned for Forventet Lukning" +msgstr "Måned for forventet lukning" #. module: crm #: selection:crm.team,dashboard_graph_group_pipeline:0 @@ -859,7 +876,7 @@ msgstr "Forventede omsætninger" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_team__dashboard_graph_period_pipeline msgid "Expected to Close" -msgstr "Forventet at Lukke" +msgstr "Forventer at lukke ordren" #. module: crm #: model:ir.model.fields,help:crm.field_crm_stage__legend_priority @@ -908,7 +925,7 @@ msgstr "Følgere (partnere)" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor msgid "Followup" -msgstr "" +msgstr "Opfølgning" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead2opportunity_partner_mass__force_assignation @@ -937,6 +954,8 @@ msgid "" "Generate leads from incoming emails and assign them\n" " to a Sales Team manually" msgstr "" +"Generer slagsmuligheder fra indgående e-mails og tildele dem\n" +" manuelt til et salgsteam" #. module: crm #: model:ir.model,name:crm.model_crm_lead_lost @@ -947,6 +966,7 @@ msgstr "Få tabsårsag" #: model_terms:ir.ui.view,arch_db:crm.crm_stage_form msgid "Give your team the requirements to move an opportunity to this stage." msgstr "" +"Giv dit team beføjelser til, at flytte en salgsmulighed til denne fase." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__email_cc @@ -978,7 +998,7 @@ msgstr "Sortér efter" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_team__dashboard_graph_group_pipeline msgid "Grouping Method" -msgstr "" +msgstr "Grupperingsmetode" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_lead_action_activities @@ -1042,6 +1062,8 @@ msgid "" "If the email address is on the blacklist, the contact won't receive mass " "mailing anymore, from any list" msgstr "" +"Hvis e-mailadressen er blacklisted, vil kontakten ikke længere modtage " +"masseudskrifter fra enhver liste" #. module: crm #: model:ir.model.fields,help:crm.field_crm_lead2opportunity_partner_mass__force_assignation @@ -1072,7 +1094,7 @@ msgstr "Information" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor msgid "Initial Contact Information" -msgstr "" +msgstr "Kontaktoplysninger" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads @@ -1088,7 +1110,7 @@ msgstr "Fakturaer" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__message_is_follower msgid "Is Follower" -msgstr "Følger" +msgstr "Er følger" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__function @@ -1132,7 +1154,7 @@ msgstr "Sidst ændret den" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__date_last_stage_update msgid "Last Stage Update" -msgstr "Sidste fase opdatering" +msgstr "Sidste faseopdatering" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead2opportunity_partner__write_uid @@ -1179,7 +1201,7 @@ msgstr "Emne" #. module: crm #: model:ir.model,name:crm.model_crm_lead_tag msgid "Lead Tag" -msgstr "" +msgstr "Tag på kundeemne" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_lead_tag_form @@ -1260,14 +1282,14 @@ msgstr "Kundeemner med duplikater (til information)" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_merge_opportunity__opportunity_ids msgid "Leads/Opportunities" -msgstr "Kundeemner / Salgsmuligheder" +msgstr "Kundeemner / salgsmuligheder" #. module: crm #. openerp-web #: code:addons/crm/static/src/js/tour.js:47 #, python-format msgid "Let's schedule an activity." -msgstr "" +msgstr "Lad os planlægge en aktivitet." #. module: crm #: selection:crm.lead2opportunity.partner,action:0 @@ -1338,12 +1360,12 @@ msgstr "" #. module: crm #: model:ir.actions.server,name:crm.action_mark_activities_done msgid "Mark All Activities as Done" -msgstr "" +msgstr "Mærk alle aktiviteter som udført" #. module: crm #: model:ir.actions.server,name:crm.action_mark_late_activities_done msgid "Mark Late Activities as Done" -msgstr "" +msgstr "Mærk seneste aktiviteter som udført" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor @@ -1358,7 +1380,7 @@ msgstr "Mærk som vundet" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads msgid "Mark as Lost" -msgstr "" +msgstr "Mærk som tabt" #. module: crm #: model:ir.actions.server,name:crm.action_mark_as_lost @@ -1407,7 +1429,7 @@ msgstr "Flet kundemener/salgsmuligheder" #. module: crm #: model:ir.model,name:crm.model_crm_merge_opportunity msgid "Merge Opportunities" -msgstr "" +msgstr "Sammenlæg salgsmuligheder" #. module: crm #: model:ir.actions.act_window,name:crm.merge_opportunity_act @@ -1472,7 +1494,7 @@ msgstr "Mobil" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_activity_report_view_search msgid "My Activities" -msgstr "Mine Aktiviteter" +msgstr "Mine aktiviteter" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_leads_filter @@ -1504,7 +1526,7 @@ msgstr "Ny" #. module: crm #: model:ir.model.fields,field_description:crm.field_digest_digest__kpi_crm_lead_created msgid "New Leads/Opportunities" -msgstr "" +msgstr "Nyt kundeemne / Salgsmulighed" #. module: crm #: model:ir.actions.act_window,name:crm.action_opportunity_form @@ -1530,7 +1552,7 @@ msgstr "Oversigt over næste aktivitet" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__activity_type_id msgid "Next Activity Type" -msgstr "" +msgstr "Næste aktivitetstype" #. module: crm #: selection:crm.lead,kanban_state:0 @@ -1551,7 +1573,7 @@ msgstr "Intet emne" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_lead_action_activities msgid "No next activity" -msgstr "" +msgstr "Ingen næste aktivitet" #. module: crm #: selection:crm.lead,kanban_state:0 @@ -1576,7 +1598,7 @@ msgstr "Noter" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__message_needaction_counter msgid "Number of Actions" -msgstr "Antal aktioner" +msgstr "Antal handlinger" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__message_has_error_counter @@ -1615,17 +1637,17 @@ msgstr "" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_team_salesteams_view_kanban msgid "Open Opportunities" -msgstr "Åbne Salgsmuligheder" +msgstr "Åbne salgsmuligheder" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_team_salesteams_view_kanban msgid "Open Opportunity" -msgstr "Åben Salgsmulighed" +msgstr "Åben salgsmulighed" #. module: crm #: model:ir.model,name:crm.model_crm_lost_reason msgid "Opp. Lost Reason" -msgstr "" +msgstr "Årsag for tabt salgsmulighed" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_form_view_salesteams_opportunity @@ -1664,12 +1686,12 @@ msgstr "" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_team__opportunities_amount msgid "Opportunities Revenues" -msgstr "" +msgstr "Indtægter på salgsmuligheder" #. module: crm #: model:ir.model.fields,field_description:crm.field_digest_digest__kpi_crm_opportunities_won msgid "Opportunities Won" -msgstr "" +msgstr "Vundne salgsmuligheder" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter @@ -1680,6 +1702,7 @@ msgstr "Mine salgsmuligheder" #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter msgid "Opportunities with a date of Expected Closing which is in the past" msgstr "" +"Salgsmuligheder med en dato for forventet afslutning der er overskrevet" #. module: crm #: code:addons/crm/models/crm_lead.py:446 @@ -1700,7 +1723,7 @@ msgstr "Salgsmuligheder" #: model:mail.message.subtype,name:crm.mt_lead_create #: model:mail.message.subtype,name:crm.mt_salesteam_lead msgid "Opportunity Created" -msgstr "" +msgstr "Oprettet salgsmulighed" #. module: crm #: model:mail.message.subtype,name:crm.mt_lead_lost @@ -1727,7 +1750,7 @@ msgstr "Vundet salgsmulighed " #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_create msgid "Opportunity created" -msgstr "" +msgstr "Oprettet salgsmulighed" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_lost @@ -1757,22 +1780,22 @@ msgstr "Forfaldne salgsmuligheder" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__partner_address_email msgid "Partner Contact Email" -msgstr "Partner kontakt e-mail" +msgstr "Kontakt e-mail" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__partner_address_name msgid "Partner Contact Name" -msgstr "Partner kontakt navn" +msgstr "Kontakt navn" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__partner_address_phone msgid "Partner Contact Phone" -msgstr "" +msgstr "Kontakt telefon" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__partner_is_blacklisted msgid "Partner is blacklisted" -msgstr "" +msgstr "Kunde er blacklisted" #. module: crm #: model:ir.model,name:crm.model_crm_partner_binding @@ -1894,7 +1917,7 @@ msgstr "Forslag/tilbud" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__expected_revenue msgid "Prorated Revenue" -msgstr "" +msgstr "Forholdsmæssig indtjening" #. module: crm #: model:crm.stage,name:crm.stage_lead2 @@ -1910,6 +1933,8 @@ msgid "" "Ready to boost your sales? Your Pipeline can be found here, under the" " CRM app." msgstr "" +"Klar til at øge dit salg? Din pipeline kan findes herunder CRM" +" app." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__referred @@ -1979,7 +2004,7 @@ msgstr "Salgs team" #: code:addons/crm/models/crm_lead.py:1125 #, python-format msgid "Sales Team Settings" -msgstr "" +msgstr "Opsætning af salgsteam" #. module: crm #: model:ir.ui.menu,name:crm.crm_team_config @@ -2013,7 +2038,7 @@ msgstr "Søg kundeemner" #: model_terms:ir.ui.view,arch_db:crm.crm_lost_reason_view_search #: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter msgid "Search Opportunities" -msgstr "Søg kval. emner" +msgstr "Søg efter salgsmuligheder" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.merge_opportunity_form @@ -2023,7 +2048,7 @@ msgstr "Vælg kundemener/salgsmuligheder" #. module: crm #: model:ir.actions.act_window,name:crm.action_lead_mass_mail msgid "Send an email" -msgstr "" +msgstr "Send en e-mail" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_stage__sequence @@ -2038,7 +2063,7 @@ msgstr "Serviceydelser" #. module: crm #: model_terms:ir.actions.act_window,help:crm.crm_stage_action msgid "Set a new stage in your opportunity pipeline" -msgstr "" +msgstr "Opret en ny fase i din pipeline" #. module: crm #: model:ir.model.fields,help:crm.field_crm_stage__on_change @@ -2169,6 +2194,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status baseret på aktiviteter\n" +"Forfaldne: Forfaldsdato er allerede overskredet\n" +"I dag: Aktivitetsdato er i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__street @@ -2228,7 +2257,7 @@ msgstr "Tags" #. module: crm #: model:ir.ui.menu,name:crm.sales_team_menu_team_pipeline msgid "Team Pipelines" -msgstr "" +msgstr "Team pipeline" #. module: crm #: model:ir.model.fields,help:crm.field_crm_team__alias_id @@ -2284,6 +2313,8 @@ msgid "" "This is a name that helps you keep track of your different campaign efforts," " e.g. Fall_Drive, Christmas_Special" msgstr "" +"Dette er et navn, der hjælper dig med at holde styr på dine forskellige " +"kampagneindsatser" #. module: crm #: model:ir.model.fields,help:crm.field_crm_lead__medium_id @@ -2304,7 +2335,7 @@ msgstr "" #: code:addons/crm/static/src/js/tour.js:42 #, python-format msgid "This opportunity has no activity planned." -msgstr "" +msgstr "Denne salgsmulighed har ikke planlagt nogen aktiviteter." #. module: crm #: model:ir.model.fields,help:crm.field_crm_stage__probability @@ -2339,7 +2370,7 @@ msgstr "Dette mål eksisterer ikke." #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor msgid "Title" -msgstr "Titel" +msgstr "Overskrift" #. module: crm #: selection:crm.lead,activity_state:0 @@ -2369,7 +2400,7 @@ msgstr "Træning" #. module: crm #: model_terms:digest.tip,tip_description:crm.digest_tip_crm_0 msgid "Try Now" -msgstr "" +msgstr "Prøv nu" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_activity_report__lead_type @@ -2391,13 +2422,13 @@ msgstr "Ikke tildelt" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_team_salesteams_view_kanban msgid "Unassigned Lead" -msgstr "Ikke-tildelt Kundeemne" +msgstr "Ikke-tildelt kundeemne" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_team__unassigned_leads_count #: model_terms:ir.ui.view,arch_db:crm.crm_team_salesteams_view_kanban msgid "Unassigned Leads" -msgstr "Ikke-tildelte Kundeemner" +msgstr "Ikke-tildelte kundeemner" #. module: crm #: code:addons/crm/models/crm_team.py:201 @@ -2421,7 +2452,7 @@ msgstr "Ulæste besked tæller" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.res_config_settings_view_form msgid "Use an External Email Server" -msgstr "Anvend en Ekstern Email Server" +msgstr "Anvend en ekstern e-mailserver" #. module: crm #: selection:crm.lead2opportunity.partner.mass,action:0 @@ -2486,12 +2517,12 @@ msgstr "Bruges til at sortere faser. Lavere er bedre." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__user_email msgid "User Email" -msgstr "Bruger Email" +msgstr "Bruger e-mail" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__user_login msgid "User Login" -msgstr "Bruger Log ind" +msgstr "Bruger login" #. module: crm #: model:ir.model,name:crm.model_res_users @@ -2506,7 +2537,7 @@ msgstr "Meget høj" #. module: crm #: model:crm.lost.reason,name:crm.lost_reason_2 msgid "We don't have people/skills" -msgstr "Vi har ikke mennesker/faglighed" +msgstr "Vi har ikke medarbejdere/faglighed" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__website @@ -2516,7 +2547,7 @@ msgstr "Hjemmeside" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.res_config_settings_view_form msgid "Website Lead Generation" -msgstr "" +msgstr "Website leadgenerator" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__website_message_ids @@ -2538,21 +2569,22 @@ msgstr "Kontaktens hjemmeside" msgid "" "When sending mails, the default email address is taken from the Sales Team." msgstr "" +"Når du sender e-mails, er standard e-mailadressen hentet fra salgsteamet." #. module: crm #: selection:crm.team,dashboard_graph_period_pipeline:0 msgid "Within a Month" -msgstr "Inden for en Måned" +msgstr "Indenfor en måned" #. module: crm #: selection:crm.team,dashboard_graph_period_pipeline:0 msgid "Within a Week" -msgstr "Inden for en Uge" +msgstr "Indenfor en uge" #. module: crm #: selection:crm.team,dashboard_graph_period_pipeline:0 msgid "Within a Year" -msgstr "Inden for et År" +msgstr "Indenfor et år" #. module: crm #: code:addons/crm/models/crm_lead.py:1121 @@ -2570,7 +2602,7 @@ msgstr "Vundet" #. module: crm #: model:ir.model.fields,field_description:crm.field_res_users__target_sales_won msgid "Won in Opportunities Target" -msgstr "Vundet i salgmuligheder" +msgstr "Vundne salgmuligheder" #. module: crm #: code:addons/crm/models/crm_lead.py:402 @@ -2585,6 +2617,8 @@ msgid "" "You have to enable the Pipeline on your Sales Team to be able to set it as a" " content for the graph" msgstr "" +"Du skal aktivere pipeline på dit salgsteam for at kunne sætte det som " +"indhold i grafen." #. module: crm #: code:addons/crm/models/crm_lead.py:404 @@ -2623,7 +2657,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_oppor msgid "ZIP" -msgstr "post nr." +msgstr "Postnummer" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__zip @@ -2650,7 +2684,7 @@ msgstr "f.eks. www.odoo.com" #: code:addons/crm/models/crm_lead.py:946 #, python-format msgid "or send an email to %s" -msgstr "" +msgstr "eller send en e-mail til %s" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_stage__team_count diff --git a/addons/crm/i18n/it.po b/addons/crm/i18n/it.po index 9fe08eff4d3..019b4aa797b 100644 --- a/addons/crm/i18n/it.po +++ b/addons/crm/i18n/it.po @@ -3,28 +3,29 @@ # * crm # # Translators: -# Sergio Zanchetta , 2018 +# Pietro Della Notte , 2018 # Francesco Garganese , 2018 +# Simone Bernini , 2018 +# Giacomo Grasso , 2018 +# Christian , 2018 +# Alberto Carollo , 2018 +# Sebastiano Pistore , 2018 +# Cécile Collart , 2018 +# Romica Paun , 2018 # Martin Trigaux, 2018 # Luigi Di Naro , 2018 -# Simone Bernini , 2018 # Paolo Valier, 2018 -# Cécile Collart , 2018 -# Pietro Della Notte , 2018 -# Alberto Carollo , 2018 # David Minneci , 2018 +# Sergio Zanchetta , 2018 # Léonie Bouchat , 2018 -# Giacomo Grasso , 2018 -# Sebastiano Pistore , 2018 -# Christian , 2018 -# Romica Paun , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" -"PO-Revision-Date: 2018-10-08 06:48+0000\n" -"Last-Translator: Romica Paun , 2018\n" +"PO-Revision-Date: 2018-08-24 09:17+0000\n" +"Last-Translator: Léonie Bouchat , 2018\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" @@ -424,7 +425,7 @@ msgstr "Azienda" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads msgid "Company Name" -msgstr "Nome dell’azienda" +msgstr "Nome azienda" #. module: crm #: model:ir.model,name:crm.model_res_config_settings @@ -457,7 +458,7 @@ msgstr "Contatto" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead__contact_name msgid "Contact Name" -msgstr "Nome di contatto" +msgstr "Nome contatto" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.res_config_settings_view_form @@ -613,8 +614,8 @@ msgid "" "Create tags that fit your business (product structure, sales type, etc.) to " "better manage and tack your opportunities." msgstr "" -"Crea tag che si adattino alla tua attività (struttura del prodotto, tipo di " -"vendita, ecc.) Per gestire e affinare meglio le tue opportunità." +"Crea etichette che si adattano all'attività (struttura del prodotto, tipo di" +" vendita ecc.) per gestire e affinare meglio le opportunità." #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_activity_report__author_id @@ -737,7 +738,7 @@ msgstr "Elimina" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads msgid "Describe the lead..." -msgstr "Descrivi il Lead…" +msgstr "Descrivere il lead…" #. module: crm #: model:crm.lead.tag,name:crm.categ_oppor5 @@ -910,7 +911,7 @@ msgstr "Filtri Estesi" #. module: crm #: model_terms:ir.ui.view,arch_db:crm.crm_case_form_view_leads msgid "Extra Info" -msgstr "Info aggiuntive" +msgstr "Informazioni aggiuntive" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_stage__fold @@ -1228,7 +1229,7 @@ msgstr "Tag lead" #: model_terms:ir.ui.view,arch_db:crm.crm_lead_tag_form #: model_terms:ir.ui.view,arch_db:crm.crm_lead_tag_tree msgid "Lead Tags" -msgstr "Tag associati ai lead" +msgstr "Etichette associate ai lead" #. module: crm #: model:ir.model,name:crm.model_crm_lead @@ -2037,12 +2038,12 @@ msgstr "Team di vendita" #: code:addons/crm/models/crm_lead.py:1125 #, python-format msgid "Sales Team Settings" -msgstr "Configurazione del team di vendita" +msgstr "Impostazioni team di vendita" #. module: crm #: model:ir.ui.menu,name:crm.crm_team_config msgid "Sales Teams" -msgstr "Team di Vendita" +msgstr "Team di vendita" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_lead2opportunity_partner_mass__user_ids @@ -2288,7 +2289,7 @@ msgstr "Il nome del Tag esiste già !" #: model:ir.model.fields,field_description:crm.field_crm_lead__tag_ids #: model:ir.ui.menu,name:crm.menu_crm_lead_categ msgid "Tags" -msgstr "Tags" +msgstr "Etichette" #. module: crm #: model:ir.ui.menu,name:crm.sales_team_menu_team_pipeline diff --git a/addons/crm/i18n/zh_CN.po b/addons/crm/i18n/zh_CN.po index 3d1adc37e9b..8c8d873cc56 100644 --- a/addons/crm/i18n/zh_CN.po +++ b/addons/crm/i18n/zh_CN.po @@ -393,7 +393,7 @@ msgstr "关闭不能转化为商机的线索" #: model:ir.model.fields,field_description:crm.field_crm_lead__color #: model:ir.model.fields,field_description:crm.field_crm_lead_tag__color msgid "Color Index" -msgstr "更多颜色" +msgstr "颜色索引" #. module: crm #: model:ir.model.fields,field_description:crm.field_crm_activity_report__company_id diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index a288ebb9f85..0f6766b99f8 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -88,7 +88,7 @@ class Lead(models.Model): stage_id = fields.Many2one('crm.stage', string='Stage', ondelete='restrict', track_visibility='onchange', index=True, domain="['|', ('team_id', '=', False), ('team_id', '=', team_id)]", group_expand='_read_group_stage_ids', default=lambda self: self._default_stage_id()) - user_id = fields.Many2one('res.users', string='Salesperson', index=True, track_visibility='onchange', default=lambda self: self.env.user) + user_id = fields.Many2one('res.users', string='Salesperson', track_visibility='onchange', default=lambda self: self.env.user) referred = fields.Char('Referred By') date_open = fields.Datetime('Assignation Date', readonly=True, default=fields.Datetime.now) @@ -133,6 +133,13 @@ class Lead(models.Model): ('check_probability', 'check(probability >= 0 and probability <= 100)', 'The probability of closing the deal should be between 0% and 100%!') ] + @api.model_cr_context + def _auto_init(self): + res = super(Lead, self)._auto_init() + tools.create_index(self._cr, 'crm_lead_user_id_team_id_type_index', + self._table, ['user_id', 'team_id', 'type']) + return res + @api.model def _read_group_stage_ids(self, stages, domain, order): # retrieve team_id from the context and write the domain diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml index 5495f0f5d32..7905bff1ce5 100644 --- a/addons/crm/views/crm_lead_views.xml +++ b/addons/crm/views/crm_lead_views.xml @@ -412,6 +412,18 @@ domain="[('probability', '=', 100)]"/> + + + + + + @@ -477,20 +489,20 @@
    \n" " " msgstr "" +"
    \n" +"

    \n" +" % set doc_name = 'pressupost' if object.state in ('draft', 'sent') else 'comanda'\n" +" Apreciat ${object.partner_id.name}\n" +" % if object.partner_id.parent_id:\n" +" (${object.partner_id.parent_id.name})\n" +" % endif\n" +"

    \n" +" Aquí trobarà\n" +" % if ctx.get('proforma')\n" +" en el document adjunt la factura proforma\n" +" % else\n" +" el document de ${doc_name} ${object.name}\n" +" % endif\n" +" % if object.origin:\n" +" (amb referència: ${object.origin} )\n" +" % endif\n" +" amb un import de ${format_amount(object.amount_total, object.pricelist_id.currency_id)}\n" +" de ${object.company_id.name}.\n" +"

    \n" +" No dubti en contactar amb nosaltres si té qualsevol dubte.\n" +"

    \n" +"
    \n" +" " #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template diff --git a/addons/sale/i18n/da.po b/addons/sale/i18n/da.po index 965693e09d0..079b8c0cbe9 100644 --- a/addons/sale/i18n/da.po +++ b/addons/sale/i18n/da.po @@ -466,7 +466,7 @@ msgstr "" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__access_warning msgid "Access warning" -msgstr "" +msgstr "Adgang advarsel" #. module: sale #: model:ir.model.fields,help:sale.field_sale_order_line__qty_delivered_method @@ -517,7 +517,7 @@ msgstr "Tilføj" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_order_form msgid "Add a note" -msgstr "" +msgstr "Tilføj en note" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_order_form @@ -853,7 +853,7 @@ msgstr "Beregn fragtomkostninger på ordrer" #. module: sale #: model:ir.model,name:sale.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: sale #: model:ir.ui.menu,name:sale.menu_sale_config @@ -1006,7 +1006,7 @@ msgstr "Kunde" #. module: sale #: model:ir.model.fields,field_description:sale.field_res_config_settings__auth_signup_uninvited msgid "Customer Account" -msgstr "" +msgstr "Konto" #. module: sale #: model:ir.model.fields,field_description:sale.field_res_config_settings__group_sale_delivery_address @@ -1027,7 +1027,7 @@ msgstr "" #. module: sale #: model:ir.model.fields,help:sale.field_sale_order__access_url msgid "Customer Portal URL" -msgstr "" +msgstr "Kundeportal URL" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__client_order_ref @@ -2004,7 +2004,7 @@ msgstr "Oversigt over næste aktivitet" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__activity_type_id msgid "Next Activity Type" -msgstr "" +msgstr "Næste aktivitetstype" #. module: sale #: selection:product.template,expense_policy:0 @@ -2467,7 +2467,7 @@ msgstr "" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__access_url msgid "Portal Access URL" -msgstr "" +msgstr "Portal adgangs URL" #. module: sale #: selection:sale.report,state:0 @@ -3276,7 +3276,7 @@ msgstr "Leveringsinformation" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.view_sales_order_filter msgid "Show all records which has next action date is before today" -msgstr "" +msgstr "Vis alle poster, hvor den næste handlingsdato er før i dag" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form @@ -3380,6 +3380,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status baseret på aktiviteter\n" +"Forfaldne: Forfaldsdato er allerede overskredet\n" +"I dag: Aktivitetsdato er i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: sale #: model:product.template.attribute.value,name:sale.product_template_attribute_value_3 @@ -3729,6 +3733,9 @@ msgid "" "list view and click on 'Portal Access Management' option in the dropdown " "menu *Action*." msgstr "" +"Hvis du vil sende invitationer i B2B-tilstand, skal du åbne en kontakt eller" +" vælge flere i listevisning og klikke på 'Portal Access Management' i " +"rullemenuen *Handling*." #. module: sale #: selection:sale.order,activity_state:0 diff --git a/addons/sale/i18n/de.po b/addons/sale/i18n/de.po index 9f311ba8cef..d1da427b596 100644 --- a/addons/sale/i18n/de.po +++ b/addons/sale/i18n/de.po @@ -53,8 +53,6 @@ msgid "" "${(object.name or '').replace('/','_')}${object.state == 'draft' and " "'_draft' or ''}" msgstr "" -"${(object.name or '').ersetzen('/','_')}${object.state == 'draft' and " -"'_draft' or ''}" #. module: sale #: model:mail.template,subject:sale.email_template_edi_sale diff --git a/addons/sale/i18n/es.po b/addons/sale/i18n/es.po index 84e90d873de..6c9146fc10e 100644 --- a/addons/sale/i18n/es.po +++ b/addons/sale/i18n/es.po @@ -29,6 +29,7 @@ # Lucas Weigandt , 2018 # Cris Martin , 2018 # Pilar Marín , 2018 +# Omar Torres , 2018 # msgid "" msgstr "" @@ -36,7 +37,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" "PO-Revision-Date: 2018-08-24 09:24+0000\n" -"Last-Translator: Pilar Marín , 2018\n" +"Last-Translator: Omar Torres , 2018\n" "Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -170,7 +171,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template msgid " Accept & Sign" -msgstr "" +msgstr " Aceptar y Firmar" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template @@ -291,7 +292,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template msgid "Accepted on the behalf of:" -msgstr "" +msgstr "Aceptado en nombre de:" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template @@ -302,6 +303,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template msgid "By signing this proposal, I agree to the following terms:" msgstr "" +"Al firmar esta propuesta, acepto los siguientes términos:" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document @@ -316,7 +318,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template msgid "For an amount of:" -msgstr "" +msgstr "Por la cantidad de:" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.report_saleorder_document @@ -499,7 +501,7 @@ msgstr "" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_order_portal_template msgid "Accept & Pay" -msgstr "" +msgstr "Aceptar y Pagar" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_order__access_warning diff --git a/addons/sale/i18n/it.po b/addons/sale/i18n/it.po index eb7e6442c80..740a35aa8d9 100644 --- a/addons/sale/i18n/it.po +++ b/addons/sale/i18n/it.po @@ -12,7 +12,7 @@ # Simone Bernini , 2018 # Giacomo Grasso , 2018 # Cécile Collart , 2018 -# SebastianoPistore , 2018 +# Sebastiano Pistore , 2018 # pfaodoo , 2018 # Alberto Vincenzi , 2018 # Paolo Caruccio , 2018 @@ -457,13 +457,13 @@ msgstr "Il tuo Riferimento:" #: code:addons/sale/models/sale.py:811 #, python-format msgid "A journal must be specified of the acquirer %s." -msgstr "" +msgstr "Deve essere specificato un registro per il servizio %s." #. module: sale #: code:addons/sale/models/sale.py:804 #, python-format msgid "A payment acquirer is required to create a transaction." -msgstr "" +msgstr "Per creare una transazione è necessario un servizio di pagamento." #. module: sale #: selection:res.config.settings,sale_pricelist_setting:0 @@ -1638,7 +1638,7 @@ msgstr "Ordine invalido" #: code:addons/sale/models/sale.py:794 #, python-format msgid "Invalid token found! Token acquirer %s != %s" -msgstr "" +msgstr "Rilevato token non valido. Token del servizio %s != %s" #. module: sale #: code:addons/sale/models/sale.py:797 @@ -3352,7 +3352,7 @@ msgstr "Stabilisci diversi prezzi per un prodotto, sconti automatici, ecc. " #. module: sale #: model_terms:ir.ui.view,arch_db:sale.sale_onboarding_order_confirmation_step msgid "Set payments" -msgstr "Salda i pagamenti" +msgstr "Imposta pagamenti" #. module: sale #: model_terms:ir.ui.view,arch_db:sale.res_config_settings_view_form diff --git a/addons/sale/i18n/ru.po b/addons/sale/i18n/ru.po index dbedd7249e8..8735b2eed58 100644 --- a/addons/sale/i18n/ru.po +++ b/addons/sale/i18n/ru.po @@ -3,23 +3,25 @@ # * sale # # Translators: -# Martin Trigaux, 2018 -# Collex100, 2018 # Max Belyanin , 2018 -# Viktor Pogrebniak , 2018 -# Артур Чеботарь , 2018 # Максим Дронь , 2018 +# Артур Чеботарь , 2018 # Алексей , 2018 +# Viktor Pogrebniak , 2018 # sergeiruzkiicode , 2018 +# Collex100, 2018 +# Martin Trigaux, 2018 # Sergey Vilizhanin, 2018 # Dmitry sky , 2018 +# Disaster Disasterov , 2018 +# 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" -"Last-Translator: Dmitry sky , 2018\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Last-Translator: Disaster Disasterov , 2018\n" "Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,7 +37,7 @@ msgstr "кол-во строк" #. module: sale #: model:ir.model.fields,field_description:sale.field_payment_transaction__sale_order_ids_nbr msgid "# of Sales Orders" -msgstr "" +msgstr "кол-во ордеров" #. module: sale #: model:mail.template,report_name:sale.email_template_edi_sale diff --git a/addons/sale/i18n/uk.po b/addons/sale/i18n/uk.po index 589459ca1fb..e34c2472156 100644 --- a/addons/sale/i18n/uk.po +++ b/addons/sale/i18n/uk.po @@ -3411,7 +3411,7 @@ msgstr "Переміщення запасів" #. module: sale #: selection:res.company,sale_onboarding_payment_method:0 msgid "Stripe" -msgstr "Смуга" +msgstr "Stripe" #. module: sale #: model:ir.model.fields,field_description:sale.field_sale_payment_acquirer_onboarding_wizard__stripe_publishable_key diff --git a/addons/sale/models/sales_team.py b/addons/sale/models/sales_team.py index 3dd93e94b6f..bb0686c50c9 100644 --- a/addons/sale/models/sales_team.py +++ b/addons/sale/models/sales_team.py @@ -39,13 +39,28 @@ class CrmTeam(models.Model): def _compute_quotations_to_invoice(self): non_website_teams = self.filtered(lambda team: team.team_type != 'website') if non_website_teams: - quotation_data = self.env['sale.report'].read_group([ + query = self.env['sale.order']._where_calc([ ('team_id', 'in', non_website_teams.ids), ('state', 'in', ['draft', 'sent']), - ], ['price_total', 'team_id', 'name'], ['team_id', 'name'], lazy=False) + ]) + self.env['sale.order']._apply_ir_rules(query, 'read') + _, where_clause, where_clause_args = query.get_sql() + select_query = """ + SELECT team_id, count(*), sum(amount_total / + CASE COALESCE(currency_rate, 0) + WHEN 0 THEN 1.0 + ELSE currency_rate + END + ) as amount_total + FROM sale_order + WHERE %s + GROUP BY team_id + """ % where_clause + self.env.cr.execute(select_query, where_clause_args) + quotation_data = self.env.cr.dictfetchall() for datum in quotation_data: - self.browse(datum['team_id'][0]).quotations_amount += datum['price_total'] - self.browse(datum['team_id'][0]).quotations_count += 1 + self.browse(datum['team_id']).quotations_amount = datum['amount_total'] + self.browse(datum['team_id']).quotations_count = datum['count'] @api.multi def _compute_sales_to_invoice(self): diff --git a/addons/sale/static/src/js/sale.js b/addons/sale/static/src/js/sale.js index 374508f721b..9d2d9313bac 100644 --- a/addons/sale/static/src/js/sale.js +++ b/addons/sale/static/src/js/sale.js @@ -19,30 +19,40 @@ KanbanRecord.include({ */ _onSalesTeamTargetClick: function (ev) { ev.preventDefault(); + var self = this; this.$target_input = $(''); this.$('.o_kanban_primary_bottom:last').html(this.$target_input); this.$('.o_kanban_primary_bottom:last').prepend(_t("Set an invoicing target: ")); this.$target_input.focus(); + this.$target_input.on({ + blur: this._onSalesTeamTargetSet.bind(this), + keydown: function (ev) { + if (ev.keyCode === $.ui.keyCode.ENTER) { + self._onSalesTeamTargetSet(); + } + }, + }); + }, + /** + * Mostly a handler for what happens to the input "this.$target_input" + * + * @private + * @param {JqueryEvent} ev + * + */ + _onSalesTeamTargetSet: function () { var self = this; - this.$target_input.blur(function() { - var value = Number(self.$target_input.val()); - if (isNaN(value)) { - self.do_warn(_t("Wrong value entered!"), _t("Only Integer Value should be valid.")); - } else { - self._rpc({ - model: 'crm.team', - method: 'write', - args: [[self.id], { 'invoiced_target': value }], - }) - .done(function() { - self.trigger_up('kanban_record_update', {id: self.id}); - }); + var value = Number(this.$target_input.val()); + if (isNaN(value)) { + this.do_warn(_t("Wrong value entered!"), _t("Only Integer Value should be valid.")); + } else { + this.trigger_up('kanban_record_update', {invoiced_target: value}); + this.trigger_up('reload'); // TODO: previous lines can be refactored as follows (in master) // self.trigger_up('kanban_record_update', {invoiced_target: value}); - } - }); + } }, }); diff --git a/addons/sale/static/tests/sales_team_dashboard_tests.js b/addons/sale/static/tests/sales_team_dashboard_tests.js index fca880dcc73..5a79c1ff4d4 100644 --- a/addons/sale/static/tests/sales_team_dashboard_tests.js +++ b/addons/sale/static/tests/sales_team_dashboard_tests.js @@ -23,7 +23,7 @@ QUnit.module('Sales Team Dashboard', { }); QUnit.test('edit target with several o_kanban_primary_bottom divs [REQUIRE FOCUS]', function (assert) { - assert.expect(4); + assert.expect(6); var kanban = createView({ View: KanbanView, @@ -33,6 +33,7 @@ QUnit.test('edit target with several o_kanban_primary_bottom divs [REQUIRE FOCUS '' + '' + '
    ' + + '' + '' + 'Click to define a target' + '
    ' + @@ -46,6 +47,10 @@ QUnit.test('edit target with several o_kanban_primary_bottom divs [REQUIRE FOCUS assert.strictEqual(args.args[1].invoiced_target, 123, "new value is correctly saved"); } + if (args.method === 'read') { // Read happens after the write + assert.deepEqual(args.args[1], ['invoiced_target', 'display_name'], + 'the read (after write) should ask for invoiced_target'); + } return this._super.apply(this, arguments); }, }); @@ -63,6 +68,54 @@ QUnit.test('edit target with several o_kanban_primary_bottom divs [REQUIRE FOCUS kanban.$('.o_kanban_primary_bottom:last input').val('123'); kanban.$('.o_kanban_primary_bottom:last input').blur(); + assert.strictEqual(kanban.$('.o_kanban_record').text(), "123Click to define a target", + 'The kanban record should display the updated target value'); + + kanban.destroy(); +}); + +QUnit.test('edit target supports push Enter', function (assert) { + assert.expect(3); + + var kanban = createView({ + View: KanbanView, + model: 'crm.team', + data: this.data, + arch: '' + + '' + + '' + + '
    ' + + '' + + '' + + 'Click to define a target' + + '
    ' + + '
    ' + + '
    ' + + '' + + '' + + '', + mockRPC: function (route, args) { + if (args.method === 'write') { + assert.strictEqual(args.args[1].invoiced_target, 123, + "new value is correctly saved"); + } + if (args.method === 'read') { // Read happens after the write + assert.deepEqual(args.args[1], ['invoiced_target', 'display_name'], + 'the read (after write) should ask for invoiced_target'); + } + return this._super.apply(this, arguments); + }, + }); + + kanban.$('a.sales_team_target_definition').click(); + + kanban.$('.o_kanban_primary_bottom:last input').focus(); + kanban.$('.o_kanban_primary_bottom:last input').val('123'); + kanban.$('.o_kanban_primary_bottom:last input').trigger($.Event('keydown', {which: $.ui.keyCode.ENTER, keyCode: $.ui.keyCode.ENTER})); + + assert.strictEqual(kanban.$('.o_kanban_record').text(), "123Click to define a target", + 'The kanban record should display the updated target value'); + kanban.destroy(); }); diff --git a/addons/sale_crm/i18n/da.po b/addons/sale_crm/i18n/da.po index 267f9f5e911..ce276c562d7 100644 --- a/addons/sale_crm/i18n/da.po +++ b/addons/sale_crm/i18n/da.po @@ -5,16 +5,17 @@ # Translators: # Martin Trigaux, 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -148,6 +149,8 @@ msgid "" "This is a name that helps you keep track of your different campaign efforts," " e.g. Fall_Drive, Christmas_Special" msgstr "" +"Dette er et navn, der hjælper dig med at holde styr på dine forskellige " +"kampagneindsatser" #. module: sale_crm #: model:ir.model.fields,help:sale_crm.field_account_invoice__medium_id diff --git a/addons/sale_management/i18n/da.po b/addons/sale_management/i18n/da.po index b50fbdd6f34..a921a23144d 100644 --- a/addons/sale_management/i18n/da.po +++ b/addons/sale_management/i18n/da.po @@ -64,7 +64,7 @@ msgstr "Aktiv" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_template_view_form msgid "Add a note" -msgstr "" +msgstr "Tilføj en note" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_form_quote @@ -115,7 +115,7 @@ msgstr "Egenskaber" #. module: sale_management #: model:ir.model,name:sale_management.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: sale_management #: model_terms:ir.ui.view,arch_db:sale_management.sale_order_template_view_form @@ -180,7 +180,7 @@ msgstr "" #. module: sale_management #: model:ir.model,name:sale_management.model_digest_digest msgid "Digest" -msgstr "" +msgstr "Digest" #. module: sale_management #: model:ir.model.fields,field_description:sale_management.field_sale_order_option__discount @@ -207,6 +207,7 @@ msgstr "Vis type" #, python-format msgid "Do not have access, skip this data for user's digest email" msgstr "" +"Har ikke adgang, spring over disse data til brugerens opsummerings e-mail" #. module: sale_management #: sql_constraint:sale.order.template.line:0 diff --git a/addons/sale_quotation_builder/i18n/da.po b/addons/sale_quotation_builder/i18n/da.po index 700f46e4865..7c6494bbe62 100644 --- a/addons/sale_quotation_builder/i18n/da.po +++ b/addons/sale_quotation_builder/i18n/da.po @@ -8,13 +8,15 @@ # Morten Schou , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -77,7 +79,7 @@ msgstr "Luk" #. module: sale_quotation_builder #: model:ir.model,name:sale_quotation_builder.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: sale_quotation_builder #: model_terms:ir.ui.view,arch_db:sale_quotation_builder.sale_order_template_view_form_inherit_sale_quotation_builder diff --git a/addons/sale_stock/i18n/da.po b/addons/sale_stock/i18n/da.po index 1f637a162f3..a87b382b966 100644 --- a/addons/sale_stock/i18n/da.po +++ b/addons/sale_stock/i18n/da.po @@ -3,19 +3,20 @@ # * sale_stock # # Translators: -# Martin Trigaux, 2018 # Morten Schou , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Martin Trigaux, 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-24 09:34+0000\n" -"PO-Revision-Date: 2018-10-24 09:34+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:25+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -141,7 +142,7 @@ msgstr "" #. module: sale_stock #: model:ir.model,name:sale_stock.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: sale_stock #: selection:sale.order,picking_policy:0 diff --git a/addons/sale_stock/i18n/es_CO.po b/addons/sale_stock/i18n/es_CO.po index fbd7e39186a..997a7323c8e 100644 --- a/addons/sale_stock/i18n/es_CO.po +++ b/addons/sale_stock/i18n/es_CO.po @@ -296,7 +296,7 @@ msgstr "Movimiento de Existencias" #: code:addons/sale_stock/sale_stock.py:213 #, fuzzy, python-format msgid "This product is packaged by %s %s. You should sell %s %s." -msgstr "Este producto es empacado por %d. Usted debería vender %d." +msgstr "Este producto es empacado por %s %s. Usted debería vender %s %s." #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_picking diff --git a/addons/sale_stock/i18n/es_EC.po b/addons/sale_stock/i18n/es_EC.po index f9c77f9270b..5b8215207b4 100644 --- a/addons/sale_stock/i18n/es_EC.po +++ b/addons/sale_stock/i18n/es_EC.po @@ -298,7 +298,7 @@ msgstr "Movimiento de existencias" #: code:addons/sale_stock/sale_stock.py:213 #, fuzzy, python-format msgid "This product is packaged by %s %s. You should sell %s %s." -msgstr "Este producto es empaquetado por %d . Debería vender %d ." +msgstr "Este producto es empaquetado por %s %s. Debería vender %s %s." #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_picking diff --git a/addons/sale_stock/i18n/uk.po b/addons/sale_stock/i18n/uk.po index e17ac72edef..79eebcd01b0 100644 --- a/addons/sale_stock/i18n/uk.po +++ b/addons/sale_stock/i18n/uk.po @@ -6,12 +6,13 @@ # Martin Trigaux, 2018 # Bohdan Lisnenko, 2018 # Alina Lisnenko , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-24 09:34+0000\n" -"PO-Revision-Date: 2018-10-24 09:34+0000\n" +"PO-Revision-Date: 2018-08-24 09:25+0000\n" "Last-Translator: Alina Lisnenko , 2018\n" "Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n" "MIME-Version: 1.0\n" @@ -487,7 +488,7 @@ msgstr "Переміщення запасів" #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_rule msgid "Stock Rule" -msgstr "" +msgstr "Складське правило" #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_rules_report diff --git a/addons/sale_stock/views/stock_production_lot_views.xml b/addons/sale_stock/views/stock_production_lot_views.xml index 82b5ac9fb69..eb0484eb38c 100644 --- a/addons/sale_stock/views/stock_production_lot_views.xml +++ b/addons/sale_stock/views/stock_production_lot_views.xml @@ -25,7 +25,7 @@ - + diff --git a/addons/sale_timesheet/models/product.py b/addons/sale_timesheet/models/product.py index 4057b628ae7..3f014013720 100644 --- a/addons/sale_timesheet/models/product.py +++ b/addons/sale_timesheet/models/product.py @@ -94,3 +94,17 @@ class ProductTemplate(models.Model): self.service_type = 'timesheet' elif self.type == 'consu' and self.service_policy == 'ordered_timesheet': self.invoice_policy = 'order' + + +class ProductProduct(models.Model): + _inherit = 'product.product' + + @api.onchange('service_tracking') + def _onchange_service_tracking(self): + if self.service_tracking == 'no': + self.project_id = False + self.project_template_id = False + elif self.service_tracking == 'task_global_project': + self.project_template_id = False + elif self.service_tracking in ['task_new_project', 'project_only']: + self.project_id = False diff --git a/addons/sales_team/i18n/da.po b/addons/sales_team/i18n/da.po index df0065c1ca8..7211d490c78 100644 --- a/addons/sales_team/i18n/da.po +++ b/addons/sales_team/i18n/da.po @@ -11,6 +11,7 @@ # Pernille Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -18,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" "PO-Revision-Date: 2018-08-24 09:25+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -451,7 +452,7 @@ msgstr "Team medlemmer" #. module: sales_team #: model:ir.actions.act_window,name:sales_team.crm_team_salesteams_act msgid "Team Pipelines" -msgstr "" +msgstr "Team pipeline" #. module: sales_team #: model:ir.model.fields,field_description:sales_team.field_crm_team__team_type diff --git a/addons/snailmail/i18n/da.po b/addons/snailmail/i18n/da.po index e65db09fc73..97ba246c5c6 100644 --- a/addons/snailmail/i18n/da.po +++ b/addons/snailmail/i18n/da.po @@ -9,8 +9,8 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -18,7 +18,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-30 12:25+0000\n" "PO-Revision-Date: 2018-08-24 09:25+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -92,7 +92,7 @@ msgstr "Virksomhed" #. module: snailmail #: model:ir.model,name:snailmail.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: snailmail #: model:ir.model,name:snailmail.model_res_partner diff --git a/addons/snailmail_account/i18n/da.po b/addons/snailmail_account/i18n/da.po index 591adaa0520..e1ee70e100d 100644 --- a/addons/snailmail_account/i18n/da.po +++ b/addons/snailmail_account/i18n/da.po @@ -5,6 +5,7 @@ # Translators: # Martin Trigaux, 2018 # Pernille Kristensen , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -12,7 +13,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-11-05 09:29+0000\n" "PO-Revision-Date: 2018-08-24 09:25+0000\n" -"Last-Translator: Pernille Kristensen , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -45,7 +46,7 @@ msgstr "Virksomheder" #. module: snailmail_account #: model:ir.model,name:snailmail_account.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: snailmail_account #: model:ir.model.fields,field_description:snailmail_account.field_account_invoice_send__currency_id diff --git a/addons/stock/i18n/da.po b/addons/stock/i18n/da.po index 8aa84dea159..f0c9b3d0104 100644 --- a/addons/stock/i18n/da.po +++ b/addons/stock/i18n/da.po @@ -9,11 +9,11 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Jarnhold Nattestad , 2018 -# Sanne Kristensen , 2018 # Martin Trigaux, 2018 # Pernille Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -21,7 +21,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-24 09:34+0000\n" "PO-Revision-Date: 2018-08-24 09:25+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -988,7 +988,7 @@ msgstr "Betingelser" #. module: stock #: model:ir.model,name:stock.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: stock #: model:ir.ui.menu,name:stock.menu_stock_config_settings @@ -3310,7 +3310,7 @@ msgstr "Oversigt over næste aktivitet" #: model:ir.model.fields,field_description:stock.field_stock_picking__activity_type_id #: model:ir.model.fields,field_description:stock.field_stock_production_lot__activity_type_id msgid "Next Activity Type" -msgstr "" +msgstr "Næste aktivitetstype" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.exception_on_picking @@ -5178,7 +5178,7 @@ msgstr "" #. module: stock #: model_terms:ir.ui.view,arch_db:stock.view_picking_internal_search msgid "Show all records which has next action date is before today" -msgstr "" +msgstr "Vis alle poster, hvor den næste handlingsdato er før i dag" #. module: stock #: model:ir.model.fields,help:stock.field_stock_rules_report__warehouse_ids @@ -5298,6 +5298,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status baseret på aktiviteter\n" +"Forfaldne: Forfaldsdato er allerede overskredet\n" +"I dag: Aktivitetsdato er i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: stock #: code:addons/stock/models/stock_warehouse.py:443 @@ -6103,7 +6107,7 @@ msgstr "Enhedspris" #. module: stock #: selection:barcode.rule,type:0 msgid "Unit Product" -msgstr "" +msgstr "Stk. produkt" #. module: stock #: model:ir.model.fields,field_description:stock.field_stock_move__product_uom diff --git a/addons/stock/i18n/ru.po b/addons/stock/i18n/ru.po index 8c81f7b2578..f588468bc90 100644 --- a/addons/stock/i18n/ru.po +++ b/addons/stock/i18n/ru.po @@ -3,23 +3,25 @@ # * stock # # Translators: -# Максим Дронь , 2018 +# Denis Trepalin , 2018 +# Max Belyanin , 2018 +# dzord dzord , 2018 +# Andrey Samorukov , 2018 # Gennady Marchenko , 2018 +# Sergey Vilizhanin, 2018 +# Viktor Pogrebniak , 2018 +# Максим Дронь , 2018 # Martin Trigaux, 2018 # Collex100, 2018 -# Sergey Vilizhanin, 2018 -# Max Belyanin , 2018 -# Denis Trepalin , 2018 -# Viktor Pogrebniak , 2018 -# Andrey Samorukov , 2018 -# dzord dzord , 2018 +# Victor Safronovich , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-24 09:34+0000\n" -"PO-Revision-Date: 2018-10-24 09:34+0000\n" -"Last-Translator: dzord dzord , 2018\n" +"PO-Revision-Date: 2018-08-24 09:25+0000\n" +"Last-Translator: Victor Safronovich , 2018\n" "Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2536,7 +2538,7 @@ msgstr "Позиция инвентаризации" #. module: stock #: model:ir.actions.act_window,name:stock.action_inventory_line_tree msgid "Inventory Lines" -msgstr "" +msgstr "Позиции инвентаризации" #. module: stock #: model:ir.model.fields,field_description:stock.field_product_template__property_stock_inventory diff --git a/addons/stock/i18n/uk.po b/addons/stock/i18n/uk.po index acc1073ade7..34978d97881 100644 --- a/addons/stock/i18n/uk.po +++ b/addons/stock/i18n/uk.po @@ -5536,7 +5536,7 @@ msgstr "Історія складської кількості" #: model:ir.model,name:stock.model_stock_rule #: model:ir.model.fields,field_description:stock.field_stock_move__rule_id msgid "Stock Rule" -msgstr "" +msgstr "Складське правило" #. module: stock #: model:ir.actions.act_window,name:stock.action_stock_rules_report diff --git a/addons/stock_account/i18n/da.po b/addons/stock_account/i18n/da.po index cb6464ea797..49cfdc23fbf 100644 --- a/addons/stock_account/i18n/da.po +++ b/addons/stock_account/i18n/da.po @@ -7,16 +7,17 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:25+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -151,7 +152,7 @@ msgstr "Vælg dato" #. module: stock_account #: model:ir.model,name:stock_account.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: stock_account #: code:addons/stock_account/models/stock.py:587 diff --git a/addons/stock_account/models/stock.py b/addons/stock_account/models/stock.py index 37c69251c19..fc10fb468b9 100644 --- a/addons/stock_account/models/stock.py +++ b/addons/stock_account/models/stock.py @@ -269,7 +269,8 @@ class StockMove(models.Model): # Update the standard price with the price of the last used candidate, if any. if new_standard_price and move.product_id.cost_method == 'fifo': - move.product_id.sudo().standard_price = new_standard_price + move.product_id.sudo().with_context(force_company=move.company_id.id) \ + .standard_price = new_standard_price # If there's still quantity to value but we're out of candidates, we fall in the # negative stock use case. We chose to value the out move at the price of the diff --git a/addons/stock_dropshipping/i18n/uk.po b/addons/stock_dropshipping/i18n/uk.po index d80856078e1..3f3049faefa 100644 --- a/addons/stock_dropshipping/i18n/uk.po +++ b/addons/stock_dropshipping/i18n/uk.po @@ -5,12 +5,13 @@ # Translators: # Martin Trigaux, 2018 # Alina Lisnenko , 2018 +# 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" +"PO-Revision-Date: 2018-08-24 09:25+0000\n" "Last-Translator: Alina Lisnenko , 2018\n" "Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n" "MIME-Version: 1.0\n" @@ -50,7 +51,7 @@ msgstr "Рядок замовлення" #. module: stock_dropshipping #: model:ir.model,name:stock_dropshipping.model_stock_rule msgid "Stock Rule" -msgstr "" +msgstr "Складське правило" #. module: stock_dropshipping #: model:stock.rule,name:stock_dropshipping.stock_rule_drop_shipping diff --git a/addons/survey/i18n/da.po b/addons/survey/i18n/da.po index f7d5bed7093..a0463d7c80b 100644 --- a/addons/survey/i18n/da.po +++ b/addons/survey/i18n/da.po @@ -12,8 +12,8 @@ # Ejner Sønniksen , 2018 # Martin Trigaux, 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -21,7 +21,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" "PO-Revision-Date: 2018-08-24 09:25+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -738,7 +738,7 @@ msgstr "Udkast" #. module: survey #: model_terms:ir.ui.view,arch_db:survey.survey_kanban msgid "Dropdown menu" -msgstr "" +msgstr "Dropdown menu" #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_user_input__email @@ -1132,7 +1132,7 @@ msgstr "Forsinkede aktiviteter" #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_mail_compose_message__layout msgid "Layout" -msgstr "" +msgstr "Layout" #. module: survey #: selection:survey.user_input,type:0 @@ -1369,7 +1369,7 @@ msgstr "Oversigt over næste aktivitet" #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_survey__activity_type_id msgid "Next Activity Type" -msgstr "" +msgstr "Næste aktivitetstype" #. module: survey #: model_terms:ir.ui.view,arch_db:survey.page @@ -1921,7 +1921,7 @@ msgstr "Vis kommentar felt" #. module: survey #: model_terms:ir.ui.view,arch_db:survey.survey_survey_view_search msgid "Show all records which has next action date is before today" -msgstr "" +msgstr "Vis alle poster, hvor den næste handlingsdato er før i dag" #. module: survey #: selection:survey.question,type:0 @@ -1989,6 +1989,10 @@ msgid "" "Today: Activity date is today\n" "Planned: Future activities." msgstr "" +"Status baseret på aktiviteter\n" +"Forfaldne: Forfaldsdato er allerede overskredet\n" +"I dag: Aktivitetsdato er i dag\n" +"Planlagt: Fremtidige aktiviteter." #. module: survey #: model:ir.model.fields,field_description:survey.field_survey_mail_compose_message__subject diff --git a/addons/test_mail/tests/test_odoobot.py b/addons/test_mail/tests/test_odoobot.py index 50170f91604..07cdfaa0d3a 100644 --- a/addons/test_mail/tests/test_odoobot.py +++ b/addons/test_mail/tests/test_odoobot.py @@ -24,6 +24,14 @@ class TestOdoobot(BaseFunctionalTest, MockEmails, TestRecipients): self.odoobot_ping_body = '@OdooBot' % (self.odoobot.id, self.odoobot.id) self.test_record_employe = self.test_record.sudo(self.user_employee) + @mute_logger('odoo.addons.mail.models.mail_mail') + def test_fetch_listener(self): + channel = self.env['mail.channel'].sudo(self.user_employee).init_odoobot() + partners = self.env['mail.channel'].channel_fetch_listeners(channel.uuid) + odoobot = self.env.ref("base.partner_root") + odoobot_in_fetch_listeners = [partner for partner in partners if partner['id'] == odoobot.id] + self.assertEqual(len(odoobot_in_fetch_listeners), 1, 'odoobot should appear only once in channel_fetch_listeners') + @mute_logger('odoo.addons.mail.models.mail_mail') def test_odoobot_ping(self): kwargs = self.message_post_default_kwargs.copy() diff --git a/addons/test_mail/tests/test_ui.py b/addons/test_mail/tests/test_ui.py new file mode 100644 index 00000000000..f3f38d8a8c4 --- /dev/null +++ b/addons/test_mail/tests/test_ui.py @@ -0,0 +1,10 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import odoo.tests + + +@odoo.tests.tagged('post_install', '-at_install') +class TestUi(odoo.tests.HttpCase): + + def test_01_project_tour(self): + self.phantom_js("/web", "odoo.__DEBUG__.services['web_tour.tour'].run('mail_tour')", "odoo.__DEBUG__.services['web_tour.tour'].tours.mail_tour.ready", login="admin") diff --git a/addons/transifex/static/description/icon.png b/addons/transifex/static/description/icon.png index 9da4be521b0..9e6c9556004 100644 Binary files a/addons/transifex/static/description/icon.png and b/addons/transifex/static/description/icon.png differ diff --git a/addons/transifex/static/description/icon.svg b/addons/transifex/static/description/icon.svg new file mode 100644 index 00000000000..a1c957930b5 --- /dev/null +++ b/addons/transifex/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/utm/i18n/da.po b/addons/utm/i18n/da.po index 0ee4969231c..9fe1834ef32 100644 --- a/addons/utm/i18n/da.po +++ b/addons/utm/i18n/da.po @@ -7,16 +7,17 @@ # Martin Trigaux, 2018 # Morten Schou , 2018 # Jesper Carstensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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" -"Last-Translator: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -108,7 +109,7 @@ msgstr "Facebook" #. module: utm #: model:ir.model,name:utm.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: utm #: model:ir.model.fields,field_description:utm.field_utm_campaign__id @@ -197,6 +198,8 @@ msgid "" "This is a name that helps you keep track of your different campaign efforts," " e.g. Fall_Drive, Christmas_Special" msgstr "" +"Dette er et navn, der hjælper dig med at holde styr på dine forskellige " +"kampagneindsatser" #. module: utm #: model:ir.model.fields,help:utm.field_utm_mixin__medium_id diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index d0059a25a95..64cf2ca9ac5 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -525,7 +525,7 @@ class Home(http.Controller): request.env['res.users']._invalidate_session_cache() request.session.session_token = security.compute_session_token(request.session, request.env) - return http.redirect_with_hash(self._login_redirect(uid)) + return http.local_redirect(self._login_redirect(uid), keep_hash=True) class WebClient(http.Controller): diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po index 5c4b7f55073..bb16198224c 100644 --- a/addons/web/i18n/da.po +++ b/addons/web/i18n/da.po @@ -3,27 +3,28 @@ # * web # # Translators: -# Martin Trigaux, 2018 -# Hans Henrik Gabelgaard , 2018 # Kenneth Hansen , 2018 -# Morten Schou , 2018 # Jesper Carstensen , 2018 -# Jarnhold Nattestad , 2018 -# Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 -# Ejner Sønniksen , 2018 -# lhmflexerp , 2018 # peso , 2018 -# jonas jensen , 2018 # Visti Kristensen , 2018 # Jonathan Stein , 2018 +# Martin Trigaux, 2018 +# Hans Henrik Gabelgaard , 2018 +# jonas jensen , 2018 +# Morten Schou , 2018 +# Jarnhold Nattestad , 2018 +# Pernille Kristensen , 2018 +# Ejner Sønniksen , 2018 +# lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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" -"Last-Translator: Jonathan Stein , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -1247,7 +1248,7 @@ msgstr "Download xls" #: code:addons/web/static/src/xml/base.xml:1556 #, python-format msgid "Dropdown menu" -msgstr "" +msgstr "Dropdown menu" #. module: web #. openerp-web @@ -1641,7 +1642,7 @@ msgstr "Sortér efter: %s" #. module: web #: model:ir.model,name:web.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po index d10e0618f04..c9419478555 100644 --- a/addons/web/i18n/en_GB.po +++ b/addons/web/i18n/en_GB.po @@ -1518,13 +1518,6 @@ msgstr "No results to show..." msgid "No selected record" msgstr "" -#. module: web -#. openerp-web -#: code:addons/web/static/src/js/views/form_relational_widgets.js:329 -#, fuzzy, python-format -msgid "No value found for the field %s for value %s" -msgstr "No value found for the field for value %s" - #. module: web #. openerp-web #: code:addons/web/static/src/js/framework/utils.js:144 diff --git a/addons/web/i18n/es_AR.po b/addons/web/i18n/es_AR.po index 4e28ef7be45..fbab2c0e3da 100644 --- a/addons/web/i18n/es_AR.po +++ b/addons/web/i18n/es_AR.po @@ -1531,13 +1531,6 @@ msgstr "Sin resultados que mostrar..." msgid "No selected record" msgstr "" -#. module: web -#. openerp-web -#: code:addons/web/static/src/js/views/form_relational_widgets.js:329 -#, fuzzy, python-format -msgid "No value found for the field %s for value %s" -msgstr "No se ha encontrado ningún valor para el valor del campo " - #. module: web #. openerp-web #: code:addons/web/static/src/js/framework/utils.js:144 diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po index d38d22b3403..c96276dc87a 100644 --- a/addons/web/i18n/es_EC.po +++ b/addons/web/i18n/es_EC.po @@ -1529,13 +1529,6 @@ msgstr "Sin resultados que mostrar..." msgid "No selected record" msgstr "Sin registro seleccionado" -#. module: web -#. openerp-web -#: code:addons/web/static/src/js/views/form_relational_widgets.js:329 -#, fuzzy, python-format -msgid "No value found for the field %s for value %s" -msgstr "No se encuentran valores para el campo" - #. module: web #. openerp-web #: code:addons/web/static/src/js/framework/utils.js:144 diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index ef7ea2d7fe5..c246d4285d4 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -3,11 +3,9 @@ # * web # # Translators: -# Cécile Collart , 2018 # Cesare Cugnasco , 2018 # Luca Tralli, 2018 # Pietro Della Notte , 2018 -# efraimbiffi , 2018 # Francesco Garganese , 2018 # Luigi Di Naro , 2018 # Giacomo Grasso , 2018 @@ -180,7 +178,7 @@ msgstr "'%s' non è un intero corretto" #: code:addons/web/static/src/js/fields/field_utils.js:548 #, python-format msgid "'%s' is not a correct monetary field" -msgstr "" +msgstr "\"%s\" non è un campo monetario corretto" #. module: web #. openerp-web @@ -230,7 +228,7 @@ msgstr "(senza etichetta)" #: code:addons/web/static/src/js/fields/field_utils.js:283 #, python-format msgid "1 record" -msgstr "" +msgstr "1 record" #. module: web #. openerp-web @@ -344,7 +342,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1126 #, python-format msgid "Add Custom Filter" -msgstr "Aggiungi filtro" +msgstr "Aggiungi filtro personalizzato" #. module: web #. openerp-web @@ -358,14 +356,14 @@ msgstr "Aggiungi gruppo personalizzato" #: code:addons/web/static/src/xml/kanban.xml:49 #, python-format msgid "Add a Column" -msgstr "" +msgstr "Aggiungi una colonna" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1130 #, python-format msgid "Add a condition" -msgstr "Aggiungi un filtro" +msgstr "Aggiungi una condizione" #. module: web #. openerp-web @@ -660,6 +658,8 @@ msgid "" "Binary fields can not be exported to Excel unless their content is " "base64-encoded. That does not seem to be the case for %s." msgstr "" +"Impossibile esportare %s. I campi binari devono avere il contenuto " +"codificato in base64 per essere esportati in Excel." #. module: web #. openerp-web @@ -1167,7 +1167,7 @@ msgstr "Descrizione" #: code:addons/web/static/src/xml/report.xml:18 #, python-format msgid "Discard" -msgstr "Annulla" +msgstr "Abbandona" #. module: web #. openerp-web @@ -1349,7 +1349,7 @@ msgstr "Errore, password non modificata." #: code:addons/web/static/src/xml/kanban.xml:62 #, python-format msgid "Esc to discard" -msgstr "" +msgstr "Esc per abbandonare" #. module: web #. openerp-web @@ -1391,14 +1391,14 @@ msgstr "" #: code:addons/web/static/src/js/views/list/list_controller.js:149 #, python-format msgid "Export" -msgstr "Esportazione" +msgstr "Esporta" #. module: web #. openerp-web #: code:addons/web/static/src/js/widgets/data_export.js:209 #, python-format msgid "Export Data" -msgstr "Esporta dati" +msgstr "Esportazione dati" #. module: web #. openerp-web @@ -1671,28 +1671,28 @@ msgstr "Premere INVIO per" #: code:addons/web/static/src/xml/base.xml:431 #, python-format msgid "Hit ENTER to CREATE" -msgstr "Premere INVIO per CREA" +msgstr "Premere INVIO per CREARE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:423 #, python-format msgid "Hit ENTER to SAVE" -msgstr "Premere INVIO per SALVA" +msgstr "Premere INVIO per SALVARE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:424 #, python-format msgid "Hit ESCAPE to DISCARD" -msgstr "" +msgstr "Premere ESCAPE per ABBANDONARE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/colorpicker.xml:41 #, python-format msgid "Hue" -msgstr "" +msgstr "Tonalità" #. module: web #. openerp-web @@ -1772,7 +1772,7 @@ msgstr "" #: code:addons/web/static/src/js/tools/debug_manager.js:209 #, python-format msgid "JS Mobile Tests" -msgstr "" +msgstr "Test JS per cellulare" #. module: web #. openerp-web @@ -1900,7 +1900,7 @@ msgstr "Blu chiaro" #: code:addons/web/static/src/xml/colorpicker.xml:49 #, python-format msgid "Lightness %" -msgstr "" +msgstr "Luminosità %" #. module: web #. openerp-web @@ -2134,14 +2134,14 @@ msgstr "Altro" #: code:addons/web/static/src/xml/base.xml:1415 #, python-format msgid "Move Down" -msgstr "Muovi Giù" +msgstr "Sposta in basso" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1414 #, python-format msgid "Move Up" -msgstr "Muovi Su" +msgstr "Sposta in alto" #. module: web #. openerp-web @@ -2403,7 +2403,7 @@ msgstr "Solo tu" #: code:addons/web/static/src/xml/colorpicker.xml:55 #, python-format msgid "Opacity %" -msgstr "" +msgstr "Opacità %" #. module: web #. openerp-web @@ -2550,14 +2550,14 @@ msgstr "pivot" #: code:addons/web/static/src/js/views/list/list_renderer.js:352 #, python-format msgid "Please click on the \"save\" button first." -msgstr "" +msgstr "Prima fare clic sul pulsante \"Salva\"." #. module: web #. openerp-web #: code:addons/web/static/src/js/widgets/data_export.js:177 #, python-format msgid "Please enter save field list name" -msgstr "Inserire il nome per l'elenco salvato" +msgstr "Inserire il nome dell'elenco campi da salvare" #. module: web #. openerp-web @@ -2571,7 +2571,7 @@ msgstr "Selezionare i campi da esportare..." #: code:addons/web/static/src/js/widgets/data_export.js:464 #, python-format msgid "Please select fields to save export list..." -msgstr "Selezionare l'elenco dei campi da esportare..." +msgstr "Selezionare i campi da salvare nell'elenco di esportazione..." #. module: web #. openerp-web @@ -2793,21 +2793,21 @@ msgstr "Ripristina" #: code:addons/web/static/src/xml/base.xml:240 #, python-format msgid "Run Click Everywhere Test" -msgstr "Esegui prova \"Fare clic ovunque\"" +msgstr "Esegui test \"Fare clic ovunque\"" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:239 #, python-format msgid "Run JS Mobile Tests" -msgstr "Esegui prove JS per dispositivo mobile" +msgstr "Esegui test JS per dispositivo mobile" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:238 #, python-format msgid "Run JS Tests" -msgstr "Esegui prove JS" +msgstr "Esegui test JS" #. module: web #. openerp-web @@ -2877,14 +2877,14 @@ msgstr "Salva un record" #: code:addons/web/static/src/xml/base.xml:1443 #, python-format msgid "Save as:" -msgstr "Salva come:" +msgstr "Salvare come: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1358 #, python-format msgid "Save current search" -msgstr "Salvare la ricerca corrente" +msgstr "Salva la ricerca corrente" #. module: web #. openerp-web @@ -2898,7 +2898,7 @@ msgstr "Salva predefinito" #: code:addons/web/static/src/xml/base.xml:1419 #, python-format msgid "Save fields list" -msgstr "Salva l'elenco dei campi" +msgstr "Salva elenco campi" #. module: web #. openerp-web @@ -2942,7 +2942,7 @@ msgstr "Cerca ancora..." #: code:addons/web/static/src/xml/base.xml:1231 #, python-format msgid "Search..." -msgstr "Cerca..." +msgstr "Ricerca..." #. module: web #. openerp-web @@ -3113,7 +3113,7 @@ msgstr "Accendi" #: code:addons/web/static/src/js/widgets/domain_selector.js:583 #, python-format msgid "Syntax error" -msgstr "" +msgstr "Errore di sintassi" #. module: web #. openerp-web @@ -3206,7 +3206,8 @@ msgid "" "The record has been modified, your changes will be discarded. Do you want to" " proceed?" msgstr "" -"Il documento è stato modificato, le modifiche verranno eliminate. Procedere?" +"Il documento è stato modificato, verranno abbandonate le modifiche. " +"Procedere?" #. module: web #. openerp-web @@ -3233,6 +3234,8 @@ msgid "" "There are too many rows (%s rows, limit: 65535) to export as Excel 97-2003 " "(.xls) format. Consider splitting the export." msgstr "" +"Impossibile esportare nel formato Excel 97-2003 (.xls) (%s righe, limite: " +"65535). Valutare di suddividere l'esportazione." #. module: web #. openerp-web @@ -3482,7 +3485,7 @@ msgstr "Senza titolo" #: code:addons/web/static/src/xml/base.xml:1393 #, python-format msgid "Update data (import-compatible export)" -msgstr "" +msgstr "Aggiornare i dati (compatibile con l'importazione)" #. module: web #. openerp-web @@ -3496,7 +3499,7 @@ msgstr "Aggiorna adesso" #: code:addons/web/static/src/xml/base.xml:1577 #, python-format msgid "Upgrade to enterprise" -msgstr "" +msgstr "Avanza a Enterprise" #. module: web #. openerp-web @@ -3542,7 +3545,7 @@ msgstr "Utilizzare come predefinita" #: code:addons/web/static/src/xml/base.xml:1387 #, python-format msgid "Use data in a spreadsheet (export all data)" -msgstr "" +msgstr "Usare i dati in un foglio di calcolo (esportare tutti i dati)" #. module: web #. openerp-web @@ -3584,14 +3587,14 @@ msgstr "Visualizza metadati" #: code:addons/web/static/src/xml/base.xml:606 #, python-format msgid "Warning" -msgstr "Avviso" +msgstr "Attenzione" #. module: web #. openerp-web #: code:addons/web/static/src/js/widgets/attach_document.js:87 #, python-format msgid "Warning : You have to save first before attaching a file." -msgstr "" +msgstr "Attenzione: prima di allegare un file è necessario salvare." #. module: web #: model_terms:ir.ui.view,arch_db:web.benchmark_suite @@ -3601,12 +3604,12 @@ msgstr "" #. module: web #: model_terms:ir.ui.view,arch_db:web.qunit_mobile_suite msgid "Web Mobile Tests" -msgstr "" +msgstr "Test web per dispositivo mobile" #. module: web #: model_terms:ir.ui.view,arch_db:web.qunit_suite msgid "Web Tests" -msgstr "" +msgstr "Test web" #. module: web #: model_terms:ir.ui.view,arch_db:web.external_layout_boxed @@ -3634,7 +3637,7 @@ msgstr "Ben fatto!" #: code:addons/web/static/src/xml/base.xml:1383 #, python-format msgid "What do you want to do?" -msgstr "Cosa vuoi fare?" +msgstr "Cosa si intende fare?" #. module: web #. openerp-web diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po index 6fe04cbc033..6f55d6b2662 100644 --- a/addons/web/i18n/mk.po +++ b/addons/web/i18n/mk.po @@ -1530,13 +1530,6 @@ msgstr "Нема резултат за приказ..." msgid "No selected record" msgstr "" -#. module: web -#. openerp-web -#: code:addons/web/static/src/js/views/form_relational_widgets.js:329 -#, fuzzy, python-format -msgid "No value found for the field %s for value %s" -msgstr "Вредноста не е пронајдена во полето за вредност" - #. module: web #. openerp-web #: code:addons/web/static/src/js/framework/utils.js:144 diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po index 484e8fd15a1..c1aa4a4d92c 100644 --- a/addons/web/i18n/zh_CN.po +++ b/addons/web/i18n/zh_CN.po @@ -1241,7 +1241,7 @@ msgstr "域名" #: code:addons/web/static/src/js/core/misc.js:16 #, python-format msgid "Don't leave yet,
    it's still loading..." -msgstr "请不要离开,
    它还在加载中..." +msgstr "请不要离开,
    它仍在加载..." #. module: web #. openerp-web @@ -3068,14 +3068,14 @@ msgstr "特殊:" #: code:addons/web/static/src/js/core/misc.js:14 #, python-format msgid "Still loading..." -msgstr "大菜烹饪中..." +msgstr "仍在加载..." #. module: web #. openerp-web #: code:addons/web/static/src/js/core/misc.js:15 #, python-format msgid "Still loading...
    Please be patient." -msgstr "大菜烹饪中...
    稍安勿躁。" +msgstr "仍在加载...
    请耐心等待。" #. module: web #. openerp-web @@ -3117,7 +3117,7 @@ msgstr "语法错误" #: code:addons/web/static/src/js/core/misc.js:18 #, python-format msgid "Take a minute to get a coffee,
    because it's loading..." -msgstr "稍安勿躁,
    大菜烹饪中..." +msgstr "花一分钟去喝杯咖啡,
    因为它在加载..." #. module: web #. openerp-web @@ -3725,7 +3725,7 @@ msgstr "你不能让任何密码为空。" #, python-format msgid "" "You may not believe it,
    but the application is actually loading..." -msgstr "稍安勿躁,
    大菜烹饪中...." +msgstr "也许你不相信,
    但是这个应用真的还在加载...." #. module: web #. openerp-web diff --git a/addons/web/static/lib/tempusdominus/tempusdominus.js b/addons/web/static/lib/tempusdominus/tempusdominus.js index 63daabbd6f7..a5dac48ac3a 100644 --- a/addons/web/static/lib/tempusdominus/tempusdominus.js +++ b/addons/web/static/lib/tempusdominus/tempusdominus.js @@ -563,10 +563,10 @@ var DateTimePicker = function ($, moment) { DateTimePicker.prototype._notifyEvent = function _notifyEvent(e) { // /!\ ODOO FIX: these next conditions have been modified by odoo // FIXME should write a test about the tricky case this handles - if (!e.date && !e.oldDate) { - return; - } if (e.type === DateTimePicker.Event.CHANGE) { + if (!e.date && !e.oldDate) { + return; + } // check _isUTC flag to ensure that we are not comparing apples and oranges var bothUTC = e.date && e.oldDate && e.date._isUTC === e.oldDate._isUTC; if (bothUTC && e.date.isSame(e.oldDate)) { diff --git a/addons/web/static/src/js/core/dom.js b/addons/web/static/src/js/core/dom.js index 2a961596862..848e406c4b2 100644 --- a/addons/web/static/src/js/core/dom.js +++ b/addons/web/static/src/js/core/dom.js @@ -20,6 +20,7 @@ odoo.define('web.dom', function (require) { * something happens in the DOM. */ +var concurrency = require('web.concurrency'); var config = require('web.config'); var core = require('web.core'); var _t = core._t; @@ -40,7 +41,9 @@ function _notify(content, callbacks) { core.bus.trigger('DOM_updated', content); } -return { +var dom = { + DEBOUNCE: 400, + /** * Appends content in a jQuery object and optionnally triggers an event * @@ -208,6 +211,91 @@ return { } return position; }, + /** + * Protects a function which is to be used as a handler by preventing its + * execution for the duration of a previous call to it (including async + * parts of that call). + * + * Limitation: as the handler is ignored during async actions, + * the 'preventDefault' or 'stopPropagation' calls it may want to do + * will be ignored too. Using the 'preventDefault' and 'stopPropagation' + * arguments solves that problem. + * + * @param {function} fct + * The function which is to be used as a handler. If a promise + * is returned, it is used to determine when the handler's action is + * finished. Otherwise, the return is used as jQuery uses it. + * @param {function|boolean} preventDefault + * @param {function|boolean} stopPropagation + */ + makeAsyncHandler: function (fct, preventDefault, stopPropagation) { + // Create a deferred indicating if a previous call to this handler is + // still pending. + var def = $.when(); + + return function (ev) { + if (preventDefault === true || preventDefault && preventDefault()) { + ev.preventDefault(); + } + if (stopPropagation === true || stopPropagation && stopPropagation()) { + ev.stopPropagation(); + } + + if (def.state() === 'pending') { + // If a previous call to this handler is still pending, ignore + // the new call. + return; + } + var result = fct.apply(this, arguments); + def = $.when(result); + return result; + }; + }, + /** + * Creates a debounced version of a function to be used as a button click + * handler. Also improves the handler to disable the button for the time of + * the debounce and/or the time of the async actions it performs. + * + * Limitation: if two handlers are put on the same button, the button will + * become enabled again once any handler's action finishes (multiple click + * handlers should however not be binded to the same button). + * + * @param {function} fct + * The function which is to be used as a button click handler. If a + * promise is returned, it is used to determine when the button can be + * re-enabled. Otherwise, the return is used as jQuery uses it. + */ + makeButtonHandler: function (fct) { + // Fallback: if the final handler is not binded to a button, at least + // make it an async handler (also handles the case where some events + // might ignore the disabled state of the button). + fct = dom.makeAsyncHandler(fct); + + return function (ev) { + var result = fct.apply(this, arguments); + + var $button = $(ev.target).closest('.btn'); + if (!$button.length) { + return result; + } + + // Disable the button for the duration of the handler's action + // or at least for the duration of the click debounce. This makes + // a 'real' debounce creation useless. Also, during the debouncing + // part, the button is disabled without any visual effect. + $button.addClass('o_debounce_disabled'); + $.when(dom.DEBOUNCE && concurrency.delay(dom.DEBOUNCE)).then(function () { + $button.addClass('disabled').prop('disabled', true); + $button.removeClass('o_debounce_disabled'); + + return $.when(result).always(function () { + $button.removeClass('disabled').prop('disabled', false); + }); + }); + + return result; + }; + }, /** * Prepends content in a jQuery object and optionnally triggers an event * @@ -460,4 +548,5 @@ return { } }, }; +return dom; }); diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 53fbf99a8cd..aac91081c3c 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -2409,6 +2409,18 @@ var FieldProgressBar = AbstractField.extend({ this.$('.o_progressbar_value').focus().select(); } }, + /** + * The progress bar has more than one field/value to deal with + * i.e. max_value + * + * @override + * @private + */ + _reset: function () { + this._super.apply(this, arguments); + var new_max_value = this.recordData[this.nodeOptions.max_value]; + this.max_value = new_max_value !== undefined ? new_max_value : this.max_value; + }, isSet: function () { return true; }, diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index d9e15dab302..60b0275c8c8 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -564,6 +564,7 @@ var FieldMany2One = AbstractField.extend({ initial_ids: ids ? _.map(ids, function (x) { return x[0]; }) : undefined, initial_view: view, disable_multiple_selection: true, + no_create: !self.can_create, on_selected: function (records) { self.reinitialize(records[0]); self.activate(); diff --git a/addons/web/static/src/js/views/abstract_view.js b/addons/web/static/src/js/views/abstract_view.js index 8f9f167c69f..024216b5619 100644 --- a/addons/web/static/src/js/views/abstract_view.js +++ b/addons/web/static/src/js/views/abstract_view.js @@ -181,6 +181,7 @@ var AbstractView = Class.extend({ modelName: params.modelName, res_id: params.currentId, res_ids: params.ids, + orderedBy: params.context ? params.context.orderedBy : [], }; if (params.modelName) { this.loadParams.modelName = params.modelName; 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 345b76856b6..53aa2e56c5a 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -3674,7 +3674,7 @@ var BasicModel = AbstractModel.extend({ model: params.modelName, offset: params.offset || (type === 'record' ? _.indexOf(res_ids, res_id) : 0), openGroupByDefault: params.openGroupByDefault, - orderedBy: params.orderedBy || (params.context && params.context.orderedBy) || [], + orderedBy: params.orderedBy || [], orderedResIDs: params.orderedResIDs, parentID: params.parentID, rawContext: params.rawContext, @@ -4608,7 +4608,7 @@ var BasicModel = AbstractModel.extend({ if (orderData1 > orderData2) { return order.asc ? 1 : -1; } - return compareRecords(record1ID, record2ID, level + 1); + return compareRecords(resId1, resId2, level + 1); }; utils.stableSort(list.res_ids, compareRecords); } diff --git a/addons/web/static/src/js/widgets/date_picker.js b/addons/web/static/src/js/widgets/date_picker.js index 7ba3010a3b5..b677abe377a 100644 --- a/addons/web/static/src/js/widgets/date_picker.js +++ b/addons/web/static/src/js/widgets/date_picker.js @@ -15,6 +15,7 @@ var DateWidget = Widget.extend({ 'change.datetimepicker': 'changeDatetime', 'change .o_datepicker_input': 'changeDatetime', 'input input': '_onInput', + 'show.datetimepicker': '_onDateTimePickerShow', }, /** * @override @@ -225,6 +226,18 @@ var DateWidget = Widget.extend({ // Handlers //-------------------------------------------------------------------------- + /** + * Reacts to the datetimepicker being shown + * Could set/verify our widget value + * And subsequently update the datetimepicker + * + * @private + */ + _onDateTimePickerShow: function () { + if (this.$input.val().length !== 0 && this.isValid()) { + this.$input.select(); + } + }, /** * Prevents 'input' events triggered by the library to bubble up, as they * might have unwanted effects (like triggering 'field_changed' events in diff --git a/addons/web/static/src/js/widgets/dropdown_menu.js b/addons/web/static/src/js/widgets/dropdown_menu.js index fdab9b82ebf..e92c714d838 100644 --- a/addons/web/static/src/js/widgets/dropdown_menu.js +++ b/addons/web/static/src/js/widgets/dropdown_menu.js @@ -15,6 +15,7 @@ var DropdownMenu = Widget.extend({ 'click .o_item_option': '_onOptionClick', 'click span.o_trash_button': '_onTrashClick', 'hidden.bs.dropdown': '_onBootstrapClose', + 'click .dropdown-item-text': '_onDropDownItemTextClick', }, /** @@ -199,6 +200,15 @@ var DropdownMenu = Widget.extend({ }); this._renderMenuItems(); }, + /** + * Reacts to click on bootstrap's dropdown-item-text + * Protects against Bootstrap dropdown close from inside click + * + * @private + */ + _onDropDownItemTextClick: function (ev) { + ev.stopPropagation(); + }, /** * @private * @param {MouseEvent} event diff --git a/addons/web/static/src/scss/ui.scss b/addons/web/static/src/scss/ui.scss index 46995aa9ba1..44d639805be 100644 --- a/addons/web/static/src/scss/ui.scss +++ b/addons/web/static/src/scss/ui.scss @@ -78,3 +78,8 @@ outline: 20px solid fade-out($o-brand-primary, 1.0); } } + +// Declare a similar class as 'disabled' but with no visual effect +.o_debounce_disabled { + pointer-events: none; +} diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index 807b2ebadca..f176b4e0ab9 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -2933,6 +2933,38 @@ QUnit.module('basic_fields', { form.destroy(); }); + QUnit.test('field date should select its content onclick when there is one', function (assert) { + assert.expect(2); + var done = assert.async(); + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch:'
    ' + + ' ' + // Do not focus on the date field right away + '' + + '', + res_id: 1, + viewOptions: { + mode: 'edit', + }, + }); + + form.$el.on({ + 'show.datetimepicker': function () { + assert.ok($('.bootstrap-datetimepicker-widget').is(':visible'), + 'bootstrap-datetimepicker is visible'); + assert.strictEqual(window.getSelection().toString(), "02/03/2017", + 'The whole input of the date field should have been selected'); + done(); + } + }); + form.$('.o_input[name="date"]').mouseenter().trigger('focus'); + + form.destroy(); + }); + QUnit.module('FieldDatetime'); QUnit.test('datetime field in form view', function (assert) { @@ -5379,6 +5411,48 @@ QUnit.module('basic_fields', { form.destroy(); }); + + QUnit.module('FieldProgressBar'); + + QUnit.test('Field ProgressBar: max_value should update', function (assert) { + assert.expect(2); + + this.data.partner.records = this.data.partner.records.slice(0,1); + this.data.partner.records[0].qux = 2; + + this.data.partner.onchanges = { + display_name: function (obj) { + obj.int_field = 999; + obj.qux = 5; + } + }; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
    ' + + '' + + '' + + '' + + '', + res_id: 1, + viewOptions: { + mode: 'edit', + }, + }); + + assert.strictEqual(form.$('.o_progressbar_value').text(), '10 / 2', + 'The initial value of the progress bar should be correct'); + + // trigger the onchange + form.$('.o_input[name=display_name]').val('new name').trigger('input'); + + assert.strictEqual(form.$('.o_progressbar_value').text(), '999 / 5', + 'The value of the progress bar should be correct after the update'); + + form.destroy(); + }); }); }); }); diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js index 49af80784c9..8d23dafe4f4 100644 --- a/addons/web/static/tests/fields/relational_fields_tests.js +++ b/addons/web/static/tests/fields/relational_fields_tests.js @@ -150,6 +150,83 @@ QUnit.module('relational_fields', { } }, function () { + QUnit.test('x2many default_order multiple fields', function (assert) { + assert.expect(7); + + this.data.partner.records = [ + {int_field: 10, id: 1, display_name: "record1"}, + {int_field: 12, id: 2, display_name: "record2"}, + {int_field: 11, id: 3, display_name: "record3"}, + {int_field: 12, id: 4, display_name: "record4"}, + {int_field: 10, id: 5, display_name: "record5"}, + {int_field: 10, id: 6, display_name: "record6"}, + {int_field: 11, id: 7, display_name: "record7"}, + ]; + + this.data.partner.records[0].p = [1, 7, 4, 5, 2, 6, 3]; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
    ' + + '' + + '' + + '' + + '' + + '' + + '' + + '
    ', + res_id: 1, + }); + + var $recordList = form.$('.o_field_x2many_list .o_data_row'); + var expectedOrderId = ['1', '5', '6', '3', '7', '2', '4']; + + _.each($recordList, function(record, index) { + var $record = $(record); + assert.strictEqual($record.find('.o_data_cell').eq(0).text(), expectedOrderId[index], + 'The record should be the right place. Index: ' + index); + }); + + form.destroy(); + }); + + + form.destroy(); + }); + + QUnit.test('one2many from a model that has been sorted', function (assert) { + assert.expect(1); + + /* On a standard list view, sort your records by a field + * Click on a record which contains a x2m with multiple records in it + * The x2m shouldn't take the orderedBy of the parent record (the one on the form) + */ + + this.data.partner.records[0].turtles = [3, 2]; + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch:'
    ' + + '' + + '' + + '' + + '' + + '' + + '
    ', + res_id: 1, + context: { + orderedBy: [{ + name: 'foo', + asc: false, + }] + }, + }); + + assert.strictEqual(form.$('.o_field_one2many[name=turtles] tbody').text().trim(), "kawablip", + 'The o2m should not have been sorted.'); QUnit.test('onchange on unloaded record clearing posterious change', function (assert) { // when we got onchange result for fields of record that were not // already available because they were in a inline view not already diff --git a/addons/web/static/tests/helpers/test_utils_mock.js b/addons/web/static/tests/helpers/test_utils_mock.js index 769c179472a..3eaaae0a46f 100644 --- a/addons/web/static/tests/helpers/test_utils_mock.js +++ b/addons/web/static/tests/helpers/test_utils_mock.js @@ -13,6 +13,7 @@ odoo.define('web.test_utils_mock', function (require) { var basic_fields = require('web.basic_fields'); var config = require('web.config'); var core = require('web.core'); +var dom = require('web.dom'); var MockServer = require('web.MockServer'); var session = require('web.session'); @@ -154,6 +155,8 @@ function addMockEnvironment(widget, params) { // make sure the debounce value for input fields is set to 0 var initialDebounceValue = DebouncedField.prototype.DEBOUNCE; DebouncedField.prototype.DEBOUNCE = params.fieldDebounce || 0; + var initialDOMDebounceValue = dom.DEBOUNCE; + dom.DEBOUNCE = 0; var initialSession, initialConfig, initialParameters, initialDebounce, initialThrottle; initialSession = _.extend({}, session); session.getTZOffset = function () { @@ -196,6 +199,7 @@ function addMockEnvironment(widget, params) { core.bus.trigger('clear_cache'); DebouncedField.prototype.DEBOUNCE = initialDebounceValue; + dom.DEBOUNCE = initialDOMDebounceValue; if (params.debounce === false) { _.debounce = initialDebounce; } diff --git a/addons/web/static/tests/views/form_benchmarks.js b/addons/web/static/tests/views/form_benchmarks.js index c6127f847ec..efd12741d66 100644 --- a/addons/web/static/tests/views/form_benchmarks.js +++ b/addons/web/static/tests/views/form_benchmarks.js @@ -1,4 +1,4 @@ -odoo.define('web.list_benchmarks', function (require) { +odoo.define('web.form_benchmarks', function (require) { "use strict"; var FormView = require('web.FormView'); @@ -38,7 +38,6 @@ QUnit.module('Form View', { this.run = function (assert, done, cb) { var data = this.data; var arch = this.arch; - var viewOptions = this.viewOptions; new Benchmark.Suite({}) .add('form', function () { var list = createView({ @@ -76,13 +75,13 @@ QUnit.module('Form View', { this.data.foo.records[0].many2many.push(i); } this.arch = - '
    ' - '' - '' - '' - '' - '' - '' + '' + + '' + + '' + + '' + + '' + + '' + + '' + '
    '; this.run(assert, done, function (form) { testUtils.form.clickEdit(form); diff --git a/addons/web/static/tests/views/search_view_tests.js b/addons/web/static/tests/views/search_view_tests.js index e64ae72a9f4..0dbddbe1fae 100644 --- a/addons/web/static/tests/views/search_view_tests.js +++ b/addons/web/static/tests/views/search_view_tests.js @@ -975,5 +975,66 @@ QUnit.module('Search View', { form.destroy(); }); + QUnit.test('Customizing filter does not close the filter dropdown', function (assert) { + assert.expect(4); + var self = this; + + _.each(this.data.partner.records.slice(), function (rec) { + var copy = _.defaults({}, rec, {id: rec.id + 10 }); + self.data.partner.records.push(copy); + }); + + this.data.partner.fields.date_field.searchable = true; + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
    ' + + '' + + '', + viewOptions: { + mode: 'edit', + }, + archs: { + 'partner,false,list': '', + 'partner,false,search': '', + }, + res_id: 1, + }); + + form.$('.o_input').click(); + $('.ui-autocomplete .ui-menu-item:contains(Search More)').mouseenter().click(); + + var $modal = $('.modal-dialog.modal-lg'); + assert.strictEqual($modal.length, 1, 'Modal Opened'); + + $modal.find('.o_search_options button:contains(Filters)').click(); + + var $filterDropDown = $modal.find('.o_dropdown_menu.show'); + + $filterDropDown.find('button:contains(Add Custom Filter)').click(); + + assert.ok($filterDropDown.find('button:contains(Add Custom Filter)').hasClass('o_open_menu'), + 'The right dropdown is open'); + + var $filterInputs = $filterDropDown.find('.o_input'); + + assert.strictEqual($filterInputs.length, 3, + 'The custom filter builder has 3 elements'); + + // We really are interested in the click event + // We do it twice on each input to make sure + // the parent dropdown doesn't react to any of it + _.each($filterInputs, function (input) { + var $input = $(input); + $input.click(); + $input.click(); + }); + + assert.ok($filterDropDown.is(':visible')); + + form.destroy(); + }); + }); }); diff --git a/addons/web/static/tests/views/view_dialogs_tests.js b/addons/web/static/tests/views/view_dialogs_tests.js index 8898e520618..023a977ad56 100644 --- a/addons/web/static/tests/views/view_dialogs_tests.js +++ b/addons/web/static/tests/views/view_dialogs_tests.js @@ -478,6 +478,66 @@ QUnit.module('Views', { testUtils.mock.unpatch(ListController); parent.destroy(); }); + + QUnit.test('propagate can_create onto the search popup o2m', function (assert) { + assert.expect(3); + + this.data.instrument.records = [ + {id: 1, name: 'Tromblon1'}, + {id: 2, name: 'Tromblon2'}, + {id: 3, name: 'Tromblon3'}, + {id: 4, name: 'Tromblon4'}, + {id: 5, name: 'Tromblon5'}, + {id: 6, name: 'Tromblon6'}, + {id: 7, name: 'Tromblon7'}, + {id: 8, name: 'Tromblon8'}, + ]; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
    ' + + '' + + '' + + '', + res_id: 1, + archs: { + 'instrument,false,list': ''+ + ''+ + '', + 'instrument,false,search': ''+ + ''+ + '', + }, + viewOptions: { + mode: 'edit', + }, + + mockRPC: function(route, args) { + if (args.method === 'get_formview_id') { + return $.when(false); + } + return this._super(route, args); + }, + }); + + form.$('.o_field_widget[name="instrument"] .o_input').click(); + + assert.notOk($('.ui-autocomplete a:contains(Create and Edit)').length, + 'Create and edit not present in dropdown'); + + $('.ui-autocomplete a:contains(Search More)').trigger('mouseenter').trigger('click'); + + var $modal = $('.modal-dialog.modal-lg'); + + assert.strictEqual($modal.length, 1, 'Modal present'); + + assert.strictEqual($modal.find('.modal-footer button').text(), "Cancel", + 'Only the cancel button is present in modal'); + + form.destroy(); + }); }); }); diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 1ce0a83f63b..10d887fe8e1 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -687,6 +687,16 @@ display: inherit; } + + + + + + + + + + diff --git a/addons/web_editor/i18n/da.po b/addons/web_editor/i18n/da.po index b7855c04a8c..17dca2d6a08 100644 --- a/addons/web_editor/i18n/da.po +++ b/addons/web_editor/i18n/da.po @@ -3,25 +3,26 @@ # * web_editor # # Translators: -# Martin Trigaux, 2018 # Hans Henrik Gabelgaard , 2018 # jonas jensen , 2018 -# Per Rasmussen , 2018 # Morten Schou , 2018 # Jonathan Stein , 2018 # Jesper Carstensen , 2018 # Jarnhold Nattestad , 2018 +# Martin Trigaux, 2018 +# Per Rasmussen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 -# lhmflexerp , 2018 # Ejner Sønniksen , 2018 +# lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-02 10:06+0000\n" -"PO-Revision-Date: 2018-10-02 10:06+0000\n" -"Last-Translator: Ejner Sønniksen , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -594,7 +595,7 @@ msgstr "" #. module: web_editor #: model:ir.model,name:web_editor.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: web_editor #. openerp-web diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index 23bf488ed47..f0c295787a2 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -201,7 +201,7 @@ class IrUiView(models.Model): @api.model def _view_obj(self, view_id): if isinstance(view_id, str): - return self.search([('key', '=', view_id)]) or self.env.ref(view_id) + return self.search([('key', '=', view_id)], limit=1) or self.env.ref(view_id) elif isinstance(view_id, int): return self.browse(view_id) # assume it's already a view object (WTF?) diff --git a/addons/web_editor/static/src/js/editor/rte.summernote.js b/addons/web_editor/static/src/js/editor/rte.summernote.js index 9f13a9237d1..62586a53b5c 100644 --- a/addons/web_editor/static/src/js/editor/rte.summernote.js +++ b/addons/web_editor/static/src/js/editor/rte.summernote.js @@ -455,6 +455,7 @@ eventHandler.modules.imageDialog.showImageDialog = function ($editable) { options: { lastFilters: ['background'], onUpload: $editable.data('callbacks').onUpload, + noVideos: $editable.data('oe-model') === "mail.compose.message", }, }); return new $.Deferred().reject(); diff --git a/addons/web_settings_dashboard/i18n/it.po b/addons/web_settings_dashboard/i18n/it.po index 2291937fb4c..3888c10d0ec 100644 --- a/addons/web_settings_dashboard/i18n/it.po +++ b/addons/web_settings_dashboard/i18n/it.po @@ -80,7 +80,7 @@ msgstr "Utenti attivi" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:40 #, python-format msgid "App store" -msgstr "App store" +msgstr "Negozio app" #. module: web_settings_dashboard #. openerp-web @@ -151,7 +151,8 @@ msgstr "Accedi a funzionalità aggiuntive con la versione Enterprise!" #, python-format msgid "Help us spread the word: Share Odoo's awesomeness with your friends!" msgstr "" -"Aiutaci a diffondere Odoo: condividi la tua esperienza con i tuoi amici!" +"Aiutaci a diffondere Odoo. Condividi questa fantastica esperienza con gli " +"amici!" #. module: web_settings_dashboard #. openerp-web @@ -179,7 +180,7 @@ msgstr "Invita" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:73 #, python-format msgid "Invite new users:" -msgstr "Invito per nuovi utenti:" +msgstr "Invito per i nuovi utenti:" #. module: web_settings_dashboard #. openerp-web @@ -207,7 +208,7 @@ msgstr "Caricare dati dimostrativi" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:69 #, python-format msgid "Manage access rights" -msgstr "Gestisci diritti di accesso" +msgstr "Gestisci i diritti di accesso" #. module: web_settings_dashboard #. openerp-web @@ -273,7 +274,7 @@ msgstr "Imposta" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:172 #, python-format msgid "Set up your company information" -msgstr "Impostare le informazioni aziendali" +msgstr "Imposta le informazioni aziendali" #. module: web_settings_dashboard #. openerp-web @@ -337,7 +338,7 @@ msgstr "Aggiorna adesso" #: code:addons/web_settings_dashboard/static/src/xml/dashboard.xml:141 #, python-format msgid "Upgrade to enterprise" -msgstr "" +msgstr "Avanza a Enterprise" #. module: web_settings_dashboard #. openerp-web diff --git a/addons/web_tour/i18n/da.po b/addons/web_tour/i18n/da.po index 3ac5687388b..f35052cc69c 100644 --- a/addons/web_tour/i18n/da.po +++ b/addons/web_tour/i18n/da.po @@ -7,15 +7,16 @@ # Morten Schou , 2018 # Jesper Carstensen , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -50,7 +51,7 @@ msgstr "Vis navn" #. module: web_tour #: model:ir.model,name:web_tour.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: web_tour #: model:ir.model.fields,field_description:web_tour.field_web_tour_tour__id diff --git a/addons/web_unsplash/__manifest__.py b/addons/web_unsplash/__manifest__.py index 3ad4b1334b3..a139e64743b 100644 --- a/addons/web_unsplash/__manifest__.py +++ b/addons/web_unsplash/__manifest__.py @@ -4,7 +4,7 @@ 'name': 'Unsplash Image Library', 'category': 'Web', 'summary': 'Find free high-resolution images from Unsplash', - 'version': '1.0', + 'version': '1.1', 'description': """Explore the free high-resolution image library of Unsplash.com and find images to use in Odoo. An Unsplash search bar is added to the image library modal.""", 'depends': ['base_setup', 'web_editor'], 'data': [ diff --git a/addons/web_unsplash/controllers/main.py b/addons/web_unsplash/controllers/main.py index c53c03ba5bf..219342d1c39 100644 --- a/addons/web_unsplash/controllers/main.py +++ b/addons/web_unsplash/controllers/main.py @@ -9,12 +9,34 @@ import werkzeug.utils from PIL import Image from odoo import http, tools, _ from odoo.http import request +from werkzeug.urls import url_encode logger = logging.getLogger(__name__) class Web_Unsplash(http.Controller): + def _get_access_key(self): + if request.env.user._has_unsplash_key_rights(): + return request.env['ir.config_parameter'].sudo().get_param('unsplash.access_key') + raise werkzeug.exceptions.NotFound() + + def _notify_download(self, url): + ''' Notifies Unsplash from an image download. (API requirement) + :param url: the download_url of the image to be notified + + This method won't return anything. This endpoint should just be + pinged with a simple GET request for Unsplash to increment the image + view counter. + ''' + try: + if not url.startswith('https://api.unsplash.com/photos/'): + raise Exception(_("ERROR: Unknown Unsplash notify URL!")) + access_key = self._get_access_key() + requests.get(url, params=url_encode({'client_id': access_key})) + except Exception as e: + logger.exception("Unsplash download notification failed: " + str(e)) + # ------------------------------------------------------ # add unsplash image url # ------------------------------------------------------ @@ -22,17 +44,34 @@ class Web_Unsplash(http.Controller): def save_unsplash_url(self, unsplashurls=None, **kwargs): """ unsplashurls = { - image_id1: image_url1, - image_id2: image_url2, + image_id1: { + url: image_url, + download_url: download_url, + }, + image_id2: { + url: image_url, + download_url: download_url, + }, ..... } """ + def slugify(s): + ''' Keeps only alphanumeric characters, hyphens and spaces from a string. + The string will also be truncated to 1024 characters max. + :param s: the string to be filtered + :return: the sanitized string + ''' + return "".join([c for c in s if c.isalnum() or c in list("- ")])[:1024] + if not unsplashurls: return [] uploads = [] Attachments = request.env['ir.attachment'] + query = kwargs.get('query', '') + query = slugify(query) + res_model = kwargs.get('res_model', 'ir.ui.view') if res_model != 'ir.ui.view' and kwargs.get('res_id'): res_id = int(kwargs['res_id']) @@ -59,20 +98,21 @@ class Web_Unsplash(http.Controller): logger.exception("Timeout: " + str(e)) continue - name = key - # optimized image before save if mimetype in ('image/jpeg', 'image/png'): image = Image.open(io.BytesIO(datas)) if image.format in ('PNG', 'JPEG'): datas = tools.image_save_for_web(image) # append image extension in name - name += '.' + image.format + query += '.' + str.lower(image.format) + + # /unsplash/5gR788gfd/lion + url_frags = ['unsplash', key, query] attachment = Attachments.create({ - 'name': name, - 'url': '/unsplash/' + name, - 'datas_fname': name, + 'name': query, + 'url': '/' + '/'.join(url_frags), + 'datas_fname': '_'.join(url_frags), 'mimetype': mimetype, 'datas': base64.b64encode(datas), 'public': res_model == 'ir.ui.view', @@ -82,13 +122,23 @@ class Web_Unsplash(http.Controller): attachment.generate_access_token() uploads.extend(attachment.read(['name', 'mimetype', 'checksum', 'res_id', 'res_model', 'access_token', 'url'])) + # Notifies Unsplash from an image download. (API requirement) + self._notify_download(value.get('download_url')) + return uploads - @http.route("/web_unsplash/get_client_id", type='json', auth="user") - def get_unsplash_client_id(self, **post): - if request.env.user._has_unsplash_key_rights(): - return request.env['ir.config_parameter'].sudo().get_param('unsplash.access_key') - raise werkzeug.exceptions.NotFound() + @http.route("/web_unsplash/fetch_images", type='json', auth="user") + def fetch_unsplash_images(self, **post): + access_key = self._get_access_key() + app_id = self.get_unsplash_app_id() + if not access_key or not app_id: + return {'error': 'key_not_found'} + post['client_id'] = access_key + response = requests.get('https://api.unsplash.com/search/photos/', params=url_encode(post)) + if response.status_code == requests.codes.ok: + return response.json() + else: + return {'error': response.status_code} @http.route("/web_unsplash/get_app_id", type='json', auth="public") def get_unsplash_app_id(self, **post): diff --git a/addons/web_unsplash/i18n/da.po b/addons/web_unsplash/i18n/da.po index 5371ad8c37a..452c1db45df 100644 --- a/addons/web_unsplash/i18n/da.po +++ b/addons/web_unsplash/i18n/da.po @@ -5,13 +5,15 @@ # Translators: # Martin Trigaux, 2018 # jonas jensen , 2018 +# Sanne Kristensen , 2018 +# 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: jonas jensen , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -53,7 +55,7 @@ msgstr "Anvend" #. module: web_unsplash #: model:ir.model,name:web_unsplash.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: web_unsplash #. openerp-web diff --git a/addons/web_unsplash/static/description/icon.png b/addons/web_unsplash/static/description/icon.png index 49ab112cb6b..54f5c717396 100644 Binary files a/addons/web_unsplash/static/description/icon.png and b/addons/web_unsplash/static/description/icon.png differ diff --git a/addons/web_unsplash/static/description/icon.svg b/addons/web_unsplash/static/description/icon.svg new file mode 100644 index 00000000000..09999b47674 --- /dev/null +++ b/addons/web_unsplash/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/web_unsplash/static/src/js/unsplash_beacon.js b/addons/web_unsplash/static/src/js/unsplash_beacon.js index f8e74a3b759..179d566cee3 100644 --- a/addons/web_unsplash/static/src/js/unsplash_beacon.js +++ b/addons/web_unsplash/static/src/js/unsplash_beacon.js @@ -7,8 +7,8 @@ var ajax = require('web.ajax'); base.ready().then(function () { var unsplash_images = []; _.each($('img[src*="/unsplash/"]'), function (img, index) { - // get image id from URL (`/unsplash/xYdf5feoI.jpg` -> `xYdf5feoI`) - unsplash_images.push(img.src.split('/unsplash/')[1].split('.')[0]); + // get image id from URL (`http://www.domain.com:1234/unsplash/xYdf5feoI/lion.jpg` -> `xYdf5feoI`) + unsplash_images.push(img.src.split('/unsplash/')[1].split('/')[0]); }); if (unsplash_images.length) { ajax.jsonRpc('/web_unsplash/get_app_id', 'call').then(function (appID) { diff --git a/addons/web_unsplash/static/src/js/unsplash_image_widget.js b/addons/web_unsplash/static/src/js/unsplash_image_widget.js index d353694ddea..6eb393d3798 100644 --- a/addons/web_unsplash/static/src/js/unsplash_image_widget.js +++ b/addons/web_unsplash/static/src/js/unsplash_image_widget.js @@ -86,12 +86,9 @@ ImageWidget.include({ unsplashurls: self._unsplash.selectedImages, res_model : self.options.res_model, res_id: self.options.res_id, + query: self._unsplash.query, } }).then(function (images) { - for (var img in self._unsplash.selectedImages) { - self.unsplashAPI.notifyDownload(self._unsplash.selectedImages[img].download_url); - } - _.each(images, function (image) { image.src = image.url; image.isDocument = !(/gif|jpe|jpg|png/.test(image.mimetype)); @@ -140,7 +137,7 @@ ImageWidget.include({ self.$('.unsplash_img_container').html(QWeb.render('web_unsplash.dialog.image.content', { rows: rows })); self._highlightSelectedImages(); }).fail(function (err) { - self.$('.unsplash_img_container').html(QWeb.render('web_unsplash.dialog.error.content', err)); + self.$('.unsplash_img_container').html(QWeb.render('web_unsplash.dialog.error.content', { status: err })); }).always(function () { self._toggleAttachmentContaines(false); }); diff --git a/addons/web_unsplash/static/src/js/unsplashapi.js b/addons/web_unsplash/static/src/js/unsplashapi.js index 0ceb2b8f8a7..a6ec5b75324 100644 --- a/addons/web_unsplash/static/src/js/unsplashapi.js +++ b/addons/web_unsplash/static/src/js/unsplashapi.js @@ -38,45 +38,15 @@ var UnsplashCore = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, { if (cachedData && (cachedData.images.length >= to || (cachedData.totalImages !== 0 && cachedData.totalImages < to))) { return $.when({ images: cachedData.images.slice(from, to), isMaxed: to > cachedData.totalImages }); } - return this._getAPIKey().then(function (clientID) { - if (!clientID) { - return $.Deferred().reject({ key_not_found: true }); - } - return self._fetchImages(query).then(function (cachedData) { - return { images: cachedData.images.slice(from, to), isMaxed: to > cachedData.totalImages }; - }); + return self._fetchImages(query).then(function (cachedData) { + return { images: cachedData.images.slice(from, to), isMaxed: to > cachedData.totalImages }; }); }, - /** - * Notifies Unsplash from an image download. (API requirement) - * - * @param {String} url url of the image to notify - */ - notifyDownload: function (url) { - $.get(url, { client_id: this.clientId }); - }, //-------------------------------------------------------------------------- // Private //-------------------------------------------------------------------------- - /** - * Checks and retrieves the unsplash API key - * - * @private - */ - _getAPIKey: function () { - var self = this; - if (this.clientId) { - return $.Deferred().resolve(self.clientId); - } - return this._rpc({ - route: '/web_unsplash/get_client_id', - }).then(function (res) { - self.clientId = res; - return res; - }); - }, /** * Fetches images from unsplash and stores it in cache * @@ -96,10 +66,15 @@ var UnsplashCore = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, { var payload = { query: query, page: cachedData.pageCached + 1, - client_id: this.clientId, per_page: 30, // max size from unsplash API }; - return $.get('https://api.unsplash.com/search/photos/', payload).then(function (result) { + return this._rpc({ + route: '/web_unsplash/fetch_images', + params: payload, + }).then(function (result) { + if (result.error) { + return $.Deferred().reject(result.error); + } cachedData.pageCached++; cachedData.images.push.apply(cachedData.images, result.results); cachedData.maxPages = result.total_pages; diff --git a/addons/web_unsplash/static/src/xml/unsplash_image_widget.xml b/addons/web_unsplash/static/src/xml/unsplash_image_widget.xml index 409c435884b..05202e073b2 100644 --- a/addons/web_unsplash/static/src/xml/unsplash_image_widget.xml +++ b/addons/web_unsplash/static/src/xml/unsplash_image_widget.xml @@ -50,7 +50,7 @@
    - + Unsplash requires an access key and an application ID diff --git a/addons/website/i18n/da.po b/addons/website/i18n/da.po index 4e3527edd8b..b4d7af83667 100644 --- a/addons/website/i18n/da.po +++ b/addons/website/i18n/da.po @@ -14,9 +14,9 @@ # Jonathan Stein , 2018 # JonathanStein , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 # msgid "" msgstr "" @@ -24,7 +24,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:48+0000\n" "PO-Revision-Date: 2018-08-24 09:33+0000\n" -"Last-Translator: lhmflexerp , 2018\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -737,6 +737,11 @@ msgid "" "field as True to allow users to run this action. If it is set to False the " "action cannot be run through the website." msgstr "" +"En kode server handling kan udføres fra hjemmesiden, ved hjælp af en " +"dedikeret controller. Adressen er /website/action/. " +"Angiv dette felt som True for at give brugerne mulighed for at køre denne " +"handling. Hvis den er sat til False, kan handlingen ikke køres gennem " +"hjemmesiden." #. module: website #: model_terms:ir.ui.view,arch_db:website.s_text_block @@ -1232,7 +1237,7 @@ msgstr "Komponenter" #. module: website #: model:ir.model,name:website.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: website #: model:ir.ui.menu,name:website.menu_website_global_configuration @@ -1357,7 +1362,7 @@ msgstr "Tilpasset" #: model:ir.model.fields,field_description:website.field_res_config_settings__auth_signup_uninvited #: model:ir.model.fields,field_description:website.field_website__auth_signup_uninvited msgid "Customer Account" -msgstr "" +msgstr "Konto" #. module: website #: model_terms:ir.ui.view,arch_db:website.user_navbar @@ -1647,7 +1652,7 @@ msgstr "" #: code:addons/website/static/src/xml/website.contentMenu.xml:7 #, python-format msgid "Dropdown menu" -msgstr "" +msgstr "Dropdown menu" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_features_grid @@ -2107,7 +2112,7 @@ msgstr "" #. module: website #: model:ir.model,name:website.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP Routing" #. module: website #: model_terms:ir.ui.view,arch_db:website.bs_debug_page_ir_ui_view @@ -2529,7 +2534,7 @@ msgstr "Sidste år" #. module: website #: model_terms:ir.ui.view,arch_db:website.theme_customize msgid "Layout" -msgstr "" +msgstr "Layout" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_text_image @@ -3196,7 +3201,7 @@ msgstr "" #. module: website #: model:ir.model.fields,help:website.field_website__partner_id msgid "Partner-related data of the user" -msgstr "" +msgstr "Partner-relaterede data fra brugeren" #. module: website #: model_terms:ir.ui.view,arch_db:website.bs_debug_page_ir_ui_view @@ -3850,6 +3855,7 @@ msgstr "Den fulde URL for at få adgang til dokumentet via hjemmesiden." #: model:ir.model.fields,help:website.field_ir_actions_server__website_url msgid "The full URL to access the server action through the website." msgstr "" +"Den fulde URL for at få adgang til serverens handling via hjemmesiden." #. module: website #. openerp-web @@ -4004,6 +4010,9 @@ msgid "" "list view and click on 'Portal Access Management' option in the dropdown " "menu *Action*." msgstr "" +"Hvis du vil sende invitationer i B2B-tilstand, skal du åbne en kontakt eller" +" vælge flere i listevisning og klikke på 'Portal Access Management' i " +"rullemenuen *Handling*." #. module: website #: model_terms:ir.ui.view,arch_db:website.bs_debug_page_ir_ui_view diff --git a/addons/website/i18n/es_CO.po b/addons/website/i18n/es_CO.po index 9f9bf653cd6..6a046f88993 100644 --- a/addons/website/i18n/es_CO.po +++ b/addons/website/i18n/es_CO.po @@ -287,9 +287,9 @@ msgid "" " several cups of coffee to go through. But don't worry, " "you can return to this tool at any time." msgstr "" -" Todo el proceso puede tardar un par de horas, algunas discusiones con " +" Todo el proceso puede tardar un par de horas, algunas discusiones con " "sus colegas y varias tazas de café. Pero no se preocupe, puede volver a esta " -"herramienta en cualquier momento. " +"herramienta en cualquier momento. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner @@ -325,14 +325,14 @@ msgid "" "Congratulations on taking the leap and deciding to build your own website!" "" msgstr "" -"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " -"" +"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " +"" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_comparisons msgid "Instant setup, satisfied or reimbursed." msgstr "" -"Configuración instantánea, quedará satisfecho o será reembolsado. " +"Configuración instantánea, quedará satisfecho o será reembolsado. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner diff --git a/addons/website/i18n/es_DO.po b/addons/website/i18n/es_DO.po index 40e758276f4..eb066ff4728 100644 --- a/addons/website/i18n/es_DO.po +++ b/addons/website/i18n/es_DO.po @@ -282,9 +282,9 @@ msgid "" " several cups of coffee to go through. But don't worry, " "you can return to this tool at any time." msgstr "" -" Todo el proceso puede tardar un par de horas, algunas discusiones con " +" Todo el proceso puede tardar un par de horas, algunas discusiones con " "sus colegas y varias tazas de café. Pero no se preocupe, puede volver a esta " -"herramienta en cualquier momento. " +"herramienta en cualquier momento. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner @@ -320,14 +320,14 @@ msgid "" "Congratulations on taking the leap and deciding to build your own website!" "" msgstr "" -"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " -"" +"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " +"" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_comparisons msgid "Instant setup, satisfied or reimbursed." msgstr "" -"Configuración instantánea, quedará satisfecho o será reembolsado. " +"Configuración instantánea, quedará satisfecho o será reembolsado. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner diff --git a/addons/website/i18n/es_EC.po b/addons/website/i18n/es_EC.po index dc38226df97..dd4f439b271 100644 --- a/addons/website/i18n/es_EC.po +++ b/addons/website/i18n/es_EC.po @@ -292,9 +292,9 @@ msgid "" " several cups of coffee to go through. But don't worry, " "you can return to this tool at any time." msgstr "" -" Todo el proceso puede tardar un par de horas, algunas discusiones con " +" Todo el proceso puede tardar un par de horas, algunas discusiones con " "sus colegas y varias tazas de café. Pero no se preocupe, puede volver a esta " -"herramienta en cualquier momento. " +"herramienta en cualquier momento. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner @@ -330,14 +330,14 @@ msgid "" "Congratulations on taking the leap and deciding to build your own website!" "" msgstr "" -"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " -"" +"¡Felicitaciones por dar el salto y decidir construir su propio sitio web! " +"" #. module: website #: model_terms:ir.ui.view,arch_db:website.s_comparisons msgid "Instant setup, satisfied or reimbursed." msgstr "" -"Configuración instantánea, quedará satisfecho o será reembolsado. " +"Configuración instantánea, quedará satisfecho o será reembolsado. " #. module: website #: model_terms:ir.ui.view,arch_db:website.website_planner diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 593c1b721d7..0a99b8ef8eb 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -1099,7 +1099,7 @@ class Menu(models.Model): if vals.get('url') == '/default-main-menu': return super(Menu, self).create(vals) - if vals.get('website_id'): + if 'website_id' in vals: return super(Menu, self).create(vals) elif self._context.get('website_id'): vals['website_id'] = self._context.get('website_id') diff --git a/addons/website/static/src/js/content/snippets.animation.js b/addons/website/static/src/js/content/snippets.animation.js index a0b25c75b01..a6737fe7b24 100644 --- a/addons/website/static/src/js/content/snippets.animation.js +++ b/addons/website/static/src/js/content/snippets.animation.js @@ -7,6 +7,7 @@ odoo.define('website.content.snippets.animation', function (require) { var Class = require('web.Class'); var core = require('web.core'); +var dom = require('web.dom'); var mixins = require('web.mixins'); var utils = require('web.utils'); var Widget = require('web.Widget'); @@ -255,6 +256,29 @@ var Animation = Widget.extend({ * `Animation` elements. */ selector: false, + /** + * Extension of @see Widget.events + * + * A description of the event handlers to bind/delegate once the widget + * has been rendered. + * + * 'click .hello .world': 'async _onHelloWorldClick', + * _^_ _^_ _^_ _^_ + * | | | | + * | (Optional) jQuery | Handler method name + * | delegate selector | + * | |_ (Optional) space separated options + * | * async: use the automatic system + * |_ Event name with making handlers promise-ready (see + * potential jQuery makeButtonHandler, makeAsyncHandler) + * namespaces + * + * Note: the values may be replaced by a function declaration. This is + * however a deprecated behavior. + * + * @type {Object} + */ + events: {}, /** * Acts as @see Widget.events except that the events are only binded if the * Animation instance is instanciated in edit mode. @@ -371,6 +395,54 @@ var Animation = Widget.extend({ // Private //-------------------------------------------------------------------------- + /** + * @see this.events + * @override + */ + _delegateEvents: function () { + var self = this; + var originalEvents = this.events; + + var events = {}; + _.each(this.events, function (method, event) { + // If the method is a function, use the default Widget system + if (typeof method !== 'string') { + events[event] = method; + return; + } + // If the method is only a function name without options, use the + // default Widget system + var methodOptions = method.split(' '); + if (methodOptions.length <= 1) { + events[event] = method; + return; + } + // If the method has no meaningful options, use the default Widget + // system + var isAsync = _.contains(methodOptions, 'async'); + if (!isAsync) { + events[event] = method; + return; + } + + method = self.proxy(methodOptions[methodOptions.length - 1]); + if (_.str.startsWith(event, 'click')) { + // Protect click handler to be called multiple times by + // mistake by the user and add a visual disabling effect + // for buttons. + method = dom.makeButtonHandler(method); + } else { + // Protect all handlers to be recalled while the previous + // async handler call is not finished. + method = dom.makeAsyncHandler(method); + } + events[event] = method; + }); + + this.events = events; + this._super.apply(this, arguments); + this.events = originalEvents; + }, /** * Registers `AnimationEffect` instances. * diff --git a/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss b/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss index 82beeec2cbf..4f93429aa58 100644 --- a/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss +++ b/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss @@ -142,12 +142,18 @@ $-compat-gray-map: ( @extend .card-body; } -// Adapt grid (push-pull, xs ?) -@each $breakpoint in map-keys($grid-breakpoints) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); +// Adapt grid (push-pull ?) +$-compat-breakpoints: ( + xs: map-get($grid-breakpoints, 'xs'), + sm: map-get($grid-breakpoints, 'md'), + md: map-get($grid-breakpoints, 'lg'), + lg: map-get($grid-breakpoints, 'xl'), +); +@each $breakpoint in map-keys($-compat-breakpoints) { + $infix: breakpoint-infix($breakpoint, $-compat-breakpoints); $infix: if($infix != "", $infix, "-xs"); - @include media-breakpoint-up($breakpoint, $grid-breakpoints) { + @include media-breakpoint-up($breakpoint, $-compat-breakpoints) { // `$grid-columns - 1` because offsetting by the width of an entire row isn't possible @for $i from 0 through ($grid-columns - 1) { .col#{$infix}-offset-#{$i} { @@ -196,105 +202,148 @@ $-compat-gray-map: ( .btn-default { @include button-variant(theme-color('secondary'), theme-color('secondary')); } +.btn-xs { + @extend .btn-sm; +} // Adapt display classes -.hidden, .hide { +.hide { display: none !important; } -.hidden { - &-xs { - @include media-breakpoint-down(sm) { - display: none; - } - } - &-sm { - @include media-breakpoint-only(md) { - display: none; - } - } - &-md { - @include media-breakpoint-only(lg) { - display: none; - } - } - &-lg { - @include media-breakpoint-only(xl) { - display: none; - } - } - &-print { - @media print { - display: none; - } - } -} .show { display: block !important; } +.hidden { + display: none !important; +} .visible { - &-xs { - &-block, &-inline-block { - display: none; + &-xs, &-sm, &-md, &-lg { + &, &-block, &-inline, &-inline-block { + display: none !important; } - @include media-breakpoint-down(sm) { - &-block { - display: block; + } + &-xs { + &, &-block { + @include media-breakpoint-down(sm) { + display: block !important; } - &-inline-block { - display: inline-block; + } + &-inline { + @include media-breakpoint-down(sm) { + display: inline !important; + } + } + &-inline-block { + @include media-breakpoint-down(sm) { + display: inline-block !important; } } } &-sm { - &-block, &-inline-block { - display: none; - } - @include media-breakpoint-only(md) { - &-block { - display: block; + &, &-block { + @include media-breakpoint-only(md) { + display: block !important; } - &-inline-block { - display: inline-block; + } + &-inline { + @include media-breakpoint-only(md) { + display: inline !important; + } + } + &-inline-block { + @include media-breakpoint-only(md) { + display: inline-block !important; } } } &-md { - &-block, &-inline-block { - display: none; - } - @include media-breakpoint-only(lg) { - &-block { - display: block; + &, &-block { + @include media-breakpoint-only(lg) { + display: block !important; } - &-inline-block { - display: inline-block; + } + &-inline { + @include media-breakpoint-only(lg) { + display: inline !important; + } + } + &-inline-block { + @include media-breakpoint-only(lg) { + display: inline-block !important; } } } &-lg { - &-block, &-inline-block { - display: none; - } - @include media-breakpoint-only(xl) { - &-block { - display: block; - } - &-inline-block { - display: inline-block; + &, &-block { + @include media-breakpoint-up(xl) { + display: block !important; } } - } - &-print { - &-block, &-inline-block { - display: none; - } - @media print { - &-block { - display: block; + &-inline { + @include media-breakpoint-up(xl) { + display: inline !important; } - &-inline-block { - display: inline-block; + } + &-inline-block { + @include media-breakpoint-up(xl) { + display: inline-block !important; } } } } +.hidden { + &-xs { + @include media-breakpoint-down(sm) { + display: none !important; + } + } + &-sm { + @include media-breakpoint-only(md) { + display: none !important; + } + } + &-md { + @include media-breakpoint-only(lg) { + display: none !important; + } + } + &-lg { + @include media-breakpoint-up(xl) { + display: none !important; + } + } +} +.visible-print { + display: none !important; + + @media print { + display: block !important; + } + + &-block { + display: none !important; + + @media print { + display: block !important; + } + } + &-inline { + display: none !important; + + @media print { + display: inline !important; + } + } + &-inline-block { + display: none !important; + + @media print { + display: inline-block !important; + } + } +} +.hidden-print { + @media print { + display: none !important; + } +} diff --git a/addons/website_crm/i18n/da.po b/addons/website_crm/i18n/da.po index d82d74f0075..65cc0795f05 100644 --- a/addons/website_crm/i18n/da.po +++ b/addons/website_crm/i18n/da.po @@ -8,16 +8,17 @@ # Per Rasmussen , 2018 # Morten Schou , 2018 # Pernille Kristensen , 2018 -# Sanne Kristensen , 2018 # Ejner Sønniksen , 2018 # lhmflexerp , 2018 +# Sanne Kristensen , 2018 +# 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: lhmflexerp , 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Sanne Kristensen , 2018\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" @@ -44,7 +45,7 @@ msgstr "Kommunikation" #. module: website_crm #: model:ir.model,name:website_crm.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Konfigurer opsætning" #. module: website_crm #: model_terms:ir.ui.view,arch_db:website_crm.res_config_settings_view_form diff --git a/addons/website_crm_partner_assign/i18n/it.po b/addons/website_crm_partner_assign/i18n/it.po index 85aae01c27f..c1f570006e2 100644 --- a/addons/website_crm_partner_assign/i18n/it.po +++ b/addons/website_crm_partner_assign/i18n/it.po @@ -15,6 +15,7 @@ # Luigi Di Naro , 2018 # Paolo Valier, 2018 # Cécile Collart , 2018 +# nle_odoo, 2018 # Petra , 2018 # Martin Trigaux, 2018 # Léonie Bouchat , 2018 @@ -285,18 +286,18 @@ msgstr "" " Siamo stati contattati da potenziali clienti che si trovano nella Sua regione. I seguenti lead sono quindi stati assegnati a ${ctx['partner_id'].name}:
    \n" "
      \n" " % for lead in ctx['partner_leads']:\n" -"
    1. ${lead.lead_id.name o \"Soggetto non definito\"}, ${lead.lead_id.partner_name o lead.lead_id.contact_name o \"Nome del contatto non definito\"}, ${lead.lead_id.country_id e lead.lead_id.country_id.name o \"Paese non definito\" }, ${lead.lead_id.email_from o \"Email non definito\"}, ${lead.lead_id.phone o ''}

    2. \n" +"
    3. ${lead.lead_id.name or \"Soggetto non definito\"}, ${lead.lead_id.partner_name o lead.lead_id.contact_name or \"Nome del contatto non definito\"}, ${lead.lead_id.country_id and lead.lead_id.country_id.name or \"Paese non definito\" }, ${lead.lead_id.email_from or \"Email non definito\"}, ${lead.lead_id.phone or ''}

    4. \n" " % endfor\n" "
    \n" " % if ctx.get('partner_in_portal'):\n" " Si connetta al SuoPortale di partner per più dettagli. Per ogni lead ci sono due pulsanti nell'angolo in alto a sinistra da premere dopo aver contattato il lead: \"Sono interessato\" & \"Non sono interessato\".
    \n" " % else:\n" " Lei non ha ancora un accesso al nostro database. Contatti\n" -" ${ctx['partner_id'].user_id e ctx['partner_id'].user_id.email e \"il tuo account manager %s (%s)\" % (ctx['partner_id'].user_id.name,ctx['partner_id'].user_id.email) o \"noi\"}.
    \n" +" ${ctx['partner_id'].user_id and ctx['partner_id'].user_id.email and \"il tuo account manager %s (%s)\" % (ctx['partner_id'].user_id.name,ctx['partner_id'].user_id.email) or \"noi\"}.
    \n" " % endif\n" " Il lead sarà inviato ad un altro partner se non lo contatti entro 20 giorni.

    \n" " Grazie,
    \n" -" ${ctx['partner_id'].user_id e ctx['partner_id'].user_id.signature | safe o ''}\n" +" ${ctx['partner_id'].user_id and ctx['partner_id'].user_id.signature | safe or ''}\n" "
    \n" " % if not ctx['partner_id'].user_id:\n" " PS: Sembra che Lei non ha un account manager assegnato, contattici..\n" @@ -321,13 +322,13 @@ msgstr "" " \n" " \n" " ${user.company_id.phone}\n" -" % if user.company_id.phone e (user.company_id.email o user.company_id.website)\n" +" % if user.company_id.phone and (user.company_id.email or user.company_id.website)\n" " |\n" " % endif\n" " % if user.company_id.email\n" " ${user.company_id.email}\n" " % endif\n" -" % if user.company_id.email e user.company_id.website\n" +" % if user.company_id.email and user.company_id.website\n" " |\n" " % endif\n" " % if user.company_id.website\n" diff --git a/addons/website_event/views/event_views.xml b/addons/website_event/views/event_views.xml index 566a391772a..7e4df97c36a 100644 --- a/addons/website_event/views/event_views.xml +++ b/addons/website_event/views/event_views.xml @@ -31,7 +31,7 @@ - +