diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-09-30 17:23:30 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-09-30 17:23:30 +0200 |
| commit | c8cc54559b75a621e4444ecdca6abd901b45e494 (patch) | |
| tree | 92141325d4dbbf70bbfb8e0c040d4435c8d2378f /addons | |
| parent | b2804b1d2ae5fd7ec5c0eca79a8db77476badc84 (diff) | |
| parent | 91a14488250bc2bb405cc6d300359aa272642484 (diff) | |
[MERGE] forward port branch 10.0 up to 91a1448
Diffstat (limited to 'addons')
402 files changed, 7454 insertions, 30295 deletions
diff --git a/addons/account/i18n/account.pot b/addons/account/i18n/account.pot index 773bbb1bbb7..a42f96c0616 100644 --- a/addons/account/i18n/account.pot +++ b/addons/account/i18n/account.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -35,7 +35,7 @@ msgid "\n" "from ${object.company_id.name}.\n" "</p>\n" "\n" -"% if is_inline:\n" +"% if is_online:\n" " <br/><br/>\n" " <center>\n" " <a href=\"${access_url}\" style=\"background-color: #1abc9c; padding: 20px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;\" class=\"o_default_snippet_text\">View Invoice</a>\n" @@ -67,7 +67,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1517 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1521 #, python-format msgid " seconds" msgstr "" @@ -110,15 +110,15 @@ msgid "%d transactions were automatically reconciled." msgstr "" #. module: account -#: code:addons/account/models/account.py:577 +#: code:addons/account/models/account.py:603 #, python-format msgid "%s (Copy)" msgstr "" #. module: account -#: code:addons/account/models/account.py:152 -#: code:addons/account/models/account.py:310 -#: code:addons/account/models/account.py:311 +#: code:addons/account/models/account.py:170 +#: code:addons/account/models/account.py:335 +#: code:addons/account/models/account.py:336 #, python-format msgid "%s (copy)" msgstr "" @@ -160,6 +160,11 @@ msgid "30 Net Days" msgstr "" #. module: account +#: model:account.payment.term,name:account.account_payment_term_advance +msgid "30% Advance End of Following Month" +msgstr "" + +#. module: account #: model:ir.ui.view,arch_db:account.account_planner msgid "5) For setup, you will need the following information:" msgstr "" @@ -179,7 +184,7 @@ msgstr "" msgid "<html>\n" " <head></head>\n" " <body style=\"margin: 0; padding: 0;\">\n" -" <table border=\"0\" width=\"100%\" cellpadding=\"0\" bgcolor=\"#ededed\" style=\"padding: 20px; background-color: #ededed\" class=\"o_mail_notification\">\n" +" <table border=\"0\" width=\"100%\" cellpadding=\"0\" bgcolor=\"#ededed\" style=\"padding: 20px; background-color: #ededed\" summary=\"o_mail_notification\">\n" " <tbody>\n" "\n" " <!-- HEADER -->\n" @@ -384,7 +389,7 @@ msgstr "" #. module: account #: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "<span>(*) This configuration value is related to the company you're logged in.</span>" +msgid "<span>(*) This configuration is related to the company you're logged into.</span>" msgstr "" #. module: account @@ -763,19 +768,19 @@ msgid "A Cash Register allows you to manage cash entries in your cash\n" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1385 +#: code:addons/account/models/account_invoice.py:1377 #, python-format msgid "A Payment Term should have its last line of type Balance." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1388 +#: code:addons/account/models/account_invoice.py:1380 #, python-format msgid "A Payment Term should have only one line of type Balance." msgstr "" #. module: account -#: code:addons/account/models/account.py:503 +#: code:addons/account/models/account.py:528 #, python-format msgid "A bank account can only belong to one journal." msgstr "" @@ -822,7 +827,7 @@ msgid "A product in Odoo is something you sell or buy \n" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:734 +#: code:addons/account/models/account_move.py:730 #, python-format msgid "A reconciliation must involve at least 2 move lines." msgstr "" @@ -865,8 +870,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:95 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:100 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:94 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:99 #: code:addons/account/static/src/xml/account_reconciliation.xml:141 #: code:addons/account/static/src/xml/account_reconciliation.xml:267 #: model:ir.model,name:account.model_account_account @@ -1341,6 +1346,7 @@ msgstr "" #: model:ir.actions.report.xml,name:account.action_report_aged_partner_balance #: model:ir.ui.menu,name:account.menu_aged_trial_balance #: model:ir.ui.view,arch_db:account.account_aged_balance_view +#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance msgid "Aged Partner Balance" msgstr "" @@ -1350,11 +1356,6 @@ msgid "Aged Partner Balance is a more detailed report of your receivables by int msgstr "" #. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "Aged Trial Balance" -msgstr "" - -#. module: account #. openerp-web #: selection:account.balance.report,display_account:0 #: selection:account.common.account.report,display_account:0 @@ -1500,8 +1501,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:135 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:139 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:134 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:138 #: code:addons/account/static/src/xml/account_reconciliation.xml:150 #: code:addons/account/static/src/xml/account_reconciliation.xml:266 #: model:ir.model.fields,field_description:account.field_account_bank_statement_line_amount @@ -1610,8 +1611,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:147 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:153 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:146 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:152 #, python-format msgid "Analytic Acc." msgstr "" @@ -1922,7 +1923,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1111 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1115 #, python-format msgid "Bank Reconciliation" msgstr "" @@ -2202,32 +2203,32 @@ msgid "Cancelled Invoice" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:176 +#: code:addons/account/models/account_move.py:172 #, python-format msgid "Cannot create moves for different companies." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:208 +#: code:addons/account/models/account_move.py:204 #, python-format msgid "Cannot create unbalanced journal entry." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:473 +#: code:addons/account/models/account_invoice.py:474 #, python-format msgid "Cannot find a chart of accounts for this company, You should configure it. \n" "Please go to Account Configuration." msgstr "" #. module: account -#: code:addons/account/models/account.py:393 +#: code:addons/account/models/account.py:418 #, python-format msgid "Cannot generate an unused account code." msgstr "" #. module: account -#: code:addons/account/models/account.py:423 +#: code:addons/account/models/account.py:448 #, python-format msgid "Cannot generate an unused journal code. Please fill the 'Shortcode' field." msgstr "" @@ -2436,7 +2437,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1882 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1890 #, python-format msgid "Choose counterpart" msgstr "" @@ -2669,7 +2670,7 @@ msgid "Complete set of taxes" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:410 +#: code:addons/account/models/account_invoice.py:411 #, python-format msgid "Compose Email" msgstr "" @@ -2698,21 +2699,21 @@ msgid "Configuration Error !" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:339 +#: code:addons/account/models/account_invoice.py:340 #, python-format msgid "Configuration error!\n" "Could not find any account to create the invoice, are you sure you have a chart of account installed?" msgstr "" #. module: account -#: code:addons/account/models/account.py:270 +#: code:addons/account/models/account.py:294 #, python-format msgid "Configuration error!\n" "The currency of the journal should be the same than the default credit account." msgstr "" #. module: account -#: code:addons/account/models/account.py:272 +#: code:addons/account/models/account.py:296 #, python-format msgid "Configuration error!\n" "The currency of the journal should be the same than the default debit account." @@ -2774,7 +2775,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1521 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1525 #, python-format msgid "Congrats, you're all done !" msgstr "" @@ -2849,7 +2850,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1879 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1887 #, python-format msgid "Create Write-off" msgstr "" @@ -2885,7 +2886,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2481 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2493 #, python-format msgid "Create writeoff" msgstr "" @@ -3111,8 +3112,8 @@ msgid "Currency as per company's country." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1323 -#: code:addons/account/models/account_move.py:1333 +#: code:addons/account/models/account_move.py:1318 +#: code:addons/account/models/account_move.py:1328 #, python-format msgid "Currency exchange rate difference" msgstr "" @@ -3689,23 +3690,18 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1525 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1529 #, python-format msgid "Efficiency at its finest" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:887 +#: code:addons/account/models/account_move.py:883 #, python-format msgid "Either pass both debit and credit or none." msgstr "" #. module: account -#: selection:account.payment,payment_type:0 -msgid "Electronically receive money" -msgstr "" - -#. module: account #: model:ir.model,name:account.model_mail_compose_message msgid "Email composition wizard" msgstr "" @@ -3746,6 +3742,11 @@ msgid "End Date" msgstr "" #. module: account +#: model:account.payment.term,name:account.account_payment_term +msgid "End of Following Month" +msgstr "" + +#. module: account #: model:ir.model.fields,field_description:account.field_account_bank_statement_balance_end_real msgid "Ending Balance" msgstr "" @@ -3771,7 +3772,7 @@ msgid "Entries Sorted by" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:852 +#: code:addons/account/models/account_move.py:848 #, python-format msgid "Entries are not of the same account!" msgstr "" @@ -3885,7 +3886,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1532 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1536 #, python-format msgid "Fast reconciler" msgstr "" @@ -4093,7 +4094,7 @@ msgid "Forces all moves for this account to have this secondary currency." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:77 +#: code:addons/account/models/account_invoice.py:78 #, python-format msgid "Free Reference" msgstr "" @@ -4236,7 +4237,7 @@ msgid "Go to bank statements" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:474 +#: code:addons/account/models/account_invoice.py:475 #, python-format msgid "Go to the configuration panel" msgstr "" @@ -4611,7 +4612,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1805 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1809 #, python-format msgid "Incorrect Operation" msgstr "" @@ -4773,32 +4774,37 @@ msgid "Invoice id" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:549 +#: code:addons/account/models/account_invoice.py:550 #, python-format msgid "Invoice must be a draft in order to set it to Pro-forma." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:529 +#: code:addons/account/models/account_invoice.py:530 #, python-format msgid "Invoice must be cancelled in order to reset it to draft." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:557 -#: code:addons/account/models/account_invoice.py:581 +#: code:addons/account/models/account_invoice.py:558 #, python-format msgid "Invoice must be in draft or Pro-forma state in order to validate it." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:575 +#: code:addons/account/models/account_invoice.py:582 +#, python-format +msgid "Invoice must be in draft,Pro-forma or open state in order to be cancelled." +msgstr "" + +#. module: account +#: code:addons/account/models/account_invoice.py:576 #, python-format msgid "Invoice must be paid in order to set it to register payemnt." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:567 +#: code:addons/account/models/account_invoice.py:568 #, python-format msgid "Invoice must be validated in order to set it to register payemnt." msgstr "" @@ -4809,13 +4815,13 @@ msgid "Invoice paid" msgstr "" #. module: account -#: code:addons/account/wizard/account_invoice_refund.py:115 +#: code:addons/account/wizard/account_invoice_refund.py:114 #, python-format msgid "Invoice refund" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1474 +#: code:addons/account/models/account_invoice.py:1466 #, python-format msgid "Invoice sent" msgstr "" @@ -4854,7 +4860,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2114 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2126 #, python-format msgid "Invoices & Payments Matching" msgstr "" @@ -4928,7 +4934,7 @@ msgid "It indicates that the invoice has been sent." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:885 +#: code:addons/account/models/account_move.py:881 #, python-format msgid "It is mandatory to specify an account and a journal to create a write-off." msgstr "" @@ -4989,8 +4995,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2150 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2155 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2162 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2167 #: code:addons/account/static/src/xml/account_reconciliation.xml:142 #: model:ir.model,name:account.model_account_journal #: model:ir.model.fields,field_description:account.field_account_bank_statement_journal_id @@ -5097,7 +5103,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2113 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2125 #: model:ir.actions.client,name:account.action_manual_reconcile #, python-format msgid "Journal Items to Reconcile" @@ -5119,6 +5125,11 @@ msgid "Journal invoices with period in current year" msgstr "" #. module: account +#: model:ir.ui.view,arch_db:account.view_account_move_line_filter +msgid "Journal items where matching number isn't set" +msgstr "" + +#. module: account #: model:ir.actions.act_window,name:account.action_account_journal_form #: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_journal_ids #: model:ir.model.fields,field_description:account.field_account_balance_report_journal_ids @@ -5181,8 +5192,9 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:109 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:113 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:108 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:112 +#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_name #: model:ir.model.fields,field_description:account.field_account_move_line_name #: model:ir.ui.view,arch_db:account.report_journal #, python-format @@ -5441,7 +5453,7 @@ msgid "Legal mentions that have to be printed on the invoices." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:145 +#: code:addons/account/models/account_invoice.py:146 #, python-format msgid "Less Payment" msgstr "" @@ -5546,6 +5558,12 @@ msgid "Main currency of the company." msgstr "" #. module: account +#: model:ir.actions.act_window,name:account.tax_adjustments_form +#: model:ir.ui.menu,name:account.menu_action_tax_adjustment +msgid "Make Manual Tax Adjustments" +msgstr "" + +#. module: account #: model:ir.ui.view,arch_db:account.account_planner msgid "Manage time & material contracts or fixed-price recurring subscriptions." msgstr "" @@ -5583,6 +5601,16 @@ msgid "Manual Invoice Taxes" msgstr "" #. module: account +#: model:ir.ui.menu,name:account.menu_action_manual_reconciliation +msgid "Manual Payments & Invoices Matching" +msgstr "" + +#. module: account +#: model:ir.actions.client,name:account.action_manual_reconciliation +msgid "Manual Reconciliation" +msgstr "" + +#. module: account #: model:ir.ui.view,arch_db:account.account_planner msgid "Manually enter your transactions using our" msgstr "" @@ -5641,7 +5669,6 @@ msgstr "" #. module: account #: model:ir.model.fields,field_description:account.field_account_abstract_payment_communication -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_name #: model:ir.model.fields,field_description:account.field_account_payment_communication #: model:ir.model.fields,field_description:account.field_account_register_payments_communication msgid "Memo" @@ -5763,7 +5790,7 @@ msgid "Move line ids" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1149 +#: code:addons/account/models/account_move.py:1144 #, python-format msgid "Move name (id): %s (%s)" msgstr "" @@ -5845,7 +5872,7 @@ msgid "New Transactions" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1126 +#: code:addons/account/models/account_move.py:1121 #, python-format msgid "New expected payment date: " msgstr "" @@ -6109,7 +6136,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1526 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1530 #, python-format msgid "Only use the ctrl-enter shortcut to validate reconciliations." msgstr "" @@ -6135,9 +6162,9 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1885 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1917 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2052 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1893 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1925 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2060 #, python-format msgid "Open balance" msgstr "" @@ -6235,7 +6262,7 @@ msgid "Outstanding Transactions" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:112 +#: code:addons/account/models/account_invoice.py:113 #, python-format msgid "Outstanding credits" msgstr "" @@ -6246,7 +6273,7 @@ msgid "Outstanding credits debits widget" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:115 +#: code:addons/account/models/account_invoice.py:116 #, python-format msgid "Outstanding debits" msgstr "" @@ -6335,7 +6362,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1746 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1750 #: code:addons/account/static/src/xml/account_reconciliation.xml:263 #: model:ir.model,name:account.model_res_partner #: model:ir.model.fields,field_description:account.field_account_abstract_payment_partner_id @@ -6559,6 +6586,16 @@ msgid "Payment term: 30 Net Days" msgstr "" #. module: account +#: model:account.payment.term,note:account.account_payment_term_advance +msgid "Payment term: 30% Advance End of Following Month" +msgstr "" + +#. module: account +#: model:account.payment.term,note:account.account_payment_term +msgid "Payment term: End of Following Month" +msgstr "" + +#. module: account #: model:account.payment.term,note:account.account_payment_term_immediate msgid "Payment term: Immediate Payment" msgstr "" @@ -6648,7 +6685,7 @@ msgid "Percentage of balance" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1456 +#: code:addons/account/models/account_invoice.py:1448 #, python-format msgid "Percentages for Payment Terms Line must be between 0 and 100." msgstr "" @@ -6686,19 +6723,19 @@ msgid "Please check that the field 'Transfer Account' is set on the company." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:794 +#: code:addons/account/models/account_invoice.py:795 #, python-format msgid "Please create some invoice lines." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:145 +#: code:addons/account/models/account_move.py:141 #, python-format msgid "Please define a sequence on the journal." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:792 +#: code:addons/account/models/account_invoice.py:793 #, python-format msgid "Please define sequence on the journal related to this invoice." msgstr "" @@ -6976,6 +7013,11 @@ msgid "Reason" msgstr "" #. module: account +#: model:ir.ui.view,arch_db:account.tax_adjustments_wizard +msgid "Reason..." +msgstr "" + +#. module: account #: model:account.account.type,name:account.data_account_type_receivable #: selection:account.account.type,type:0 #: model:ir.ui.view,arch_db:account.view_account_move_line_filter @@ -7017,8 +7059,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1867 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2465 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1871 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2477 #: code:addons/account/static/src/xml/account_reconciliation.xml:323 #: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view #: model:ir.ui.view,arch_db:account.account_move_line_reconcile_writeoff @@ -7097,7 +7139,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2178 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2190 #, python-format msgid "Reconciling " msgstr "" @@ -7547,7 +7589,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1774 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1778 #, python-format msgid "Select Partner" msgstr "" @@ -7710,7 +7752,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2468 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2480 #, python-format msgid "Skip" msgstr "" @@ -7849,7 +7891,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1533 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1537 #, python-format msgid "Take on average less than 5 seconds to reconcile a transaction." msgstr "" @@ -7870,8 +7912,8 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:121 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:126 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:120 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:125 #: model:ir.model,name:account.model_account_tax #: model:ir.model.fields,field_description:account.field_account_invoice_amount_tax #: model:ir.model.fields,field_description:account.field_account_invoice_tax_tax_id @@ -7904,12 +7946,6 @@ msgid "Tax Account on Refunds" msgstr "" #. module: account -#: model:ir.actions.act_window,name:account.tax_adjustments_form -#: model:ir.ui.menu,name:account.menu_action_tax_adjustment -msgid "Tax Adjustments" -msgstr "" - -#. module: account #: model:ir.ui.view,arch_db:account.report_journal msgid "Tax Amount" msgstr "" @@ -8207,7 +8243,7 @@ msgid "The Deposit Ticket module can also be used to settle credit card batch ma msgstr "" #. module: account -#: code:addons/account/models/account_move.py:854 +#: code:addons/account/models/account_move.py:850 #, python-format msgid "The account %s (%s) is not marked as reconciliable !" msgstr "" @@ -8229,19 +8265,19 @@ msgid "The amount expressed in the related account currency if not equal to the msgstr "" #. module: account -#: code:addons/account/models/account_move.py:429 +#: code:addons/account/models/account_move.py:425 #, python-format msgid "The amount expressed in the secondary currency must be positive when account is debited and negative when account is credited." msgstr "" #. module: account -#: code:addons/account/models/account.py:573 +#: code:addons/account/models/account.py:598 #, python-format msgid "The application scope of taxes in a group must be either the same as the group or \"None\"." msgstr "" #. module: account -#: code:addons/account/models/account.py:279 +#: code:addons/account/models/account.py:303 #, python-format msgid "The bank account of a bank journal must belong to the same company (%s)." msgstr "" @@ -8305,7 +8341,7 @@ msgid "The fiscal position will determine taxes and accounts used for the partne msgstr "" #. module: account -#: code:addons/account/models/account.py:283 +#: code:addons/account/models/account.py:307 #, python-format msgid "The holder of a journal's bank account must be the company (%s)." msgstr "" @@ -8370,7 +8406,7 @@ msgid "The partner has at least one unreconciled debit and credit since last tim msgstr "" #. module: account -#: code:addons/account/models/account_move.py:856 +#: code:addons/account/models/account_move.py:852 #, python-format msgid "The partner has to be the same on all lines for receivable and payable accounts!" msgstr "" @@ -8397,13 +8433,13 @@ msgid "The residual amount on a journal item expressed in the company currency." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:414 +#: code:addons/account/models/account_move.py:410 #, python-format msgid "The selected account of your Journal Entry forces to provide a secondary currency. You should remove the secondary currency on the account." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1318 +#: code:addons/account/models/account_invoice.py:1309 #, python-format msgid "The selected unit of measure is not compatible with the unit of measure of the product." msgstr "" @@ -8442,7 +8478,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1509 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1513 #, python-format msgid "There you go, it's all done !" msgstr "" @@ -8589,13 +8625,13 @@ msgid "This is the accounting dashboard. If you have not yet\n" msgstr "" #. module: account -#: code:addons/account/models/account.py:319 +#: code:addons/account/models/account.py:344 #, python-format msgid "This journal already contains items, therefore you cannot modify its company." msgstr "" #. module: account -#: code:addons/account/models/account.py:322 +#: code:addons/account/models/account.py:347 #, python-format msgid "This journal already contains items, therefore you cannot modify its short name." msgstr "" @@ -8703,7 +8739,7 @@ msgid "To manage the tax applied when invoicing a Company, Odoo uses the concept msgstr "" #. module: account -#: code:addons/account/models/account_move.py:850 +#: code:addons/account/models/account_move.py:846 #, python-format msgid "To reconcile the entries company should be the same for all entries!" msgstr "" @@ -8970,11 +9006,6 @@ msgid "Unreconciled Entries" msgstr "" #. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Unreconciled Journal Items" -msgstr "" - -#. module: account #: model:ir.model.fields,field_description:account.field_account_invoice_amount_untaxed msgid "Untaxed Amount" msgstr "" @@ -9085,7 +9116,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1884 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1892 #: model:ir.ui.view,arch_db:account.invoice_form #: model:ir.ui.view,arch_db:account.invoice_supplier_form #: model:ir.ui.view,arch_db:account.view_account_payment_from_invoices @@ -9213,7 +9244,7 @@ msgid "Warning" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:493 +#: code:addons/account/models/account_invoice.py:494 #, python-format msgid "Warning for %s" msgstr "" @@ -9224,8 +9255,8 @@ msgid "Warning on the Invoice" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1258 -#: code:addons/account/models/account_invoice.py:1317 +#: code:addons/account/models/account_invoice.py:1249 +#: code:addons/account/models/account_invoice.py:1308 #, python-format msgid "Warning!" msgstr "" @@ -9269,7 +9300,7 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1520 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1524 #, python-format msgid "Whew, that was fast !" msgstr "" @@ -9314,7 +9345,7 @@ msgid "Wizard for Tax Adjustments" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:891 +#: code:addons/account/models/account_move.py:887 #: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full #, python-format msgid "Write-Off" @@ -9346,7 +9377,7 @@ msgid "Wrong credit or debit value in accounting entry !" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:848 +#: code:addons/account/models/account_move.py:844 #, python-format msgid "You are trying to reconcile some entries that are already reconciled!" msgstr "" @@ -9392,13 +9423,13 @@ msgid "You can set up here the format you want this record to be displayed. If y msgstr "" #. module: account -#: code:addons/account/models/account_move.py:188 +#: code:addons/account/models/account_move.py:184 #, python-format msgid "You cannot add/modify entries prior to and inclusive of the lock date %s" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:190 +#: code:addons/account/models/account_move.py:186 #, python-format msgid "You cannot add/modify entries prior to and inclusive of the lock date %s. Check the company settings or ask someone with the 'Adviser' role" msgstr "" @@ -9410,51 +9441,51 @@ msgid "You cannot cancel an invoice which is partially paid. You need to unrecon msgstr "" #. module: account -#: code:addons/account/models/account.py:162 +#: code:addons/account/models/account.py:180 #, python-format msgid "You cannot change the owner company of an account that already contains journal items." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:421 +#: code:addons/account/models/account_move.py:417 #, python-format msgid "You cannot create journal items with a secondary currency without filling both 'currency' and 'amount currency' field." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:447 +#: code:addons/account/models/account_invoice.py:448 #, python-format msgid "You cannot delete an invoice after it has been validated (and received a number). You can set it back to \"Draft\" state and modify its content, then re-confirm it." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:445 +#: code:addons/account/models/account_invoice.py:446 #, python-format msgid "You cannot delete an invoice which is not draft or cancelled. You should refund it instead." msgstr "" #. module: account -#: code:addons/account/models/account.py:168 +#: code:addons/account/models/account.py:186 #, python-format msgid "You cannot do that on an account that contains journal items." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1151 +#: code:addons/account/models/account_move.py:1146 #, python-format msgid "You cannot do this modification on a posted journal entry, you can just change some non legal fields. You must revert the journal entry to cancel it.\n" "%s." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1153 +#: code:addons/account/models/account_move.py:1148 #, python-format 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 "" #. module: account -#: code:addons/account/models/account.py:334 +#: code:addons/account/models/account.py:359 #, python-format msgid "You cannot empty the account number once set.\n" "If you would like to delete the account number, you can do it from the Bank Accounts list." @@ -9474,20 +9505,20 @@ msgstr "" #. module: account #. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1806 +#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1810 #, python-format msgid "You cannot mix items from receivable and payable accounts." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:155 +#: code:addons/account/models/account_move.py:151 #, python-format msgid "You cannot modify a posted entry of this journal.\n" "First you should set the journal to allow cancelling entries." msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:569 +#: code:addons/account/models/account_invoice.py:570 #, python-format msgid "You cannot pay an invoice which is partially paid. You need to reconcile payment entries first." msgstr "" @@ -9499,20 +9530,20 @@ msgid "You cannot put/take money in/out for a bank statement which is closed." msgstr "" #. module: account -#: code:addons/account/models/account.py:173 +#: code:addons/account/models/account.py:191 #, python-format msgid "You cannot remove/deactivate an account which is set on a customer or vendor." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1011 -#: code:addons/account/models/account_move.py:1117 +#: code:addons/account/models/account_move.py:1006 +#: code:addons/account/models/account_move.py:1112 #, python-format msgid "You cannot use deprecated account." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1049 +#: code:addons/account/models/account_move.py:1044 #, python-format msgid "You cannot use this general account in this journal, check the tab 'Entry Controls' on the related journal." msgstr "" @@ -9530,7 +9561,7 @@ msgid "You must define a Start Date" msgstr "" #. module: account -#: code:addons/account/models/account_invoice.py:1259 +#: code:addons/account/models/account_invoice.py:1250 #, python-format msgid "You must first select a partner!" msgstr "" @@ -9548,19 +9579,19 @@ msgid "You must set a start date." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1307 +#: code:addons/account/models/account_move.py:1302 #, python-format msgid "You should configure the 'Exchange Rate Journal' in the accounting settings, to manage automatically the booking of accounting entries related to differences between exchange rates." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1309 +#: code:addons/account/models/account_move.py:1304 #, python-format msgid "You should configure the 'Gain Exchange Rate Account' in the accounting settings, to manage automatically the booking of accounting entries related to differences between exchange rates." msgstr "" #. module: account -#: code:addons/account/models/account_move.py:1311 +#: code:addons/account/models/account_move.py:1306 #, python-format msgid "You should configure the 'Loss Exchange Rate Account' in the accounting settings, to manage automatically the booking of accounting entries related to differences between exchange rates." msgstr "" @@ -9812,7 +9843,7 @@ msgid "report.account.report_trialbalance" msgstr "" #. module: account -#: code:addons/account/models/account_move.py:218 +#: code:addons/account/models/account_move.py:214 #, python-format msgid "reversal of: " msgstr "" diff --git a/addons/account/i18n/en.po b/addons/account/i18n/en.po deleted file mode 100644 index c5fdc924eed..00000000000 --- a/addons/account/i18n/en.po +++ /dev/null @@ -1,10033 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * account -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:06+0000\n" -"PO-Revision-Date: 2015-11-18 08:05+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: account -#: model:mail.template,body_html:account.email_template_edi_invoice -msgid "" -"\n" -"% set access_action = object.get_access_action()\n" -"% set access_name = 'View invoice' if access_action and " -"access_action['type'] == 'ir.actions.act_url' else 'See invoice'\n" -"% set access_url = access_action['type'] == 'ir.actions.act_url' and " -"access_action['url'] or '/report/pdf/account.report_invoice/' + str(object." -"id)\n" -"\n" -"<p>Dear\n" -"% if object.partner_id.is_company and object.child_ids:\n" -" ${object.partner_id.child_ids[0].name}\n" -"% else :\n" -" ${object.partner_id.name}\n" -"% endif\n" -",</p>\n" -"<p>Thank you for your inquiry. Here is your invoice <strong>${object.number}" -"</strong>\n" -"% if object.origin:\n" -"(with reference: ${object.origin} )\n" -"% endif\n" -"amounting <strong>${object.amount_total} ${object.currency_id.name}</" -"strong>\n" -"from ${object.company_id.name}.\n" -"</p>\n" -"\n" -"<p style=\"margin-left: 30px;\">\n" -" <a href=\"${access_url}\" style=\"padding: 5px 10px; font-size: 12px; " -"line-height: 18px; color: #FFFFFF; border-color:#a24689; text-decoration: " -"none; display: inline-block; margin-bottom: 0px; font-weight: 400; text-" -"align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; " -"background-image: none; background-color: #a24689; border: 1px solid " -"#a24689; border-radius:3px\" class=\"o_default_snippet_text\">${access_name}" -"</a>\n" -"</p>\n" -"<p>If you have any question, do not hesitate to contact us.</p>\n" -"<p>Best regards,</p>\n" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_state -#, fuzzy -msgid "" -" * The 'Draft' status is used when a user is encoding a new and unconfirmed " -"Invoice.\n" -" * The 'Pro-forma' status is used when the invoice does not have an invoice " -"number.\n" -" * The 'Open' status is used when user creates invoice, an invoice number is " -"generated. It stays in the open status till the user pays the invoice.\n" -" * 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 "" -" * The 'Draft' status is used when a user is encoding a new and unconfirmed " -"Invoice.\n" -" * The 'Pro-forma' status is used when the invoice does not have an invoice " -"number.\n" -" * The 'Open' status is used when user creates invoice, an invoice number is " -"generated. Its in open status till user does not pay invoice.\n" -" * 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." - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1502 -#, python-format -msgid " seconds" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_code_digits -#: model:ir.model.fields,field_description:account.field_account_config_settings_code_digits -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_code_digits -msgid "# of Digits" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_nbr -msgid "# of Lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_trans_nbr -msgid "# of Transaction" -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 "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:322 -#, python-format -msgid "%d transactions were automatically reconciled." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:575 -#, python-format -msgid "%s (Copy)" -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:152 -#: code:addons/account/models/account.py:310 -#: code:addons/account/models/account.py:311 -#, python-format -msgid "%s (copy)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.external_layout_footer -msgid "&bull;" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid ", if accounting or purchase is installed" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "-> Reconcile" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "-> View partially reconciled entries" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:323 -#, python-format -msgid "1 transaction was automatically reconciled." -msgstr "" - -#. module: account -#: model:account.payment.term,name:account.account_payment_term_15days -msgid "15 Days" -msgstr "" - -#. module: account -#: model:account.payment.term,name:account.account_payment_term_net -msgid "30 Net Days" -msgstr "" - -#. module: account -#: model:account.payment.term,name:account.account_payment_term_advance -msgid "30% Advance End of Following Month" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "5) For setup, you will need the following information:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid ": General ledger" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid ": Trial Balance" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<span class=\"fa fa-arrow-circle-o-down\"/> Install Now" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<span class=\"fa\"/> Invite Your Users" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.partner_view_buttons -msgid "<span class=\"o_stat_text\">Invoiced</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <span class=\"fa\" data-icon=" -"\"\"/>\n" -" <strong>Import a file</strong><br/>\n" -" <span class=\"small\">Recommended if " -">100 products</span>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <span class=\"fa\" data-icon=" -"\"\"/>\n" -" <strong>Import</strong><br/>\n" -" <span class=\"small\">> 200 " -"contacts</span>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <span class=\"fa\" data-icon=" -"\"\"/>\n" -" <strong> Create manually</strong><br/" -">\n" -" <span class=\"small\">< 200 " -"contacts</span>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <span class=\"fa\" data-icon=" -"\"\"/>\n" -" <strong> Create manually</strong><br/" -">\n" -" <span class=\"small\">Recommended if " -"<100 products</span>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Accountant</strong> " -"(Advanced access)\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Advisor</strong> (Full " -"access)\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Billing</strong> (Limited " -"access)\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Customer follow-up</strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Invoice payment by Check</" -"strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Invoice payment by Wire " -"Transfer</strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Pay your bills</strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Reconcile Bank Statements</" -"strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<span class=\"panel-title\">\n" -" <strong>Record your Bills</strong>\n" -" </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span title=\"Balance in Odoo\">Balance in GL</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span title=\"Latest Statement\">Latest Statement</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "<span> From </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "<span> To </span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_invoice_report_duplicate -msgid "<span>Duplicate</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>New Bill</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>New Invoice</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>New</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "<span>Not due</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>Operations</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>Reconciliation</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>Reports</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "<span>View</span>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>-The Odoo Team</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>1. Register Outstanding Invoices</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>2. Register Unmatched Payments</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Assets Management</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Automated documents sending:</strong> automatically send your " -"invoices by email or snail mail." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "<strong>Balance :</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Banking interface:</strong> with live bank feed synchronization and " -"bank statement importation." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Cash transactions</strong><br/> (for which there is no invoice or " -"bill), should be entered directly into your Cash Registers bank account." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Check the Taxes configuration:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Check unpaid invoices</strong><br/>\n" -" Run an <i>Aged Receivable report</" -"i> and check which customers still owe you money." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Clean customer invoices:</strong> easy to create, beautiful and full " -"featured invoices." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Comment:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -msgid "<strong>Company:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Contracts & Subscriptions</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Create a Customer Invoice</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Create a Deposit Ticket</strong><br/>\n" -" This allows you to record the " -"different payments that constitute your bank deposit. (You may need to" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Create the bill in Odoo</strong><br/> with a proper due date, and " -"create the vendor if it doesnt' exist yet." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Customer Code:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "<strong>Date from :</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "<strong>Date to :</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Deposit Tickets</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Description:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "<strong>Display Account:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "<strong>Display Account</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Due Date:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -msgid "<strong>Entries Sorted By:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Expenses</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Fiscal Position Remark:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Invoice Date:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -msgid "<strong>Journal:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "<strong>Journals:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Mark the bills to pay</strong><br/>\n" -" Group or filter your bills to see " -"those due in the next week, then open each bill individually, click on " -"<strong>'Pay'</strong> and select the payment method you prefer." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Next action:</strong><br/>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>On-the-fly payment reconciliation:</strong> automatic suggestions of " -"outstanding payments when creating invoices." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Or generate payment orders</strong><br/>\n" -" Create a Payment Order and select " -"the bills you'd like to pay as Entry lines (only the validated bills will " -"appear)." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "<strong>Partner's:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "<strong>Period Length (days)</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Print checks</strong><br/>\n" -" From the Vendor Payments list, " -"select those you want to pay and click on Print Check (you may first need to " -"activate the check feature in the" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Purchases</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Reconcile Bank Statement</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Reconcile with existing transaction</strong><br/>\n" -" In this case, Odoo should " -"automatically match the bank statement with the previously recorded check " -"transaction." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Reconcile your Bank Statements</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Record Bank Statement (or import file)</strong><br/>\n" -" Depending on the volume of your " -"transactions, you should be recording your bank statement every week to " -"several times a day." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Record Bank Statement</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Record a payment by check on the Invoice</strong><br/>\n" -" Simply click on the 'Pay' button." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Reduced data entry:</strong> no need to manually create invoices, " -"register bank statements, and send payment follow-ups." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Reference:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Revenue Recognition</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "<strong>Send follow-up letters</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "<strong>Sorted By:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Source:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "<strong>Start Date:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "<strong>Sub-Total :</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "<strong>Subtotal</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "<strong>Target Moves:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Test the following three scenarios in order to assist you in " -"familiarizing yourself with Odoo:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>There are three different levels of access rights in Odoo:</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "<strong>There is nothing due with this customer.</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.report_journal -msgid "<strong>Total</strong>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"<strong>Validate the bill</strong><br/> after encoding the products and " -"taxes." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_view_bank_statement_tree -msgid "" -"A Cash Register allows you to manage cash entries in your cash\n" -" journals. This feature provides an easy way to follow up " -"cash\n" -" payments on a daily basis. You can enter the coins that are " -"in\n" -" your cash box, and then post entries when money comes in or\n" -" goes out of the cash box." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1312 -#, python-format -msgid "A Payment Term should have its last line of type Balance." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1315 -#, python-format -msgid "A Payment Term should have only one line of type Balance." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:502 -#, fuzzy, python-format -msgid "A bank account can only belong to one journal." -msgstr "A bank account can only belong to one journal." - -#. module: account -#: model:ir.actions.act_window,help:account.action_bank_statement_tree -msgid "" -"A bank statement is a summary of all financial transactions\n" -" occurring over a given period of time on a bank account. " -"You\n" -" should receive this periodicaly from your bank." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_bank_statement_line -msgid "A bank statement line is a financial transaction on a bank account." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_move_journal_line -msgid "" -"A journal entry consists of several journal items, each of\n" -" which is either a debit or a credit transaction." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_journal_form -msgid "" -"A journal is used to record transactions of all accounting data\n" -" related to the day-to-day business." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "A list of common taxes and their rates." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "A list of your customer and supplier payment terms." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"A product in Odoo is something you sell or buy \n" -" whether or not it is goods, consumables, or " -"services.\n" -" Choose how you want to create your products:" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:732 -#, python-format -msgid "A reconciliation must involve at least 2 move lines." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:836 -#: code:addons/account/models/account_bank_statement.py:839 -#, python-format -msgid "A selected move line was already reconciled." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:226 -#, python-format -msgid "A statement cannot be canceled when its lines are reconciled." -msgstr "" - -#. module: account -#: sql_constraint:account.fiscal.position.tax:0 -msgid "A tax fiscal position could be defined only once time on same taxes." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:388 -#, python-format -msgid "A transaction can't have a 0 amount." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_journal_form -msgid "" -"A typical company may use one journal per payment method (cash,\n" -" bank accounts, checks), one purchase journal, one sale " -"journal\n" -" and one for miscellaneous information." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:100 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:105 -#: code:addons/account/static/src/xml/account_reconciliation.xml:140 -#: code:addons/account/static/src/xml/account_reconciliation.xml:266 -#: model:ir.model,name:account.model_account_account -#: model:ir.model.fields,field_description:account.field_account_invoice_account_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_account_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_account_id -#: model:ir.model.fields,field_description:account.field_account_move_dummy_account_id -#: model:ir.model.fields,field_description:account.field_account_move_line_account_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_account_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_account_id -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -#: model:ir.ui.view,arch_db:account.view_account_form -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_search -#, python-format -msgid "Account" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_aged_trial_balance -msgid "Account Aged Trial balance Report" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Account Balances" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_bank_statement_cashbox -msgid "Account Bank Statement Cashbox Details" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_bank_statement_closebalance -msgid "Account Bank Statement closing balance" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_common_account_report -msgid "Account Common Account Report" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_common_journal_report -msgid "Account Common Journal Report" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_common_partner_report -msgid "Account Common Partner Report" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_common_report -msgid "Account Common Report" -msgstr "" - -#. module: account -#: 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 -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_currency_id -msgid "Account Currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_account_dest_id -msgid "Account Destination" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_move -#: model:ir.ui.view,arch_db:account.view_move_form -msgid "Account Entry" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_bank_journal_id -#: model:ir.ui.view,arch_db:account.view_account_bank_journal_tree -#: model:ir.ui.view,arch_db:account.view_account_journal_form -#: model:ir.ui.view,arch_db:account.view_account_journal_tree -msgid "Account Journal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_account_line_id -msgid "Account Line" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_ids -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_account_ids -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "Account Mapping" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_reversal -msgid "Account Move Reversal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_acc_name -msgid "Account Name." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_bank_acc_number -msgid "Account Number" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_report_partner_ledger -msgid "Account Partner Ledger" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_property_account_payable_id -msgid "Account Payable" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_print_journal -msgid "Account Print Journal" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_category_property_form -msgid "Account Properties" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_property_account_receivable_id -msgid "Account Receivable" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_financial_report -#: model:ir.model.fields,field_description:account.field_account_financial_report_children_ids -#: model:ir.ui.view,arch_db:account.view_account_financial_report_form -#: model:ir.ui.view,arch_db:account.view_account_financial_report_search -#: model:ir.ui.view,arch_db:account.view_account_financial_report_tree -msgid "Account Report" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_accounting_report_account_report_id -#: model:ir.ui.menu,name:account.menu_account_financial_reports_tree -msgid "Account Reports" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_account_report_tree_hierarchy -#: model:ir.ui.view,arch_db:account.view_account_report_tree_hierarchy -msgid "Account Reports Hierarchy" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_account_src_id -msgid "Account Source" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_bank_statement_graph -#: model:ir.ui.view,arch_db:account.account_bank_statement_pivot -#: model:ir.ui.view,arch_db:account.account_move_line_graph_date -#: model:ir.ui.view,arch_db:account.account_move_line_graph_date_cash_basis -msgid "Account Statistics" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_account_tag -msgid "Account Tag" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_tax_form -#: model:ir.ui.view,arch_db:account.view_tax_tree -msgid "Account Tax" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_form -#: model:ir.ui.view,arch_db:account.view_account_tax_template_tree -msgid "Account Tax Template" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -#: model:ir.ui.view,arch_db:account.view_account_template_form -#: model:ir.ui.view,arch_db:account.view_account_template_search -#: model:ir.ui.view,arch_db:account.view_account_template_tree -msgid "Account Template" -msgstr "" - -#. module: account -#: 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 "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_template_form -msgid "Account Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "Account Total" -msgstr "" - -#. module: account -#: selection:account.financial.report,type:0 -#: model:ir.model,name:account.model_account_account_type -#: model:ir.model.fields,field_description:account.field_account_account_type_name -#: model:ir.ui.view,arch_db:account.view_account_search -#: model:ir.ui.view,arch_db:account.view_account_template_search -#: model:ir.ui.view,arch_db:account.view_account_type_form -#: model:ir.ui.view,arch_db:account.view_account_type_search -#: model:ir.ui.view,arch_db:account.view_account_type_tree -msgid "Account Type" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_user_type_id -#: model:ir.model.fields,help:account.field_account_move_line_user_type_id -msgid "" -"Account Type is used for information purpose, to generate country-specific " -"legal reports, and set the rules to close a fiscal year and generate opening " -"entries." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_type_form -#: model:ir.model.fields,field_description:account.field_account_financial_report_account_type_ids -msgid "Account Types" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_type_control_ids -msgid "Account Types Allowed" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_unreconcile -msgid "Account Unreconcile" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_move_line_reconcile -msgid "Account move line reconcile" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_move_line_reconcile_writeoff -msgid "Account move line reconcile (writeoff)" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_move_reversal -msgid "Account move reversal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_account_src_id -msgid "Account on Product" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_template_tag_ids -#: model:ir.model.fields,field_description:account.field_account_tax_template_tag_ids -msgid "Account tag" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_account_id -#: model:ir.model.fields,help:account.field_account_tax_template_account_id -msgid "" -"Account that will be set on invoice tax lines for invoices. Leave empty to " -"use the expense account." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_refund_account_id -#: model:ir.model.fields,help:account.field_account_tax_template_refund_account_id -msgid "" -"Account that will be set on invoice tax lines for refunds. Leave empty to " -"use the expense account." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_account_dest_id -msgid "Account to Use Instead" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_account_type -msgid "Account type" -msgstr "" - -#. module: account -#: model:res.groups,name:account.group_account_user -msgid "Accountant" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.account_account_menu -#: model:ir.ui.menu,name:account.menu_finance -#: model:ir.ui.view,arch_db:account.product_template_form_view -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Accounting" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Accounting & Finance" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_wizard_multi_chart -msgid "Accounting Application Configuration" -msgstr "" - -#. module: account -#: model:web.planner,tooltip_planner:account.planner_account -msgid "Accounting Configuration: a step-by-step guide." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.open_account_journal_dashboard_kanban -msgid "Accounting Dashboard" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_date -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_date -msgid "Accounting Date" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Accounting Documents" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Accounting Entries" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_accounting_report -msgid "Accounting Report" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Accounting Settings" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Accounting-related settings are managed on" -msgstr "" - -#. module: account -#: selection:account.account.tag,applicability:0 -#: selection:account.financial.report,type:0 -#: model:ir.model.fields,field_description:account.field_account_financial_report_account_ids -#: model:ir.ui.view,arch_db:account.view_account_search -msgid "Accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_account_control_ids -msgid "Accounts Allowed" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_fiscal_position_account -msgid "Accounts Fiscal Position" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_template_form -msgid "Accounts Mapping" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Activate the option in the" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_active -#: model:ir.model.fields,field_description:account.field_account_payment_term_active -#: model:ir.model.fields,field_description:account.field_account_tax_active -#: model:ir.model.fields,field_description:account.field_account_tax_template_active -msgid "Active" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:17 -#, python-format -msgid "Add" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_operation_template_has_second_line -#: model:ir.ui.view,arch_db:account.view_account_operation_template_form -msgid "Add a second line" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Add an internal note..." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_comment -msgid "Additional Information" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Additional notes..." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Address" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_form -#: model:ir.ui.view,arch_db:account.view_tax_form -msgid "Advanced Options" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_journal_form -msgid "Advanced Settings" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_finance_entries -#: model:res.groups,name:account.group_account_manager -msgid "Adviser" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_include_base_amount -msgid "Affect Base of Subsequent Taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_template_include_base_amount -msgid "Affect Subsequent Taxes" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_aged_balance_view -#: model:ir.actions.report.xml,name:account.action_report_aged_partner_balance -#: model:ir.ui.menu,name:account.menu_aged_trial_balance -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -msgid "Aged Partner Balance" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -msgid "" -"Aged Partner Balance is a more detailed report of your receivables by " -"intervals. Odoo calculates a table of credit balance by start Date. So if " -"you request an interval of 30 days Odoo generates an analysis of creditors " -"for the past month, past two months, and so on." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "Aged Trial Balance" -msgstr "" - -#. module: account -#. openerp-web -#: selection:account.balance.report,display_account:0 -#: selection:account.common.account.report,display_account:0 -#: selection:account.report.general.ledger,display_account:0 -#: code:addons/account/static/src/xml/account_reconciliation.xml:297 -#, python-format -msgid "All" -msgstr "" - -#. module: account -#: selection:account.aged.trial.balance,target_move:0 -#: selection:account.balance.report,target_move:0 -#: selection:account.common.account.report,target_move:0 -#: selection:account.common.journal.report,target_move:0 -#: selection:account.common.partner.report,target_move:0 -#: selection:account.common.report,target_move:0 -#: selection:account.print.journal,target_move:0 -#: selection:account.report.general.ledger,target_move:0 -#: selection:account.report.partner.ledger,target_move:0 -#: selection:accounting.report,target_move:0 -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "All Entries" -msgstr "" - -#. module: account -#: selection:account.aged.trial.balance,target_move:0 -#: selection:account.balance.report,target_move:0 -#: selection:account.common.account.report,target_move:0 -#: selection:account.common.journal.report,target_move:0 -#: selection:account.common.partner.report,target_move:0 -#: selection:account.common.report,target_move:0 -#: selection:account.print.journal,target_move:0 -#: selection:account.report.general.ledger,target_move:0 -#: selection:account.report.partner.ledger,target_move:0 -#: selection:accounting.report,target_move:0 -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "All Posted Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "All accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "All accounts'" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:309 -#: code:addons/account/static/src/xml/account_reconciliation.xml:316 -#, python-format -msgid "" -"All invoices and payments have been matched, your accounts' balances are " -"clean." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_all_lines_reconciled -msgid "All lines reconciled" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_state -msgid "" -"All manually created new journal entries are usually in the status " -"'Unposted', but you can set the option to skip that status on the related " -"journal. In that case, they will behave as journal entries automatically " -"created by the system on document validation (invoices, bank statements...) " -"and will be created in 'Posted' status." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.validate_account_move_view -msgid "" -"All selected journal entries will be validated and posted. You won't be able " -"to modify them afterwards." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:248 -#, python-format -msgid "" -"All the account entries lines must be processed in order to close the " -"statement." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_update_posted -msgid "Allow Cancelling Entries" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_template_reconcile -msgid "Allow Invoices & payments Matching" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_reconcile -msgid "Allow Reconciliation" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_tax_cash_basis -msgid "Allow Tax Cash Basis" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_l10n_us_check_printing -msgid "Allow check printing and deposits" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_group_multi_currency -msgid "Allow multi currencies" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_group_proforma_invoices -msgid "Allow pro-forma invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_group_multi_currency -msgid "Allows to work in a multi currency environment" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_group_proforma_invoices -msgid "Allows you to put invoices in pro-forma state." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_group_analytic_accounting -msgid "Allows you to use the analytic accounting." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:140 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:144 -#: code:addons/account/static/src/xml/account_reconciliation.xml:149 -#: code:addons/account/static/src/xml/account_reconciliation.xml:265 -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_amount -#: model:ir.model.fields,field_description:account.field_account_invoice_line_price_subtotal -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_amount -#: model:ir.model.fields,field_description:account.field_account_move_amount -#: model:ir.model.fields,field_description:account.field_account_operation_template_amount -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_amount -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_amount -#: model:ir.model.fields,field_description:account.field_account_tax_amount -#: model:ir.model.fields,field_description:account.field_account_tax_template_amount -#: model:ir.model.fields,field_description:account.field_cash_box_in_amount -#: model:ir.model.fields,field_description:account.field_cash_box_out_amount -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_move_line_form -#, python-format -msgid "Amount" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_residual -#: model:ir.model.fields,field_description:account.field_account_invoice_residual_company_signed -#: model:ir.model.fields,field_description:account.field_account_invoice_residual_signed -msgid "Amount Due" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_price_subtotal_signed -msgid "Amount Signed" -msgstr "" - -#. 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 "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_amount_currency -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_amount_currency -#: model:ir.model.fields,field_description:account.field_account_move_line_amount_currency -msgid "Amount currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_amount_currency -msgid "Amount in Currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_operation_template_amount_type -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_amount_type -msgid "Amount type" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:68 -#, python-format -msgid "Amount:" -msgstr "" - -#. module: account -#: sql_constraint:account.fiscal.position.account:0 -msgid "" -"An account fiscal position could be defined only once time on same accounts." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_form -msgid "" -"An account is part of a ledger allowing your company\n" -" to register all kinds of debit and credit transactions.\n" -" Companies present their annual accounts in two main parts: " -"the\n" -" balance sheet and the income statement (profit and loss\n" -" account). The annual accounts of a company are required by " -"law\n" -" to disclose a certain amount of information." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_type_form -msgid "" -"An account type is used to determine how an account is used in\n" -" each journal. The deferral method of an account type " -"determines\n" -" the process for the annual closing. Reports such as the " -"Balance\n" -" Sheet and the Profit and Loss report use the category\n" -" (profit/loss or balance sheet)." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Analytic" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:152 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:158 -#, python-format -msgid "Analytic Acc." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_account_analytic_id -#: model:ir.model.fields,field_description:account.field_account_move_line_analytic_account_id -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_analytic_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_analytic_account_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_analytic_account_id -msgid "Analytic Account" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_analytic_accounting -msgid "Analytic Accounting" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_open_partner_analytic_accounts -#: model:ir.ui.menu,name:account.account_analytic_def_account -#: model:ir.ui.menu,name:account.menu_action_analytic_account_tree2 -#: model:ir.ui.view,arch_db:account.partner_view_button_contracts_count -msgid "Analytic Accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_template_analytic -msgid "Analytic Cost" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_action_analytic_lines_tree -msgid "Analytic Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "Analytic Lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_account_analytic_id -msgid "Analytic account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_group_analytic_accounting -msgid "Analytic accounting" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_analytic_line_ids -msgid "Analytic lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tag_applicability -msgid "Applicability" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Apply" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_auto_apply -msgid "Apply automatically this fiscal position." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_country_group_id -msgid "Apply only if delivery or invocing country match the group." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_country_id -msgid "Apply only if delivery or invoicing country match." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_vat_required -msgid "Apply only if partner has a VAT number." -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "April" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Ask Refund" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_asset -msgid "" -"Asset management: This allows you to manage the assets owned by a company or " -"a person. It keeps track of the depreciation occurred on those assets, and " -"creates account move for those depreciation lines.\n" -"\n" -"-This installs the module account_asset." -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_assets0 -msgid "Assets" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_asset -#, fuzzy -msgid "Assets management" -msgstr "Assets management" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_account_ids -msgid "Associated Account Templates" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_at_least_one_inbound -msgid "At least one inbound" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_at_least_one_outbound -msgid "At least one outbound" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "August" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Auto-detect" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#, fuzzy -msgid "Automate Payments" -msgstr "Minus Payment" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Automatic formatting" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:328 -#, python-format -msgid "Automatically reconciled items" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_price_average -#: model:ir.model.fields,field_description:account.field_account_invoice_report_user_currency_price_average -msgid "Average Price" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Awaiting payments" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:178 -#, python-format -msgid "BILL" -msgstr "" - -#. module: account -#: selection:res.partner,trust:0 -msgid "Bad Debtor" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,value:0 -#: model:ir.model.fields,field_description:account.field_account_move_line_balance -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "Balance" -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_balancesheet0 -#: model:ir.actions.act_window,name:account.action_account_report_bs -#: model:ir.ui.menu,name:account.menu_account_report_bs -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Balance Sheet" -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 "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_balance_cash_basis -msgid "Balance cash basis" -msgstr "" - -#. module: account -#: selection:account.bank.accounts.wizard,account_type:0 -#: selection:account.journal,type:0 -#: code:addons/account/models/chart_template.py:643 -#: model:ir.model.fields,field_description:account.field_account_journal_bank_id -#: model:ir.model.fields,field_description:account.field_res_partner_bank_account_count -#, python-format -msgid "Bank" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Bank & Cash" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_bank_account_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_bank_account_id -#: model:ir.model.fields,field_description:account.field_account_invoice_partner_bank_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_partner_bank_id -#: model:ir.model.fields,field_description:account.field_account_journal_bank_account_id -#: model:ir.ui.view,arch_db:account.view_account_bank_journal_form -#: model:ir.ui.view,arch_db:account.view_account_journal_form -msgid "Bank Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_partner_bank_id -msgid "" -"Bank Account Number to which the invoice will be paid. A Company bank " -"account if this is a Customer Invoice or Vendor Refund, otherwise a Partner " -"bank account number." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_bank_journal_form -#: model:ir.model,name:account.model_res_partner_bank -#: model:ir.ui.menu,name:account.menu_action_account_bank_journal_form -msgid "Bank Accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_bank_account_code_prefix -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_bank_account_code_prefix -msgid "Bank Accounts Prefix" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_bank_statements_source -msgid "Bank Feeds" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_yodlee -msgid "Bank Interface - Sync your bank feeds automatically" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_bank_journal_ids -msgid "Bank Journals" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Bank Operations" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1118 -#, python-format -msgid "Bank Reconciliation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_operation_template_tree -msgid "Bank Reconciliation Move Presets" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_operation_template_search -msgid "Bank Reconciliation Move preset" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_bank_statement -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -msgid "Bank Statement" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_bank_statement_line -msgid "Bank Statement Line" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_bank_statement_line -msgid "Bank Statement Lines" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_bank_statement_tree -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Bank Statements" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.partner_view_buttons -msgid "Bank account(s)" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_company_footer -msgid "Bank accounts as printed in the footer of each printed document" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_company_footer -msgid "Bank accounts footer preview" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_liquidity -msgid "Bank and Cash" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_statement_line_id -msgid "Bank statement line reconciled with this entry" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement -msgid "Bank statements" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:204 -#, python-format -msgid "Bank statements are fully reconciled." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_base -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Base" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -msgid "Base Amount" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Before continuing, you must install the Chart of Account related to your " -"country (or the generic one if your country is not listed)." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_belongs_to_company -msgid "Belong to the user's current company" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Bill" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_tree -msgid "Bill Date" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Bill Refund" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Bill lines" -msgstr "" - -#. module: account -#: model:res.groups,name:account.group_account_invoice -msgid "Billing" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Bills" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Bills Analysis" -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:172 -#, python-format -msgid "Bills to pay" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_type_include_initial_balance -msgid "Bring Accounts Balance Forward" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.open_account_journal_dashboard_kanban -msgid "Browse available countries." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_budget -msgid "Budget management" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.account_reports_business_intelligence_menu -msgid "Business Intelligence" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_operation_template_name -msgid "Button Label" -msgstr "" - -#. module: account -#: model:ir.filters,name:account.filter_invoice_country -msgid "By Country" -msgstr "" - -#. module: account -#: model:ir.filters,name:account.filter_invoice_product -msgid "By Product" -msgstr "" - -#. module: account -#: model:ir.filters,name:account.filter_invoice_product_category -msgid "By Product Category" -msgstr "" - -#. module: account -#: model:ir.filters,name:account.filter_invoice_refund -msgid "By Refund" -msgstr "" - -#. module: account -#: model:ir.filters,name:account.filter_invoice_salespersons -msgid "By Salespersons" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_active -msgid "" -"By unchecking the active field, you may hide a fiscal position without " -"deleting it." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_visible -msgid "Can be Visible?" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -#: model:ir.ui.view,arch_db:account.account_common_report_view -#: model:ir.ui.view,arch_db:account.account_invoice_cancel_view -#: model:ir.ui.view,arch_db:account.account_invoice_confirm_view -#: model:ir.ui.view,arch_db:account.account_move_line_reconcile_writeoff -#: model:ir.ui.view,arch_db:account.account_unreconcile_view -#: model:ir.ui.view,arch_db:account.cash_box_in_form -#: model:ir.ui.view,arch_db:account.cash_box_out_form -#: model:ir.ui.view,arch_db:account.validate_account_move_view -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_cashbox -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_check -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -#: model:ir.ui.view,arch_db:account.view_account_move_reversal -#: model:ir.ui.view,arch_db:account.view_account_payment_from_invoices -#: model:ir.ui.view,arch_db:account.view_account_payment_invoice_form -msgid "Cancel" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Cancel Bill" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -msgid "Cancel Entry" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Cancel Invoice" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_invoice_cancel_view -msgid "Cancel Invoices" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_invoice_cancel -#: model:ir.ui.view,arch_db:account.account_invoice_cancel_view -msgid "Cancel Selected Invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -msgid "Cancel Statement" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_cancel -msgid "Cancel the Selected Invoices" -msgstr "" - -#. module: account -#: selection:account.invoice.refund,filter_refund:0 -msgid "Cancel: create refund and reconcile" -msgstr "" - -#. module: account -#: selection:account.invoice,state:0 selection:account.invoice.report,state:0 -msgid "Cancelled" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Cancelled Invoice" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1045 -#, python-format -msgid "" -"Cannot create an automatic sequence for this piece.\n" -"Put a sequence in the journal definition for automatic numbering or create a " -"sequence manually for this piece." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:167 -#, python-format -msgid "Cannot create moves for different companies." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:199 -#, python-format -msgid "Cannot create unbalanced journal entry." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:464 -#, python-format -msgid "" -"Cannot find a chart of accounts for this company, You should configure it. \n" -"Please go to Account Configuration." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:314 -#, python-format -msgid "" -"Cannot find any account journal of \"%s\" type for this company, You should " -"create one.\n" -" Please go to Journal Configuration" -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:393 -#, python-format -msgid "Cannot generate an unused account code." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:422 -#, python-format -msgid "" -"Cannot generate an unused journal code. Please fill the 'Shortcode' field." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_invoice_refund.py:54 -#, python-format -msgid "Cannot refund draft/proforma/cancelled invoice." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_invoice_refund.py:56 -#, python-format -msgid "" -"Cannot refund invoice which is already reconciled, invoice should be " -"unreconciled first. You can only refund this invoice." -msgstr "" - -#. module: account -#: selection:account.bank.accounts.wizard,account_type:0 -#: selection:account.journal,type:0 -#: code:addons/account/models/chart_template.py:643 -#, python-format -msgid "Cash" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_cash_account_code_prefix -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_cash_account_code_prefix -msgid "Cash Accounts Prefix" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:211 -#: model:ir.actions.act_window,name:account.action_view_account_bnk_stmt_cashbox -#, python-format -msgid "Cash Control" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Cash Operations" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_view_bank_statement_tree -msgid "Cash Registers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Cash Statements" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_bank_account_ids -msgid "Cash and Banks" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:178 -#, python-format -msgid "Cash difference observed during the counting (%s)" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_cashbox_line -msgid "CashBox Line" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_cashbox_id -msgid "Cashbox" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_cashbox_lines_ids -msgid "Cashbox Lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_expense_categ_id -msgid "Category of Expense Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_income_categ_id -msgid "Category of Income Account" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Change" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_template_chart_template_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_chart_template_id -#: model:ir.model.fields,field_description:account.field_account_tax_template_chart_template_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_chart_template_id -msgid "Chart Template" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.open_account_charts_modules -msgid "Chart Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Chart of Account" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_form -#: model:ir.ui.menu,name:account.menu_action_account_form -#: model:ir.ui.view,arch_db:account.account_planner -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Chart of Accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_chart_template_form -#: model:ir.ui.view,arch_db:account.view_account_chart_template_tree -msgid "Chart of Accounts Template" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_chart_template_form -msgid "Chart of Accounts Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -#, fuzzy -msgid "" -"Chart of Accounts has been\n" -" installed. You should review it and create any " -"additional accounts." -msgstr "" -"Chart of Accounts has been\n" -" installed. You should review it and create any " -"additional accounts." - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_list -msgid "Chart of accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_chart_template_id -msgid "Chart template id" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_view_account_bnk_stmt_check -msgid "Check Closing Balance" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_is_difference_zero -msgid "Check if difference is zero." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_reconcile -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_config_settings_expects_chart_of_accounts -msgid "Check this box if this company is a legal entity." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_refund_sequence -msgid "" -"Check this box if you don't want to share the same sequence for invoices and " -"refunds made from this journal" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_update_posted -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 -#: model:ir.model.fields,help:account.field_account_tax_template_price_include -msgid "" -"Check this if the price you use on the product and invoices includes this " -"tax." -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:ir.model.fields,field_description:account.field_account_tax_children_tax_ids -#: model:ir.model.fields,field_description:account.field_account_tax_template_children_tax_ids -#: model:ir.ui.view,arch_db:account.view_account_tax_template_form -#: model:ir.ui.view,arch_db:account.view_tax_form -msgid "Children Taxes" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:141 -#: model:ir.actions.act_window,name:account.action_wizard_multi_chart -#, python-format -msgid "Choose Accounting Template" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1867 -#, python-format -msgid "Choose counterpart" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_bank_journal_form -msgid "Click to add a bank account." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_journal_form -msgid "Click to add a journal." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_form -msgid "Click to add an account." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Click to add/remove from favorite" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_invoice_tree1 -msgid "Click to create a customer invoice." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_move_journal_line -msgid "Click to create a journal entry." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_view_bank_statement_tree -msgid "Click to create a new cash log." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_operation_template -msgid "Click to create a reconciliation model." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_type_form -msgid "Click to define a new account type." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_invoice_tree2 -msgid "Click to record a new vendor bill." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_bank_statement_tree -msgid "Click to register a bank statement." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_payments -#: model:ir.actions.act_window,help:account.action_account_payments_payable -msgid "Click to register a payment" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:40 -#, python-format -msgid "Close" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:226 -#, python-format -msgid "Close the statement" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_date_done -msgid "Closed On" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_payment_method_code -#: model:ir.model.fields,field_description:account.field_account_account_code -#: model:ir.model.fields,field_description:account.field_account_account_template_code -#: model:ir.model.fields,field_description:account.field_account_analytic_line_code -#: model:ir.model.fields,field_description:account.field_account_payment_method_code -#: model:ir.model.fields,field_description:account.field_account_payment_payment_method_code -#: model:ir.model.fields,field_description:account.field_account_register_payments_payment_method_code -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "Code" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_coin_value -msgid "Coin/Bill Value" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tag_color -msgid "Color Index" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_accounting_report_label_filter -msgid "Column Label" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_comment -msgid "Comment" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_commercial_partner_id -#: model:ir.model.fields,help:account.field_account_invoice_report_commercial_partner_id -msgid "Commercial Entity" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_common_menu -msgid "Common Report" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "Communication" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_res_company -msgid "Companies" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_ref_company_ids -msgid "Companies that refers to partner" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_company_id -#: model:ir.model.fields,field_description:account.field_account_account_company_id -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_company_id -#: model:ir.model.fields,field_description:account.field_account_balance_report_company_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_company_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_company_id -#: model:ir.model.fields,field_description:account.field_account_chart_template_company_id -#: model:ir.model.fields,field_description:account.field_account_common_account_report_company_id -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_company_id -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_company_id -#: model:ir.model.fields,field_description:account.field_account_common_report_company_id -#: model:ir.model.fields,field_description:account.field_account_config_settings_company_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_company_id -#: model:ir.model.fields,field_description:account.field_account_invoice_company_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_company_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_company_id -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_company_id -#: model:ir.model.fields,field_description:account.field_account_journal_company_id -#: model:ir.model.fields,field_description:account.field_account_move_company_id -#: model:ir.model.fields,field_description:account.field_account_move_line_company_id -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_company_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_company_id -#: model:ir.model.fields,field_description:account.field_account_payment_company_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_company_id -#: model:ir.model.fields,field_description:account.field_account_print_journal_company_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_company_id -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_company_id -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_company_id -#: model:ir.model.fields,field_description:account.field_account_tax_company_id -#: model:ir.model.fields,field_description:account.field_account_tax_template_company_id -#: model:ir.model.fields,field_description:account.field_accounting_report_company_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_company_id -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#: model:ir.ui.view,arch_db:account.view_account_tax_search -msgid "Company" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_has_chart_of_accounts -msgid "Company has a chart of accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_abstract_payment_company_id -#: model:ir.model.fields,help:account.field_account_bank_statement_company_id -#: model:ir.model.fields,help:account.field_account_bank_statement_line_company_id -#: model:ir.model.fields,help:account.field_account_journal_company_id -#: model:ir.model.fields,help:account.field_account_move_company_id -#: model:ir.model.fields,help:account.field_account_payment_company_id -#: model:ir.model.fields,help:account.field_account_register_payments_company_id -msgid "Company related to this journal" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.accounting_report_view -msgid "Comparison" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_complete_tax_set -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_complete_tax_set -msgid "Complete Set of Taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_complete_tax_set -msgid "Complete set of taxes" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:397 -#, python-format -msgid "Compose Email" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_counterpart -msgid "" -"Compute the counter part accounts of this journal item for this journal " -"entry. This can be needed in reports." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_balance_end -msgid "Computed Balance" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_finance_configuration -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Configuration" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:450 -#: code:addons/account/models/account_payment.py:452 -#, python-format -msgid "Configuration Error !" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:338 -#, python-format -msgid "" -"Configuration error!\n" -"Could not find any account to create the invoice, are you sure you have a " -"chart of account installed?" -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:270 -#, python-format -msgid "" -"Configuration error!\n" -"The currency of the journal should be the same than the default credit " -"account." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:272 -#, python-format -msgid "" -"Configuration error!\n" -"The currency of the journal should be the same than the default debit " -"account." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Configuration menu" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Configure" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_config -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Configure Accounting" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Configure your company data" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_cashbox -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_check -#: model:ir.ui.view,arch_db:account.view_account_payment_form -msgid "Confirm" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_invoice_confirm -#: model:ir.ui.view,arch_db:account.account_invoice_confirm_view -msgid "Confirm Draft Invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_invoice_confirm_view -msgid "Confirm Invoices" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_confirm -msgid "Confirm the selected invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -msgid "Confirmed" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_check -msgid "" -"Confirming this will create automatically a journal entry with the " -"difference in the profit/loss account set on the cash journal." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1506 -#, python-format -msgid "Congrats, you're all done !" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Congratulations, you're done!" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_abstract_payment -msgid "" -"Contains the logic shared between models which allows to register payments" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_contract_ids -#: model:ir.model.fields,field_description:account.field_res_partner_contracts_count -msgid "Contracts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_journal_form -msgid "Control-Access" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_direct_costs -msgid "Cost of Revenue" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:388 -#: model:ir.model.fields,field_description:account.field_account_move_line_counterpart -#, python-format -msgid "Counterpart" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_account_id -msgid "Counterpart Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_country_id -msgid "Country" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_country_group_id -msgid "Country Group" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_country_id -msgid "Country of the Partner Company" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Create Customers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -msgid "Create Refund" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Create Vendors" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1864 -#, python-format -msgid "Create Write-off" -msgstr "" - -#. module: account -#: selection:account.invoice.refund,filter_refund:0 -msgid "Create a draft refund" -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:247 -#, python-format -msgid "Create cash statement" -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:233 -#, python-format -msgid "Create invoice/bill" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2466 -#, python-format -msgid "Create writeoff" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Create your products" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_create_uid -#: model:ir.model.fields,field_description:account.field_account_account_tag_create_uid -#: model:ir.model.fields,field_description:account.field_account_account_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_account_type_create_uid -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_create_uid -#: model:ir.model.fields,field_description:account.field_account_balance_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_create_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_create_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_create_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_create_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_create_uid -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_create_uid -#: model:ir.model.fields,field_description:account.field_account_chart_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_common_account_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_common_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_config_settings_create_uid -#: model:ir.model.fields,field_description:account.field_account_financial_report_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_line_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_create_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_create_uid -#: model:ir.model.fields,field_description:account.field_account_journal_create_uid -#: model:ir.model.fields,field_description:account.field_account_move_create_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_create_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_create_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_create_uid -#: model:ir.model.fields,field_description:account.field_account_move_reversal_create_uid -#: model:ir.model.fields,field_description:account.field_account_operation_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_create_uid -#: model:ir.model.fields,field_description:account.field_account_payment_create_uid -#: model:ir.model.fields,field_description:account.field_account_payment_method_create_uid -#: model:ir.model.fields,field_description:account.field_account_payment_term_create_uid -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_create_uid -#: model:ir.model.fields,field_description:account.field_account_print_journal_create_uid -#: model:ir.model.fields,field_description:account.field_account_register_payments_create_uid -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_create_uid -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_create_uid -#: model:ir.model.fields,field_description:account.field_account_tax_create_uid -#: model:ir.model.fields,field_description:account.field_account_tax_group_create_uid -#: model:ir.model.fields,field_description:account.field_account_tax_template_create_uid -#: model:ir.model.fields,field_description:account.field_account_unreconcile_create_uid -#: model:ir.model.fields,field_description:account.field_accounting_report_create_uid -#: model:ir.model.fields,field_description:account.field_cash_box_in_create_uid -#: model:ir.model.fields,field_description:account.field_cash_box_out_create_uid -#: model:ir.model.fields,field_description:account.field_validate_account_move_create_uid -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_create_uid -msgid "Created by" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_create_date -#: model:ir.model.fields,field_description:account.field_account_account_tag_create_date -#: model:ir.model.fields,field_description:account.field_account_account_template_create_date -#: model:ir.model.fields,field_description:account.field_account_account_type_create_date -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_create_date -#: model:ir.model.fields,field_description:account.field_account_balance_report_create_date -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_create_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_create_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_create_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_create_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_create_date -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_create_date -#: model:ir.model.fields,field_description:account.field_account_chart_template_create_date -#: model:ir.model.fields,field_description:account.field_account_common_account_report_create_date -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_create_date -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_create_date -#: model:ir.model.fields,field_description:account.field_account_common_report_create_date -#: model:ir.model.fields,field_description:account.field_account_config_settings_create_date -#: model:ir.model.fields,field_description:account.field_account_financial_report_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_create_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_create_date -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_line_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_create_date -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_create_date -#: model:ir.model.fields,field_description:account.field_account_journal_create_date -#: model:ir.model.fields,field_description:account.field_account_move_create_date -#: model:ir.model.fields,field_description:account.field_account_move_line_create_date -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_create_date -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_create_date -#: model:ir.model.fields,field_description:account.field_account_move_reversal_create_date -#: model:ir.model.fields,field_description:account.field_account_operation_template_create_date -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_create_date -#: model:ir.model.fields,field_description:account.field_account_payment_create_date -#: model:ir.model.fields,field_description:account.field_account_payment_method_create_date -#: model:ir.model.fields,field_description:account.field_account_payment_term_create_date -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_create_date -#: model:ir.model.fields,field_description:account.field_account_print_journal_create_date -#: model:ir.model.fields,field_description:account.field_account_register_payments_create_date -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_create_date -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_create_date -#: model:ir.model.fields,field_description:account.field_account_tax_create_date -#: model:ir.model.fields,field_description:account.field_account_tax_group_create_date -#: model:ir.model.fields,field_description:account.field_account_tax_template_create_date -#: model:ir.model.fields,field_description:account.field_account_unreconcile_create_date -#: model:ir.model.fields,field_description:account.field_accounting_report_create_date -#: model:ir.model.fields,field_description:account.field_cash_box_in_create_date -#: model:ir.model.fields,field_description:account.field_cash_box_out_create_date -#: model:ir.model.fields,field_description:account.field_validate_account_move_create_date -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_create_date -msgid "Created on" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_credit -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "Credit" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -msgid "Credit Note" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_credit -msgid "Credit amount" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_credit_cash_basis -msgid "Credit cash basis" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_matched_credit_ids -msgid "Credit journal items that are matched with this journal item." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_credit_move_id -msgid "Credit move id" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_currency_id -#: model:ir.model.fields,field_description:account.field_account_analytic_line_company_currency_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_currency_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_currency_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_journal_currency_id -#: model:ir.model.fields,field_description:account.field_account_chart_template_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_company_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_company_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_currency_id -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_currency_id -#: model:ir.model.fields,field_description:account.field_account_journal_currency_id -#: model:ir.model.fields,field_description:account.field_account_move_currency_id -#: model:ir.model.fields,field_description:account.field_account_move_line_company_currency_id -#: model:ir.model.fields,field_description:account.field_account_move_line_currency_id -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_company_currency_id -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_company_id -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_currency_id -#: model:ir.model.fields,field_description:account.field_account_payment_currency_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_currency_id -#: model:ir.model.fields,field_description:account.field_res_partner_currency_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_currency_id -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_currency_rate -msgid "Currency Rate" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_wizard_multi_charts_accounts_currency_id -msgid "Currency as per company's country." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1337 -#: code:addons/account/models/account_move.py:1347 -#, python-format -msgid "Currency exchange rate difference" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_current_assets -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Current Assets" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_current_liabilities -#, fuzzy -msgid "Current Liabilities" -msgstr "Minus Current Liabilities" - -#. module: account -#: model:account.account.type,name:account.data_unaffected_earnings -msgid "Current Year Earnings" -msgstr "" - -#. module: account -#: selection:account.abstract.payment,partner_type:0 -#: selection:account.payment,partner_type:0 -#: selection:account.register.payments,partner_type:0 -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_tree -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_payment_tree -msgid "Customer" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Customer Flow" -msgstr "" - -#. module: account -#: selection:account.invoice,type:0 selection:account.invoice.report,type:0 -msgid "Customer Invoice" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:177 -#: model:ir.actions.act_window,name:account.action_invoice_tree1 -#: model:ir.ui.menu,name:account.menu_action_invoice_tree1 -#: model:ir.ui.view,arch_db:account.account_planner -#, python-format -msgid "Customer Invoices" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:481 -#, fuzzy, python-format -msgid "Customer Payment" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_property_payment_term_id -msgid "Customer Payment Term" -msgstr "" - -#. module: account -#: selection:account.invoice,type:0 selection:account.invoice.report,type:0 -#: code:addons/account/models/account_payment.py:483 -#, python-format -msgid "Customer Refund" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_product_template_taxes_id -msgid "Customer Taxes" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "Customer ref:" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:294 -#: model:ir.ui.menu,name:account.menu_account_customer -#, python-format -msgid "Customers" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_board_journal_1 -msgid "Dashboard" -msgstr "" - -#. module: account -#. openerp-web -#: selection:account.print.journal,sort_selection:0 -#: selection:account.report.general.ledger,sortby:0 -#: selection:accounting.report,filter_cmp:0 -#: code:addons/account/static/src/xml/account_reconciliation.xml:142 -#: code:addons/account/static/src/xml/account_reconciliation.xml:261 -#: model:ir.model.fields,field_description:account.field_account_bank_statement_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_date -#: model:ir.model.fields,field_description:account.field_account_invoice_report_date -#: model:ir.model.fields,field_description:account.field_account_move_date -#: model:ir.model.fields,field_description:account.field_account_move_line_date -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_date_p -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_overdue_document -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -#, python-format -msgid "Date" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:56 -#, python-format -msgid "Date:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.accounting_report_view -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Dates" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,option:0 -msgid "Day(s) after the end of the invoice month (Net EOM)" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,option:0 -msgid "Day(s) after the invoice date" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_debit -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.report_partnerledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "Debit" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_inbound_payment_method_ids -msgid "Debit Methods" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_debit -msgid "Debit amount" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_debit_cash_basis -msgid "Debit cash basis" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_matched_debit_ids -msgid "Debit journal items that are matched with this journal item." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_debit_move_id -msgid "Debit move id" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "December" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_refund_sequence -msgid "Dedicated Refund Sequence" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_default_credit_account_id -msgid "Default Credit Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_default_debit_account_id -msgid "Default Debit Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_default_purchase_tax_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_purchase_tax_id -msgid "Default Purchase Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_default_sale_tax_id -msgid "Default Sale Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_sale_tax_id -msgid "Default Sales Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tax_ids -#: model:ir.model.fields,field_description:account.field_account_account_template_tax_ids -#: model:ir.ui.view,arch_db:account.view_account_chart_template_form -#: model:ir.ui.view,arch_db:account.view_account_template_form -msgid "Default Taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_currency_id -msgid "Default company currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_purchase_tax_id -msgid "Default purchase tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_sale_tax_id -msgid "Default sale tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_bank_account_code_prefix -msgid "Define the code prefix for the bank accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_cash_account_code_prefix -msgid "Define the code prefix for the cash accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_form -#: model:ir.ui.view,arch_db:account.view_tax_form -msgid "Definition" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_trust -msgid "Degree of trust you have in this debtor" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_deprecated -msgid "Deprecated" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_depreciation -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Depreciation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.cash_box_out_form -msgid "Describe why you take money from the cash register:" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:264 -#: model:ir.model.fields,field_description:account.field_account_account_type_note -#: model:ir.model.fields,field_description:account.field_account_invoice_line_name -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#: model:ir.ui.view,arch_db:account.view_account_type_form -#, python-format -msgid "Description" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_term_note -msgid "Description on the Invoice" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_destination_account_id -msgid "Destination account id" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_auto_apply -msgid "Detect Automatically" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_template_type_tax_use -#: model:ir.model.fields,help:account.field_account_tax_type_tax_use -msgid "" -"Determines where the tax is selectable. Note : 'None' means a tax can't be " -"used by itself, however it can still be used in a group." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_difference -msgid "Difference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_writeoff_account_id -msgid "Difference Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_difference -msgid "" -"Difference between the computed ending balance and the specified ending " -"balance." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Direct connection to your bank" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Disc.(%)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_discount -msgid "Discount (%)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_balance_report_display_account -#: model:ir.model.fields,field_description:account.field_account_common_account_report_display_account -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_display_account -#, fuzzy -msgid "Display Accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,field_description:account.field_accounting_report_debit_credit -msgid "Display Debit/Credit Columns" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_display_name -#: model:ir.model.fields,field_description:account.field_account_account_display_name -#: model:ir.model.fields,field_description:account.field_account_account_tag_display_name -#: model:ir.model.fields,field_description:account.field_account_account_template_display_name -#: model:ir.model.fields,field_description:account.field_account_account_type_display_name -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_display_name -#: model:ir.model.fields,field_description:account.field_account_balance_report_display_name -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_display_name -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_display_name -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_display_name -#: model:ir.model.fields,field_description:account.field_account_bank_statement_display_name -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_display_name -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_display_name -#: model:ir.model.fields,field_description:account.field_account_chart_template_display_name -#: model:ir.model.fields,field_description:account.field_account_common_account_report_display_name -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_display_name -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_display_name -#: model:ir.model.fields,field_description:account.field_account_common_report_display_name -#: model:ir.model.fields,field_description:account.field_account_config_settings_display_name -#: model:ir.model.fields,field_description:account.field_account_financial_report_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_display_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_display_name -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_line_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_report_display_name -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_display_name -#: model:ir.model.fields,field_description:account.field_account_journal_display_name -#: model:ir.model.fields,field_description:account.field_account_move_display_name -#: model:ir.model.fields,field_description:account.field_account_move_line_display_name -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_display_name -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_display_name -#: model:ir.model.fields,field_description:account.field_account_move_reversal_display_name -#: model:ir.model.fields,field_description:account.field_account_operation_template_display_name -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_display_name -#: model:ir.model.fields,field_description:account.field_account_payment_display_name -#: model:ir.model.fields,field_description:account.field_account_payment_method_display_name -#: model:ir.model.fields,field_description:account.field_account_payment_term_display_name -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_display_name -#: model:ir.model.fields,field_description:account.field_account_print_journal_display_name -#: model:ir.model.fields,field_description:account.field_account_register_payments_display_name -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_display_name -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_display_name -#: model:ir.model.fields,field_description:account.field_account_tax_display_name -#: model:ir.model.fields,field_description:account.field_account_tax_group_display_name -#: model:ir.model.fields,field_description:account.field_account_tax_template_display_name -#: model:ir.model.fields,field_description:account.field_account_unreconcile_display_name -#: model:ir.model.fields,field_description:account.field_accounting_report_display_name -#: model:ir.model.fields,field_description:account.field_cash_box_in_display_name -#: model:ir.model.fields,field_description:account.field_cash_box_out_display_name -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_journal_display_name -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_partnerledger_display_name -#: model:ir.model.fields,field_description:account.field_report_account_report_agedpartnerbalance_display_name -#: model:ir.model.fields,field_description:account.field_report_account_report_financial_display_name -#: model:ir.model.fields,field_description:account.field_report_account_report_generalledger_display_name -#: model:ir.model.fields,field_description:account.field_report_account_report_overdue_display_name -#: model:ir.model.fields,field_description:account.field_report_account_report_trialbalance_display_name -#: model:ir.model.fields,field_description:account.field_validate_account_move_display_name -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_display_name -msgid "Display Name" -msgstr "" - -#. module: account -#: selection:account.financial.report,display_detail:0 -msgid "Display children flat" -msgstr "" - -#. module: account -#: selection:account.financial.report,display_detail:0 -msgid "Display children with hierarchy" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_display_detail -msgid "Display details" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_template_description -msgid "Display on Invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_display_on_footer -msgid "" -"Display this bank account on the footer of printed documents like invoices " -"and sales orders." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "" -"Document: Customer account statement<br/>\n" -" Date:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Don't hesitate to" -msgstr "" - -#. module: account -#. openerp-web -#: selection:account.invoice.report,state:0 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2453 -#, python-format -msgid "Done" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Download the" -msgstr "" - -#. module: account -#: selection:account.invoice,state:0 selection:account.invoice.report,state:0 -#: selection:account.payment,state:0 -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -msgid "Draft" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Draft Bill" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Draft Invoice" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Draft Invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Draft Refund" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Draft bills" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree -msgid "Draft statements" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "Due" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:143 -#: model:ir.model.fields,field_description:account.field_account_invoice_date_due -#: model:ir.model.fields,field_description:account.field_account_invoice_report_date_due -#: model:ir.ui.view,arch_db:account.report_overdue_document -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#, python-format -msgid "Due Date" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_payment_term_line_form -msgid "Due Date Computation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Due Month" -msgstr "" - -#. module: account -#: model:ir.actions.report.xml,name:account.action_report_print_overdue -#, fuzzy -msgid "Due Payments" -msgstr "Minus Payment" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_payment_term_line_tree -msgid "Due Type" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_date_maturity -msgid "Due date" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:821 -#, python-format -msgid "" -"Duplicated vendor reference detected. You probably encoded twice the same " -"vendor bill/refund." -msgstr "" - -#. module: account -#: model:ir.actions.report.xml,name:account.account_invoice_action_report_duplicate -msgid "Duplicates" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:157 -#: code:addons/account/models/chart_template.py:170 -#: code:addons/account/models/chart_template.py:180 -#, python-format -msgid "EXCH" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1510 -#, python-format -msgid "Efficiency at its finest" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:885 -#, python-format -msgid "Either pass both debit and credit or none." -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_mail_compose_message -msgid "Email composition wizard" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_survey_mail_compose_message -msgid "Email composition wizard for Survey" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_accounting_report_enable_filter -msgid "Enable Comparison" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_reports_followup -msgid "Enable payment followup management" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "End" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_date_to -#: model:ir.model.fields,field_description:account.field_account_balance_report_date_to -#: model:ir.model.fields,field_description:account.field_account_common_account_report_date_to -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_date_to -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_date_to -#: model:ir.model.fields,field_description:account.field_account_common_report_date_to -#: model:ir.model.fields,field_description:account.field_account_print_journal_date_to -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_date_to -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_date_to -#: model:ir.model.fields,field_description:account.field_accounting_report_date_to -#: model:ir.model.fields,field_description:account.field_accounting_report_date_to_cmp -msgid "End Date" -msgstr "" - -#. module: account -#: model:account.payment.term,name:account.account_payment_term -msgid "End of Following Month" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_balance_end_real -msgid "Ending Balance" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_end_id -msgid "Ending Cashbox" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Enjoy your Odoo experience," -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_move_line_form -msgid "Entries" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_print_journal_sort_selection -msgid "Entries Sorted by" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:850 -#, python-format -msgid "Entries are not of the same account!" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Entries to Review" -msgstr "" - -#. module: account -#: code:addons/account/models/account_analytic_line.py:58 -#, python-format -msgid "Entries: " -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "Entry Label" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_sequence_id -msgid "Entry Sequence" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_move_line_ids -msgid "Entry lines" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_equity -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Equity" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_report_common.py:28 -#, python-format -msgid "Error!" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Excel template" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:180 -#, python-format -msgid "Exchange Difference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_currency_exchange_journal_id -msgid "Exchange Gain or Loss Journal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_exchange_move_id -msgid "Exchange move id" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_exchange_partial_rec_id -msgid "Exchange partial rec id" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Exchange rates can be automatically updated once a day from <strong>Yahoo " -"Finance</strong> or the <strong>European Central Bank</strong>. You can " -"activate this feature in the bottom of the" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_expects_chart_of_accounts -msgid "Expects a Chart of Accounts" -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_expense0 -#, fuzzy -msgid "Expense" -msgstr "Minus Expenses" - -#. module: account -#: model:ir.model.fields,field_description:account.field_product_category_property_account_expense_categ_id -#: model:ir.model.fields,field_description:account.field_product_template_property_account_expense_id -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -#, fuzzy -msgid "Expense Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_expense_id -msgid "Expense Account on Product Template" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_expenses -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Expenses" -msgstr "Minus Expenses" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_reference -msgid "External Reference" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Extra Features" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1517 -#, python-format -msgid "Fast reconciler" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Favorite" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_journal_search -msgid "Favorites" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Features" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "February" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_state_ids -msgid "Federal States" -msgstr "" - -#. module: account -#: selection:account.journal,bank_statements_source:0 -msgid "File Import" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.cash_box_in_form -msgid "Fill in this form if you put money in the cash register:" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_accounting_report_filter_cmp -msgid "Filter by" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:68 -#, python-format -msgid "Filter..." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_general_account_id -#: model:ir.ui.view,arch_db:account.view_account_analytic_line_filter_inherit_account -msgid "Financial Account" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_account_report -msgid "Financial Report" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_style_overwrite -msgid "Financial Report Style" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_financial_report_tree -#: model:ir.actions.act_window,name:account.action_account_report -#: model:ir.ui.menu,name:account.menu_account_reports -msgid "Financial Reports" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_report_tree_hierarchy -msgid "Financial Reports Hierarchy" -msgstr "" - -#. module: account -#: model:ir.actions.report.xml,name:account.action_report_financial -msgid "Financial report" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "First, register any outstanding customer invoices and vendor bills:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Fiscal Information" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_position_id -msgid "Fiscal Mapping" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form -#: model:ir.model,name:account.model_account_fiscal_position -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_position_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_name -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_position_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_position_id -#: model:ir.model.fields,field_description:account.field_account_invoice_fiscal_position_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_fiscal_position_id -#: model:ir.model.fields,field_description:account.field_res_partner_property_account_position_id -#: model:ir.ui.view,arch_db:account.view_account_position_form -#: model:ir.ui.view,arch_db:account.view_account_position_template_search -#: model:ir.ui.view,arch_db:account.view_account_position_template_tree -#: model:ir.ui.view,arch_db:account.view_account_position_tree -msgid "Fiscal Position" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_name -#: model:ir.ui.view,arch_db:account.view_account_position_template_form -#: model:ir.ui.view,arch_db:account.view_account_position_template_search -msgid "Fiscal Position Template" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_fiscal_position_form -#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form -msgid "Fiscal Positions" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Fiscal Year" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Fiscal Year Last Day" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_fiscalyear_last_day -#: model:ir.model.fields,field_description:account.field_res_company_fiscalyear_last_day -msgid "Fiscalyear last day" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_fiscalyear_last_month -#: model:ir.model.fields,field_description:account.field_res_company_fiscalyear_last_month -msgid "Fiscalyear last month" -msgstr "" - -#. module: account -#: selection:account.operation.template,amount_type:0 -#: selection:account.operation.template,second_amount_type:0 -#: selection:account.tax,amount_type:0 -#: selection:account.tax.template,amount_type:0 -msgid "Fixed" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,value:0 -msgid "Fixed Amount" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_fixed_assets -msgid "Fixed Assets" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_operation_template_amount -#: model:ir.model.fields,help:account.field_account_operation_template_second_amount -msgid "" -"Fixed amount will count as a debit if it is negative, as a credit if it is " -"positive." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_financial_report_sign -msgid "" -"For accounts that are typically more debited than credited and that you " -"would like to print as negative amounts in your reports, you should reverse " -"the sign of the balance; e.g.: Expense account. The same applies for " -"accounts that are typically more credited than debited and that you would " -"like to print as positive amounts in your reports; e.g.: Income account." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_payment_term_line_value_amount -msgid "For percent enter a ratio between 0-100." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"For the Odoo Team,<br/>\n" -" Fabien Pinckaers, Founder" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_currency_id -msgid "Forces all moves for this account to have this account currency." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_template_currency_id -#: model:ir.model.fields,help:account.field_account_bank_accounts_wizard_currency_id -msgid "Forces all moves for this account to have this secondary currency." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:77 -#, python-format -msgid "Free Reference" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#, fuzzy -msgid "From Payable accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "From Receivable accounts" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_invoice_report_all_supp -msgid "" -"From this report, you can have an overview of the amount invoiced from your " -"vendors. The search tool can also be used to personalise your Invoices " -"reports and so, match this analysis to your needs." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_invoice_report_all -msgid "" -"From this report, you can have an overview of the amount invoiced to your " -"customers. The search tool can also be used to personalise your Invoices " -"reports and so, match this analysis to your needs." -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_full_reconcile -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_full_reconcile_id -msgid "Full Reconcile" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_accountant -msgid "" -"Full accounting features: journals, legal statements, chart of accounts, etc." -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:103 -#, python-format -msgid "Future" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "GROSS PROFIT" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_income_currency_exchange_account_id -#: model:ir.model.fields,field_description:account.field_res_company_income_currency_exchange_account_id -msgid "Gain Exchange Rate Account" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "General Information" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_general_ledger_menu -#: model:ir.actions.report.xml,name:account.action_report_general_ledger -#: model:ir.ui.menu,name:account.menu_general_ledger -msgid "General Ledger" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_report_general_ledger -msgid "General Ledger Report" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_tax_cash_basis -msgid "Generate tax cash basis entrie when reconciliating entries" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_reports -msgid "Get dynamic accounting reports" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Get started" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_plaid -msgid "" -"Get your bank statements from you bank and import them through plaid.com.\n" -"-This installs the module account_plaid." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_bank_statement_import_ofx -msgid "" -"Get your bank statements from your bank and import them in Odoo in the .OFX " -"format.\n" -"-This installs the module account_bank_statement_import_ofx." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_bank_statement_import_qif -msgid "" -"Get your bank statements from your bank and import them in Odoo in the .QIF " -"format.\n" -"-This installs the module account_bank_statement_import_qif." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_yodlee -msgid "" -"Get your bank statements from your bank and import them through yodlee.com.\n" -"-This installs the module account_yodlee." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_line_sequence -msgid "Gives the sequence of this line when displaying the invoice." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_line_sequence -msgid "" -"Gives the sequence order when displaying a list of bank statement lines." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_tax_sequence -msgid "Gives the sequence order when displaying a list of invoice tax." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_payment_term_line_sequence -msgid "Gives the sequence order when displaying a list of payment term lines." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:225 -#, python-format -msgid "Go to bank statements" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:465 -#: code:addons/account/models/account_move.py:315 -#, python-format -msgid "Go to the configuration panel" -msgstr "" - -#. module: account -#: selection:res.partner,trust:0 -msgid "Good Debtor" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:204 -#: code:addons/account/static/src/xml/account_reconciliation.xml:308 -#: code:addons/account/static/src/xml/account_reconciliation.xml:315 -#, python-format -msgid "Good Job!" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_weight -msgid "Gross Weight" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -#: model:ir.ui.view,arch_db:account.view_account_financial_report_search -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_search -#: model:ir.ui.view,arch_db:account.view_account_tax_search -#: model:ir.ui.view,arch_db:account.view_account_template_search -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -msgid "Group By" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_group_invoice_lines -msgid "Group Invoice Lines" -msgstr "" - -#. module: account -#: selection:account.tax,amount_type:0 -#: selection:account.tax.template,amount_type:0 -msgid "Group of Taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_has_default_company -msgid "Has default company" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_has_invoices -msgid "Has invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_has_outstanding -msgid "Has outstanding" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_has_unreconciled_entries -msgid "Has unreconciled entries" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_hide_payment_method -#: model:ir.model.fields,field_description:account.field_account_payment_hide_payment_method -#: model:ir.model.fields,field_description:account.field_account_register_payments_hide_payment_method -msgid "Hide payment method" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "How account type affects your reports?" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_id -#: model:ir.model.fields,field_description:account.field_account_account_id -#: model:ir.model.fields,field_description:account.field_account_account_tag_id -#: model:ir.model.fields,field_description:account.field_account_account_template_id -#: model:ir.model.fields,field_description:account.field_account_account_type_id -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_id -#: model:ir.model.fields,field_description:account.field_account_balance_report_id -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_id -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_id -#: model:ir.model.fields,field_description:account.field_account_chart_template_id -#: model:ir.model.fields,field_description:account.field_account_common_account_report_id -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_id -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_id -#: model:ir.model.fields,field_description:account.field_account_common_report_id -#: model:ir.model.fields,field_description:account.field_account_config_settings_id -#: model:ir.model.fields,field_description:account.field_account_financial_report_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_id -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_id -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_id -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_id -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_id -#: model:ir.model.fields,field_description:account.field_account_invoice_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_id -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_id -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_id -#: model:ir.model.fields,field_description:account.field_account_journal_id -#: model:ir.model.fields,field_description:account.field_account_move_id -#: model:ir.model.fields,field_description:account.field_account_move_line_id -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_id -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_id -#: model:ir.model.fields,field_description:account.field_account_move_reversal_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_id -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_id -#: model:ir.model.fields,field_description:account.field_account_payment_id -#: model:ir.model.fields,field_description:account.field_account_payment_method_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_id -#: model:ir.model.fields,field_description:account.field_account_print_journal_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_id -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_id -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_id -#: model:ir.model.fields,field_description:account.field_account_tax_group_id -#: model:ir.model.fields,field_description:account.field_account_tax_id -#: model:ir.model.fields,field_description:account.field_account_tax_template_id -#: model:ir.model.fields,field_description:account.field_account_unreconcile_id -#: model:ir.model.fields,field_description:account.field_accounting_report_id -#: model:ir.model.fields,field_description:account.field_cash_box_in_id -#: model:ir.model.fields,field_description:account.field_cash_box_out_id -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_journal_id -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_partnerledger_id -#: model:ir.model.fields,field_description:account.field_report_account_report_agedpartnerbalance_id -#: model:ir.model.fields,field_description:account.field_report_account_report_financial_id -#: model:ir.model.fields,field_description:account.field_report_account_report_generalledger_id -#: model:ir.model.fields,field_description:account.field_report_account_report_overdue_id -#: model:ir.model.fields,field_description:account.field_report_account_report_trialbalance_id -#: model:ir.model.fields,field_description:account.field_validate_account_move_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_id -msgid "ID" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:177 -#, python-format -msgid "INV" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:394 -#, python-format -msgid "If \"Amount Currency\" is specified, then \"Amount\" must be as well." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_template_nocreate -msgid "If checked, the new chart of accounts will not contain this by default." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_reversal_journal_id -msgid "If empty, uses the journal of the journal entry to be reversed." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_include_base_amount -#: model:ir.model.fields,help:account.field_account_tax_template_include_base_amount -msgid "" -"If set, taxes which are computed after this one will be computed based on " -"the price tax included." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_analytic -#: model:ir.model.fields,help:account.field_account_tax_template_analytic -msgid "" -"If set, the amount computed by this tax will be assigned to the same " -"analytic account as the invoice line (if any)" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_payment_term_active -msgid "" -"If the active field is set to False, it will allow you to hide the payment " -"term without removing it." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_group_invoice_lines -msgid "" -"If this box is checked, the system will try to group the accounting lines " -"when generating them from invoices." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_sepa -msgid "" -"If you check this box, you will be able to register your payment using " -"SEPA.\n" -"-This installs the module account_sepa." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_accountant -msgid "" -"If you do not check this box, you will be able to do invoicing & payments,\n" -" but not accounting (Journal Items, Chart of Accounts, ...)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"If you have less than 200 contacts, we recommend you\n" -" create them manually." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_company_tax_calculation_rounding_method -msgid "" -"If you select 'Round per Line' : for each tax, the tax amount will first be " -"computed and rounded for each PO/SO/invoice line and then these rounded " -"amounts will be summed, leading to the total amount for that tax. If you " -"select 'Round Globally': for each tax, the tax amount will be computed for " -"each PO/SO/invoice line, then these amounts will be summed and eventually " -"this total tax amount will be rounded. If you sell with tax included, you " -"should choose 'Round per line' because you certainly want the sum of your " -"tax-included line subtotals to be equal to the total amount with taxes." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_tax_calculation_rounding_method -msgid "" -"If you select 'Round per line' : for each tax, the tax amount will first be\n" -" computed and rounded for each PO/SO/invoice line and then these " -"rounded amounts will be summed,\n" -" leading to the total amount for that tax. If you select 'Round " -"globally': for each tax,\n" -" the tax amount will be computed for each PO/SO/invoice line, " -"then these amounts will be\n" -" summed and eventually this total tax amount will be rounded. If " -"you sell with tax included,\n" -" you should choose 'Round per line' because you certainly want " -"the sum of your tax-included line\n" -" subtotals to be equal to the total amount with taxes." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_report_general_ledger_initial_balance -msgid "" -"If you selected date, this field allow you to add a row to display the " -"amount of debit/credit/balance that precedes the filter you've set." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_unreconcile_view -msgid "" -"If you unreconcile transactions, you must also verify all the actions that " -"are linked to those transactions because they will not be disabled" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_payment_term_id -msgid "" -"If you use payment terms, the due date will be computed automatically at the " -"generation of accounting entries. If you keep the payment term and the due " -"date empty, it means direct payment. The payment term may compute several " -"due dates, for example 50% now, 50% in one month." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_date_due -msgid "" -"If you use payment terms, the due date will be computed automatically at the " -"generation of accounting entries. The payment term may compute several due " -"dates, for example 50% now and 50% in one month, but if you want to force a " -"due date, make sure that the payment term is not set on the invoice. If you " -"keep the payment term and the due date empty, it means direct payment." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "If you want to be able to send customer statements from Odoo, you must:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"If you want to be able to send your customers their statements \n" -" from Odoo, you first need to record all outstanding " -"transactions \n" -" in the payable and receivable accounts. These would " -"be invoices \n" -" that have not been paid or payments that have not " -"been reconciled." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "If you want to do it yourself:" -msgstr "" - -#. module: account -#: model:account.payment.term,name:account.account_payment_term_immediate -#, fuzzy -msgid "Immediate Payment" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_bank_statement_import_qif -msgid "Import .qif files" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_bank_statement_import_ofx -msgid "Import in .ofx format" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Import using the \"Import\" button on the top left corner of" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Importing your statements in via a supported file format (QIF, OFX, CODA or " -"CSV format)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "In Odoo," -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:414 -#, python-format -msgid "" -"In order to delete a bank statement line, you must first cancel it to delete " -"related journal items." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:200 -#, python-format -msgid "" -"In order to delete a bank statement, you must first cancel it to delete " -"related journal items." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:130 -#, python-format -msgid "" -"In order to pay multiple invoices at once, they must belong to the same " -"commercial partner." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:134 -#, python-format -msgid "" -"In order to pay multiple invoices at once, they must use the same currency." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "In your old accounting software, print a trial balance" -msgstr "" - -#. module: account -#: selection:account.payment.method,payment_type:0 -msgid "Inbound" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_initial_balance -msgid "Include Initial Balances" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_analytic -msgid "Include in Analytic Cost" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_price_include -#: model:ir.model.fields,field_description:account.field_account_tax_template_price_include -msgid "Included in Price" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_revenue -#: model:account.financial.report,name:account.account_financial_report_income0 -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Income" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_product_category_property_account_income_categ_id -#: model:ir.model.fields,field_description:account.field_product_template_property_account_income_id -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -msgid "Income Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_income_id -msgid "Income Account on Product Template" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1790 -#, python-format -msgid "Incorrect Operation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "Information" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_move_line_reconcile_writeoff -msgid "Information addendum" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_stock_account_input_categ_id -#: model:ir.model.fields,field_description:account.field_res_company_property_stock_account_input_categ_id -msgid "Input Account for Stock Valuation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Install Chart of Account" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Install more chart templates" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_transfer_account_id -#: model:ir.model.fields,field_description:account.field_res_company_transfer_account_id -msgid "Inter-Banks Transfer Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_chart_template_transfer_account_id -#: model:ir.model.fields,help:account.field_account_config_settings_template_transfer_account_id -#: model:ir.model.fields,help:account.field_account_config_settings_transfer_account_id -#: model:ir.model.fields,help:account.field_res_company_transfer_account_id -#: model:ir.model.fields,help:account.field_wizard_multi_charts_accounts_transfer_account_id -msgid "" -"Intermediary account used when moving money from a liquidity account to " -"another" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_narration -#: model:ir.model.fields,field_description:account.field_account_move_narration -msgid "Internal Note" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_note -msgid "Internal Notes" -msgstr "" - -#. module: account -#: selection:account.payment,payment_type:0 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Internal Transfer" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_template_form -msgid "Internal notes..." -msgstr "" - -#. module: account -#: code:addons/account/models/partner.py:44 -#, python-format -msgid "Invalid \"Zip Range\", please configure it properly." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Invite Users" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:870 -#: model:ir.model,name:account.model_account_invoice -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_invoice_id -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_tree -#: model:ir.ui.view,arch_db:account.invoice_tree -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:res.request.link,name:account.req_link_invoice -#, python-format -msgid "Invoice" -msgstr "" - -#. module: account -#: model:mail.message.subtype,description:account.mt_invoice_created -#: model:mail.message.subtype,name:account.mt_invoice_created -msgid "Invoice Created" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_date_invoice -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Invoice Date" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_line -#: model:ir.ui.view,arch_db:account.view_invoice_line_form -#: model:ir.ui.view,arch_db:account.view_invoice_line_tree -msgid "Invoice Line" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_invoice_line_ids -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Invoice Lines" -msgstr "" - -#. module: account -#: sql_constraint:account.invoice:0 -msgid "Invoice Number must be unique per Company!" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_invoice_id -msgid "Invoice Reference" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_refund -msgid "Invoice Refund" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_state -msgid "Invoice Status" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_tax -msgid "Invoice Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_invoice_id -msgid "Invoice id" -msgstr "" - -#. module: account -#: model:mail.message.subtype,description:account.mt_invoice_paid -msgid "Invoice paid" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_invoice_refund.py:115 -#, python-format -msgid "Invoice refund" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1401 -#, python-format -msgid "Invoice sent" -msgstr "" - -#. module: account -#: model:mail.message.subtype,description:account.mt_invoice_validated -msgid "Invoice validated" -msgstr "" - -#. module: account -#: model:mail.template,report_name:account.email_template_edi_invoice -msgid "" -"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " -"and 'draft' or ''}" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Invoiced" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_invoice_refund_out_tree -#: model:ir.actions.act_window,name:account.action_invoice_tree -#: model:ir.actions.report.xml,name:account.account_invoices -#: model:ir.model.fields,field_description:account.field_account_payment_invoice_ids -#: model:ir.model.fields,field_description:account.field_res_partner_invoice_ids -#: model:ir.ui.menu,name:account.menu_action_account_invoice_report_all -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_form -#: model:ir.ui.view,arch_db:account.view_account_payment_graph -#: model:ir.ui.view,arch_db:account.view_invoice_graph -#: model:ir.ui.view,arch_db:account.view_invoice_line_calendar -#: model:ir.ui.view,arch_db:account.view_invoice_pivot -msgid "Invoices" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2099 -#, python-format -msgid "Invoices & Payments Matching" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_invoice_report_all -#: model:ir.actions.act_window,name:account.action_account_invoice_report_all_supp -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_graph -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_pivot -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Invoices Analysis" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_invoice_report -msgid "Invoices Statistics" -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:172 -#, python-format -msgid "Invoices owed to you" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Invoices to validate" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Invoicing & Payments" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_is_difference_zero -msgid "Is zero" -msgstr "" - -#. module: account -#: 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 "" - -#. 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 "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_report_partner_ledger_amount_currency -msgid "" -"It adds the currency column on report if the currency differs from the " -"company currency." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_reconciled -msgid "" -"It indicates that the invoice has been paid and the journal entry of the " -"invoice has been reconciled with one or several journal entries of payment." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_sent -msgid "It indicates that the invoice has been sent." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:883 -#, python-format -msgid "" -"It is mandatory to specify an account and a journal to create a write-off." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:212 -#, python-format -msgid "It took you" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"It's common practice to change your accounting software \n" -" at the end of a fiscal year. This allows you to " -"have less \n" -" data to import and balances to set. If you plan " -"to do so, \n" -" we recommend you start using Odoo for invoicing " -"and payments \n" -" now, and then move all other accounting " -"transactions at a later time." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"It's recommended that you do not delete any accounts, even if they are not " -"relevant. Simply make them inactive." -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Italic Text (smaller)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Items" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -msgid "JRNL" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "January" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2135 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2140 -#: code:addons/account/static/src/xml/account_reconciliation.xml:141 -#: model:ir.model,name:account.model_account_journal -#: model:ir.model.fields,field_description:account.field_account_bank_statement_journal_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_journal_id -#: model:ir.model.fields,field_description:account.field_account_invoice_journal_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_journal_id -#: model:ir.model.fields,field_description:account.field_account_move_journal_id -#: model:ir.model.fields,field_description:account.field_account_move_line_journal_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_journal_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_journal_id -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.view_account_journal_search -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -#, python-format -msgid "Journal" -msgstr "" - -#. module: account -#: selection:account.report.general.ledger,sortby:0 -msgid "Journal & Partner" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_move_journal_line -#: model:ir.actions.act_window,name:account.action_move_select -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_journal_entry_ids -#: model:ir.ui.menu,name:account.menu_action_move_journal_line_form -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_journal_form -#: model:ir.ui.view,arch_db:account.view_move_tree -msgid "Journal Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Journal Entries by Month" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_move_id -#: model:ir.model.fields,field_description:account.field_account_invoice_move_name -#: model:ir.model.fields,field_description:account.field_account_move_line_move_id -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Journal Entry" -msgstr "" - -#. module: account -#: selection:account.print.journal,sort_selection:0 -#: model:ir.ui.view,arch_db:account.report_journal -msgid "Journal Entry Number" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_move_line -#: model:ir.ui.view,arch_db:account.view_move_line_form -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "Journal Item" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_operation_template_label -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_label -msgid "Journal Item Label" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:261 -#: code:addons/account/models/account_payment.py:268 -#: model:ir.actions.act_window,name:account.act_account_journal_2_account_move_line -#: model:ir.actions.act_window,name:account.act_account_move_to_account_move_line_open -#: model:ir.actions.act_window,name:account.action_account_moves_all_a -#: model:ir.actions.act_window,name:account.action_account_moves_all_tree -#: model:ir.actions.act_window,name:account.action_move_line_graph -#: model:ir.actions.act_window,name:account.action_move_line_graph_cash_basis -#: model:ir.actions.act_window,name:account.action_move_line_graph_cash_basis_posted -#: model:ir.actions.act_window,name:account.action_move_line_graph_posted -#: model:ir.actions.act_window,name:account.action_move_line_select -#: model:ir.actions.act_window,name:account.action_move_line_select_by_partner -#: model:ir.actions.act_window,name:account.action_move_line_select_by_type -#: model:ir.actions.act_window,name:account.action_move_line_select_posted -#: model:ir.model.fields,field_description:account.field_account_move_line_ids -#: model:ir.model.fields,field_description:account.field_res_partner_issued_total -#: model:ir.model.fields,field_description:account.field_res_partner_journal_item_count -#: model:ir.ui.menu,name:account.menu_action_account_moves_all -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_payment_form -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -#: model:ir.ui.view,arch_db:account.view_move_form -#: model:ir.ui.view,arch_db:account.view_move_line_tree -#, python-format -msgid "Journal Items" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2098 -#: model:ir.actions.client,name:account.action_manual_reconcile -#, python-format -msgid "Journal Items to Reconcile" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_name -msgid "Journal Name" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -msgid "Journal and Partner" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Journal invoices with period in current year" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_journal_form -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_journal_ids -#: model:ir.model.fields,field_description:account.field_account_balance_report_journal_ids -#: model:ir.model.fields,field_description:account.field_account_common_account_report_journal_ids -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_journal_ids -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_journal_ids -#: model:ir.model.fields,field_description:account.field_account_common_report_journal_ids -#: model:ir.model.fields,field_description:account.field_account_print_journal_journal_ids -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_journal_ids -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_journal_ids -#: model:ir.model.fields,field_description:account.field_accounting_report_journal_ids -#: model:ir.ui.menu,name:account.menu_action_account_journal_form -msgid "Journals" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "July" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "June" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_kanban_dashboard -msgid "Kanban dashboard" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_kanban_dashboard_graph -msgid "Kanban dashboard graph" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_journal_form -msgid "Keep empty for no control" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_date_invoice -msgid "Keep empty to use the current date" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_date -msgid "Keep empty to use the invoice date." -msgstr "" - -#. module: account -#: selection:account.payment,payment_difference_handling:0 -msgid "Keep open" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:114 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:118 -#: model:ir.model.fields,field_description:account.field_account_move_line_name -#: model:ir.ui.view,arch_db:account.report_journal -#, python-format -msgid "Label" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_description -msgid "Label on Invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment___last_update -#: model:ir.model.fields,field_description:account.field_account_account___last_update -#: model:ir.model.fields,field_description:account.field_account_account_tag___last_update -#: model:ir.model.fields,field_description:account.field_account_account_template___last_update -#: model:ir.model.fields,field_description:account.field_account_account_type___last_update -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance___last_update -#: model:ir.model.fields,field_description:account.field_account_balance_report___last_update -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard___last_update -#: model:ir.model.fields,field_description:account.field_account_bank_statement___last_update -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox___last_update -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance___last_update -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line___last_update -#: model:ir.model.fields,field_description:account.field_account_cashbox_line___last_update -#: model:ir.model.fields,field_description:account.field_account_chart_template___last_update -#: model:ir.model.fields,field_description:account.field_account_common_account_report___last_update -#: model:ir.model.fields,field_description:account.field_account_common_journal_report___last_update -#: model:ir.model.fields,field_description:account.field_account_common_partner_report___last_update -#: model:ir.model.fields,field_description:account.field_account_common_report___last_update -#: model:ir.model.fields,field_description:account.field_account_config_settings___last_update -#: model:ir.model.fields,field_description:account.field_account_financial_report___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template___last_update -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template___last_update -#: model:ir.model.fields,field_description:account.field_account_full_reconcile___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_line___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_refund___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_report___last_update -#: model:ir.model.fields,field_description:account.field_account_invoice_tax___last_update -#: model:ir.model.fields,field_description:account.field_account_journal___last_update -#: model:ir.model.fields,field_description:account.field_account_move___last_update -#: model:ir.model.fields,field_description:account.field_account_move_line___last_update -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile___last_update -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff___last_update -#: model:ir.model.fields,field_description:account.field_account_move_reversal___last_update -#: model:ir.model.fields,field_description:account.field_account_operation_template___last_update -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile___last_update -#: model:ir.model.fields,field_description:account.field_account_payment___last_update -#: model:ir.model.fields,field_description:account.field_account_payment_method___last_update -#: model:ir.model.fields,field_description:account.field_account_payment_term___last_update -#: model:ir.model.fields,field_description:account.field_account_payment_term_line___last_update -#: model:ir.model.fields,field_description:account.field_account_print_journal___last_update -#: model:ir.model.fields,field_description:account.field_account_register_payments___last_update -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger___last_update -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger___last_update -#: model:ir.model.fields,field_description:account.field_account_tax___last_update -#: model:ir.model.fields,field_description:account.field_account_tax_group___last_update -#: model:ir.model.fields,field_description:account.field_account_tax_template___last_update -#: model:ir.model.fields,field_description:account.field_account_unreconcile___last_update -#: model:ir.model.fields,field_description:account.field_accounting_report___last_update -#: model:ir.model.fields,field_description:account.field_cash_box_in___last_update -#: model:ir.model.fields,field_description:account.field_cash_box_out___last_update -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_journal___last_update -#: model:ir.model.fields,field_description:account.field_report_account_extra_reports_report_partnerledger___last_update -#: model:ir.model.fields,field_description:account.field_report_account_report_agedpartnerbalance___last_update -#: model:ir.model.fields,field_description:account.field_report_account_report_financial___last_update -#: model:ir.model.fields,field_description:account.field_report_account_report_generalledger___last_update -#: model:ir.model.fields,field_description:account.field_report_account_report_overdue___last_update -#: model:ir.model.fields,field_description:account.field_report_account_report_trialbalance___last_update -#: model:ir.model.fields,field_description:account.field_validate_account_move___last_update -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts___last_update -msgid "Last Modified on" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:329 -#, python-format -msgid "Last Reconciliation :" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tag_write_uid -#: model:ir.model.fields,field_description:account.field_account_account_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_account_type_write_uid -#: model:ir.model.fields,field_description:account.field_account_account_write_uid -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_write_uid -#: model:ir.model.fields,field_description:account.field_account_balance_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_write_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_write_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_write_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_write_uid -#: model:ir.model.fields,field_description:account.field_account_bank_statement_write_uid -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_write_uid -#: model:ir.model.fields,field_description:account.field_account_chart_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_common_account_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_common_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_config_settings_write_uid -#: model:ir.model.fields,field_description:account.field_account_financial_report_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_write_uid -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_line_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_write_uid -#: model:ir.model.fields,field_description:account.field_account_invoice_write_uid -#: model:ir.model.fields,field_description:account.field_account_journal_write_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_write_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_write_uid -#: model:ir.model.fields,field_description:account.field_account_move_line_write_uid -#: model:ir.model.fields,field_description:account.field_account_move_reversal_write_uid -#: model:ir.model.fields,field_description:account.field_account_move_write_uid -#: model:ir.model.fields,field_description:account.field_account_operation_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_write_uid -#: model:ir.model.fields,field_description:account.field_account_payment_method_write_uid -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_write_uid -#: model:ir.model.fields,field_description:account.field_account_payment_term_write_uid -#: model:ir.model.fields,field_description:account.field_account_payment_write_uid -#: model:ir.model.fields,field_description:account.field_account_print_journal_write_uid -#: model:ir.model.fields,field_description:account.field_account_register_payments_write_uid -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_write_uid -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_write_uid -#: model:ir.model.fields,field_description:account.field_account_tax_group_write_uid -#: model:ir.model.fields,field_description:account.field_account_tax_template_write_uid -#: model:ir.model.fields,field_description:account.field_account_tax_write_uid -#: model:ir.model.fields,field_description:account.field_account_unreconcile_write_uid -#: model:ir.model.fields,field_description:account.field_accounting_report_write_uid -#: model:ir.model.fields,field_description:account.field_cash_box_in_write_uid -#: model:ir.model.fields,field_description:account.field_cash_box_out_write_uid -#: model:ir.model.fields,field_description:account.field_validate_account_move_write_uid -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tag_write_date -#: model:ir.model.fields,field_description:account.field_account_account_template_write_date -#: model:ir.model.fields,field_description:account.field_account_account_type_write_date -#: model:ir.model.fields,field_description:account.field_account_account_write_date -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_write_date -#: model:ir.model.fields,field_description:account.field_account_balance_report_write_date -#: model:ir.model.fields,field_description:account.field_account_bank_accounts_wizard_write_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_write_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_closebalance_write_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_write_date -#: model:ir.model.fields,field_description:account.field_account_bank_statement_write_date -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_write_date -#: model:ir.model.fields,field_description:account.field_account_chart_template_write_date -#: model:ir.model.fields,field_description:account.field_account_common_account_report_write_date -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_write_date -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_write_date -#: model:ir.model.fields,field_description:account.field_account_common_report_write_date -#: model:ir.model.fields,field_description:account.field_account_config_settings_write_date -#: model:ir.model.fields,field_description:account.field_account_financial_report_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_template_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_account_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_write_date -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_write_date -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_cancel_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_confirm_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_line_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_write_date -#: model:ir.model.fields,field_description:account.field_account_invoice_write_date -#: model:ir.model.fields,field_description:account.field_account_journal_write_date -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_write_date -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_write_date -#: model:ir.model.fields,field_description:account.field_account_move_line_write_date -#: model:ir.model.fields,field_description:account.field_account_move_reversal_write_date -#: model:ir.model.fields,field_description:account.field_account_move_write_date -#: model:ir.model.fields,field_description:account.field_account_operation_template_write_date -#: model:ir.model.fields,field_description:account.field_account_partial_reconcile_write_date -#: model:ir.model.fields,field_description:account.field_account_payment_method_write_date -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_write_date -#: model:ir.model.fields,field_description:account.field_account_payment_term_write_date -#: model:ir.model.fields,field_description:account.field_account_payment_write_date -#: model:ir.model.fields,field_description:account.field_account_print_journal_write_date -#: model:ir.model.fields,field_description:account.field_account_register_payments_write_date -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_write_date -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_write_date -#: model:ir.model.fields,field_description:account.field_account_tax_group_write_date -#: model:ir.model.fields,field_description:account.field_account_tax_template_write_date -#: model:ir.model.fields,field_description:account.field_account_tax_write_date -#: model:ir.model.fields,field_description:account.field_account_unreconcile_write_date -#: model:ir.model.fields,field_description:account.field_accounting_report_write_date -#: model:ir.model.fields,field_description:account.field_cash_box_in_write_date -#: model:ir.model.fields,field_description:account.field_cash_box_out_write_date -#: model:ir.model.fields,field_description:account.field_validate_account_move_write_date -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_write_date -msgid "Last Updated on" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,option:0 -msgid "Last day of current month" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,option:0 -msgid "Last day of following month" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_last_time_entries_checked -msgid "" -"Last time the invoices & payments matching was performed for this partner. " -"It is set either if there's not at least an unreconciled debit and an " -"unreconciled credit or if you click the \"Done\" button." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_last_time_entries_checked -msgid "" -"Last time the invoices & payments matching was performed on this account. It " -"is set either if there's not at least an unreconciled debit and an " -"unreconciled credit Or if you click the \"Done\" button." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_last_time_entries_checked -#: model:ir.model.fields,field_description:account.field_res_partner_last_time_entries_checked -msgid "Latest Invoices & Payments Matching Date" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Legal Name" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "Legal Notes..." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_fiscal_position_note -msgid "Legal mentions that have to be printed on the invoices." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:145 -#, python-format -msgid "Less Payment" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_level -msgid "Level" -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_liability0 -#: model:account.financial.report,name:account.account_financial_report_liabilitysum0 -msgid "Liability" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_move_id -msgid "Link to the automatically generated Journal Items." -msgstr "" - -#. module: account -#: selection:account.account.type,type:0 -#: model:ir.ui.view,arch_db:account.view_account_journal_search -msgid "Liquidity" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_chart_template_tax_template_ids -msgid "List of all the taxes that have to be installed by the wizard" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "Litigation" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_fiscalyear_lock_date -#: model:ir.model.fields,field_description:account.field_res_company_fiscalyear_lock_date -msgid "Lock Date" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_period_lock_date -#: model:ir.model.fields,field_description:account.field_res_company_period_lock_date -msgid "Lock Date for Non-Advisers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Lock Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Logo" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:166 -#, python-format -msgid "Loss" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_loss_account_id -#, fuzzy -msgid "Loss Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_expense_currency_exchange_account_id -#: model:ir.model.fields,field_description:account.field_res_company_expense_currency_exchange_account_id -#, fuzzy -msgid "Loss Exchange Rate Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: code:addons/account/models/chart_template.py:179 -#, python-format -msgid "MISC" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Main Currency" -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Main Title 1 (bold, underlined)" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_currency_id -msgid "Main currency of the company." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Manage time & material contracts or fixed-price recurring subscriptions." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Manage your employee expenses, from encoding, to payments and reporting." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Manage your various fixed assets, such as buildings, machinery, materials, " -"cars, etc..., and calculate their associated depreciation over time." -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.account_management_menu -#: model:ir.ui.menu,name:account.account_reports_management_menu -msgid "Management" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Managing bank fees" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_manual -msgid "Manual" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_invoice_tax_form -#: model:ir.ui.view,arch_db:account.view_invoice_tax_tree -msgid "Manual Invoice Taxes" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Manually enter your transactions using our" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "March" -msgstr "" - -#. module: account -#: selection:account.payment,payment_difference_handling:0 -msgid "Mark invoice as fully paid" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_reconciled_line_ids -#: model:ir.ui.view,arch_db:account.view_full_reconcile_form -msgid "Matched Journal Items" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_matched_credit_ids -msgid "Matched credit ids" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_matched_debit_ids -msgid "Matched debit ids" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_full_reconcile_form -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Matching" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_full_reconcile_id -msgid "Matching Number" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "May" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_inbound_payment_method_ids -msgid "" -"Means of payment for collecting money. Odoo modules offer various payments " -"handling facilities, but you can always use the 'Manual' payment method in " -"order to manage payments outside of the software." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_outbound_payment_method_ids -msgid "" -"Means of payment for sending money. Odoo modules offer various payments " -"handling facilities, but you can always use the 'Manual' payment method in " -"order to manage payments outside of the software." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_communication -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_name -#: model:ir.model.fields,field_description:account.field_account_payment_communication -#: model:ir.model.fields,field_description:account.field_account_register_payments_communication -msgid "Memo" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:64 -#, python-format -msgid "Memo:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Minus Cost of Revenue" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Minus Current Liabilities" -msgstr "Minus Current Liabilities" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Minus Expenses" -msgstr "Minus Expenses" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Minus Non-Current Liabilities" -msgstr "Minus Non-Current Liabilities" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Minus Payable Accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: selection:account.journal,type:0 -#: model:ir.ui.view,arch_db:account.view_account_journal_form -#: model:ir.ui.view,arch_db:account.view_account_journal_search -msgid "Miscellaneous" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:179 -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#, python-format -msgid "Miscellaneous Operations" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:81 -#, python-format -msgid "Modify presets" -msgstr "" - -#. module: account -#: selection:account.invoice.refund,filter_refund:0 -msgid "Modify: create refund, reconcile and create a new draft invoice" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_invoice_partner_relation -msgid "Monthly Turnover" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:104 -#, python-format -msgid "More" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "More <i class=\"fa fa-caret-down\"/>" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Most currencies are already created by default. If you plan\n" -" to use some of them, you should check their " -"<strong>Active</strong>\n" -" field." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Move" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_move_id -msgid "Move Line" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_move_line_ids -msgid "Move line ids" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1172 -#, python-format -msgid "Move name (id): %s (%s)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Multi Currency" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_config_multi_currency -msgid "Multi-Currencies" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "My Invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "NET ASSETS" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "NET PROFIT" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_name -#: model:ir.model.fields,field_description:account.field_account_account_tag_name -#: model:ir.model.fields,field_description:account.field_account_account_template_name -#: model:ir.model.fields,field_description:account.field_account_chart_template_name -#: model:ir.model.fields,field_description:account.field_account_payment_method_name -#: model:ir.model.fields,field_description:account.field_account_payment_name -#: model:ir.model.fields,field_description:account.field_account_tax_group_name -#: model:ir.ui.view,arch_db:account.report_financial -#: model:ir.ui.view,arch_db:account.report_journal -msgid "Name" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:52 -#, python-format -msgid "Name:" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_tax_net -#: model:ir.actions.act_window,name:account.act_account_tax_net_posted -msgid "Net Tax Lines" -msgstr "" - -#. module: account -#: selection:account.bank.statement,state:0 -msgid "New" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:88 -#, python-format -msgid "New Operation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "New Statement" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "New Transactions" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1149 -#, python-format -msgid "New expected payment date: " -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:80 -#, python-format -msgid "New preset" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Next, register any unmatched payments:<br/>" -msgstr "" - -#. module: account -#: selection:accounting.report,filter_cmp:0 -msgid "No Filters" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_blocked -msgid "No Follow-up" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:988 -#, python-format -msgid "No appropriate payment method enabled on journal %s" -msgstr "" - -#. module: account -#: selection:account.financial.report,display_detail:0 -msgid "No detail" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:123 -#, python-format -msgid "No result matching '" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_fiscalyear_lock_date -#: model:ir.model.fields,help:account.field_res_company_fiscalyear_lock_date -msgid "" -"No users, including Advisers, can edit accounts prior to and inclusive of " -"this date. Use it for fiscal year locking for example." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_chart_template_code_digits -#: model:ir.model.fields,help:account.field_wizard_multi_charts_accounts_code_digits -msgid "No. of Digits to use for account code" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_code_digits -msgid "No. of digits to use for account code" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_non_current_assets -msgid "Non-current Assets" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_non_current_liabilities -#, fuzzy -msgid "Non-current Liabilities" -msgstr "Minus Non-Current Liabilities" - -#. module: account -#: selection:account.tax,type_tax_use:0 -#: selection:account.tax.template,type_tax_use:0 -msgid "None" -msgstr "" - -#. module: account -#: selection:res.partner,trust:0 -msgid "Normal Debtor" -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Normal Text" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Not Paid" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_report_common.py:28 -#, python-format -msgid "Not implemented." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:267 -#: model:ir.model.fields,field_description:account.field_account_account_template_note -#, python-format -msgid "Note" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_note -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_note -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_note -#: model:ir.ui.view,arch_db:account.view_account_template_form -msgid "Notes" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Nothing to Reconcile" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "November" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_name -#: model:ir.model.fields,field_description:account.field_account_invoice_number -#: model:ir.model.fields,field_description:account.field_account_move_name -msgid "Number" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Number (Move)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_number -msgid "Number of Coins/Bills" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_days -msgid "Number of Days" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_accounts_code_digits -msgid "Number of digits in an account code" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:192 -#, python-format -msgid "OK" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "October" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Odoo Accounting has many free extra-features:" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_bank_statement_line -msgid "" -"Odoo allows you to reconcile a statement line directly with\n" -" the related sale or puchase invoice(s)." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_bank_statement_tree -msgid "" -"Odoo allows you to reconcile a statement line directly with\n" -" the related sale or puchase invoices." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_move_journal_line -msgid "" -"Odoo automatically creates one journal entry per accounting\n" -" document: invoice, refund, vendor payment, bank statements,\n" -" etc. So, you should record journal entries manually only/" -"mainly\n" -" for miscellaneous operations." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Odoo can manage multiple companies, but we suggest to setup everything for " -"your first company before configuring the other ones." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Odoo has already preconfigured a few taxes according to your country.<br/" -">Simply review them and check if you need more." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Odoo should do most of the reconciliation work automatically, so you'll only " -"need to review a few of them when a <strong>'Reconcile Items'</strong> " -"button appears on your Vendor Bills dash." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_invoice_tree1 -msgid "" -"Odoo's electronic invoicing allows to ease and fasten the\n" -" collection of customer payments. Your customer receives the\n" -" invoice by email and he can pay online and/or import it\n" -" in his own system." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_invoice_confirm_view -msgid "" -"Once draft invoices are confirmed, you will not be able\n" -" to modify them. The invoices will receive a unique\n" -" number and journal items will be created in your " -"chart\n" -" of accounts." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "" -"Once this module is installed, you have to configure Tax Cash Basis Journal." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Once you have created your chart of accounts, you will need to update your " -"account balances." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Once your bank accounts are registered, you will be able \n" -" to access your statements from the Accounting " -"Dashboard. \n" -" The available methods for synchronization are as " -"follows." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Once your company information is correct, you should" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "One bank statement for each bank account you hold." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_only_one_chart_template -msgid "Only One Chart Template Available" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:331 -#, python-format -msgid "" -"Only a draft payment can be posted. Trying to post a payment in state %s." -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:736 -#, python-format -msgid "Only administrators can change the settings" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1511 -#, python-format -msgid "Only use the ctrl-enter shortcut to validate reconciliations." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_period_lock_date -#: model:ir.model.fields,help:account.field_res_company_period_lock_date -msgid "" -"Only users with the 'Adviser' role can edit accounts prior to and inclusive " -"of this date. Use it for period locking inside an open fiscal year, for " -"example." -msgstr "" - -#. module: account -#: selection:account.invoice,state:0 selection:account.invoice.report,state:0 -msgid "Open" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:82 -#, fuzzy, python-format -msgid "Open Payment" -msgstr "Minus Payment" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1870 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1902 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2037 -#, python-format -msgid "Open balance" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_cashbox_line_number -msgid "Opening Unit Numbers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_operation_template_form -msgid "Operation Templates" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_reconcile.py:66 -#: code:addons/account/wizard/account_reconcile.py:125 -#, python-format -msgid "" -"Operation not allowed. You can only reconcile entries that share the same " -"secondary currency or that don't have one. Edit your journal items or make " -"another selection before proceeding any further." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_template_nocreate -msgid "Optional Create" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "Optional Information" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_tag_ids -#: model:ir.model.fields,help:account.field_account_account_template_tag_ids -#: model:ir.model.fields,help:account.field_account_tax_tag_ids -#: model:ir.model.fields,help:account.field_account_tax_template_tag_ids -msgid "Optional tags you may want to assign for custom reporting" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_option -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "Options" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_payment_id -msgid "Originator Payment" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_tax_line_id -msgid "Originator tax" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_other_income -msgid "Other Income" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Other Info" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:296 -#, python-format -msgid "OtherAccounts" -msgstr "" - -#. module: account -#: selection:account.payment.method,payment_type:0 -msgid "Outbound" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_stock_account_output_categ_id -#: model:ir.model.fields,field_description:account.field_res_company_property_stock_account_output_categ_id -msgid "Output Account for Stock Valuation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Outstanding Transactions" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:112 -#, python-format -msgid "Outstanding credits" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_outstanding_credits_debits_widget -msgid "Outstanding credits debits widget" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:115 -#, python-format -msgid "Outstanding debits" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Overdue" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_company_inherit_form -#, fuzzy -msgid "Overdue Payments" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_overdue_msg -#: model:ir.ui.view,arch_db:account.view_company_inherit_form -msgid "Overdue Payments Message" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Overdue invoices, maturity date passed" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_finance_legal_statement -msgid "PDF Reports" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "PRO-FORMA" -msgstr "" - -#. module: account -#: selection:account.invoice,state:0 -#: model:ir.ui.view,arch_db:account.report_overdue_document -#: model:mail.message.subtype,name:account.mt_invoice_paid -msgid "Paid" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:280 -#, python-format -msgid "Paid Invoices" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:28 -#, python-format -msgid "Paid on" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_reconciled -msgid "Paid/Reconciled" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_parent_id -msgid "Parent" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_parent_id -msgid "Parent Chart Template" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_financial_report_search -msgid "Parent Report" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_partial_reconcile -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -msgid "Partial Reconcile" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1731 -#: code:addons/account/static/src/xml/account_reconciliation.xml:262 -#: model:ir.model,name:account.model_res_partner -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_partner_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_partner_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_partner_id -#: model:ir.model.fields,field_description:account.field_account_invoice_partner_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_partner_id -#: model:ir.model.fields,field_description:account.field_account_move_line_partner_id -#: model:ir.model.fields,field_description:account.field_account_move_partner_id -#: model:ir.model.fields,field_description:account.field_account_payment_partner_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_partner_id -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_journal -#: model:ir.ui.view,arch_db:account.view_account_analytic_line_filter_inherit_account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#, python-format -msgid "Partner" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_commercial_partner_id -msgid "Partner Company" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_partner_ledger_menu -#: model:ir.actions.report.xml,name:account.action_report_partnerledger -#: model:ir.ui.menu,name:account.menu_partner_ledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -msgid "Partner Ledger" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_partner_ledger_payable -msgid "Partner Ledger: Payable" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_partner_ledger_receivable -msgid "Partner Ledger: Receivable" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_ref -msgid "Partner Reference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_partner_name -msgid "Partner name" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_partner_type -#: model:ir.model.fields,field_description:account.field_account_payment_partner_type -#: model:ir.model.fields,field_description:account.field_account_register_payments_partner_type -msgid "Partner type" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_result_selection -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_result_selection -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_result_selection -msgid "Partner's" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -msgid "Partners" -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:96 -#, python-format -msgid "Past" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_payable -#: selection:account.account.type,type:0 -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Payable" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_payable_id -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -#, fuzzy -msgid "Payable Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: selection:account.aged.trial.balance,result_selection:0 -#: selection:account.common.partner.report,result_selection:0 -#: selection:account.report.partner.ledger,result_selection:0 -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.view_account_search -#, fuzzy -msgid "Payable Accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_debit_limit -msgid "Payable Limit" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_amount -#: model:ir.model.fields,field_description:account.field_account_payment_amount -#: model:ir.model.fields,field_description:account.field_account_register_payments_amount -msgid "Payment Amount" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_payment_date -#: model:ir.model.fields,field_description:account.field_account_payment_payment_date -#: model:ir.model.fields,field_description:account.field_account_register_payments_payment_date -msgid "Payment Date" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_payment_difference_handling -msgid "Payment Difference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_journal_id -#: model:ir.model.fields,field_description:account.field_account_payment_journal_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_journal_id -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Payment Method" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:60 -#, python-format -msgid "Payment Method:" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_payment_method -#: model:ir.model.fields,field_description:account.field_account_journal_outbound_payment_method_ids -msgid "Payment Methods" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_reference_type -msgid "Payment Reference" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_payment_term -#: model:ir.model.fields,field_description:account.field_account_invoice_payment_term_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_payment_term_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_payment_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_name -#: model:ir.ui.view,arch_db:account.view_payment_term_form -#: model:ir.ui.view,arch_db:account.view_payment_term_line_form -#: model:ir.ui.view,arch_db:account.view_payment_term_line_tree -#: model:ir.ui.view,arch_db:account.view_payment_term_search -msgid "Payment Term" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_payment_term_line -msgid "Payment Term Line" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_payment_term_form -#: model:ir.ui.menu,name:account.menu_action_payment_term_form -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Payment Terms" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_payment_method_id -#: model:ir.model.fields,field_description:account.field_account_abstract_payment_payment_type -#: model:ir.model.fields,field_description:account.field_account_payment_payment_method_id -#: model:ir.model.fields,field_description:account.field_account_payment_payment_type -#: model:ir.model.fields,field_description:account.field_account_register_payments_payment_method_id -#: model:ir.model.fields,field_description:account.field_account_register_payments_payment_type -msgid "Payment Type" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_payment_difference -msgid "Payment difference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_payment_reference -msgid "Payment reference" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_payment_term_form -msgid "Payment term explanation for the customer..." -msgstr "" - -#. module: account -#: model:account.payment.term,note:account.account_payment_term_15days -msgid "Payment term: 15 Days" -msgstr "" - -#. module: account -#: model:account.payment.term,note:account.account_payment_term_net -msgid "Payment term: 30 Net Days" -msgstr "" - -#. module: account -#: model:account.payment.term,note:account.account_payment_term_advance -msgid "Payment term: 30% Advance End of Following Month" -msgstr "" - -#. module: account -#: model:account.payment.term,note:account.account_payment_term -msgid "Payment term: End of Following Month" -msgstr "" - -#. module: account -#: model:account.payment.term,note:account.account_payment_term_immediate -msgid "Payment term: Immediate Payment" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_payment_id -msgid "Payment that created this entry" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_method_payment_type -msgid "Payment type" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_payments -#: model:ir.actions.act_window,name:account.action_account_payments_payable -#: model:ir.model,name:account.model_account_payment -#: model:ir.model.fields,field_description:account.field_account_invoice_payment_ids -#: model:ir.model.fields,field_description:account.field_account_invoice_payment_move_line_ids -#: model:ir.ui.menu,name:account.menu_action_account_payments_payable -#: model:ir.ui.menu,name:account.menu_action_account_payments_receivable -#: model:ir.ui.view,arch_db:account.partner_view_buttons -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#: model:ir.ui.view,arch_db:account.view_account_payment_search -#, fuzzy -msgid "Payments" -msgstr "Minus Payment" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Payments Matching" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_payments -#: model:ir.actions.act_window,help:account.action_account_payments_payable -msgid "" -"Payments are used to register liquidity movements (send, collect or transfer " -"money).\n" -" You can then process those payments by your own means or " -"by using installed facilities." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Payments to do" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_payments_widget -msgid "Payments widget" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_paypal_account -#, fuzzy -msgid "Paypal Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_paypal_account -#, fuzzy -msgid "Paypal account" -msgstr "Minus Payable Accounts" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_paypal_account -msgid "" -"Paypal account (email) for receiving online payments (credit card, etc.)\n" -" If you set a paypal account, the customer will be able to pay " -"your invoices or quotations\n" -" with a button \"Pay with Paypal\" in automated emails or " -"through the Odoo portal." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_company_paypal_account -msgid "Paypal username (usually email) for receiving online payments." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_invoice_tree_pending_invoice -msgid "Pending Invoice" -msgstr "" - -#. module: account -#: selection:account.payment.term.line,value:0 -msgid "Percent" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_matched_percentage -msgid "Percentage Matched" -msgstr "" - -#. module: account -#: selection:account.tax,amount_type:0 -#: selection:account.tax.template,amount_type:0 -msgid "Percentage of Price" -msgstr "" - -#. module: account -#: selection:account.tax,amount_type:0 -#: selection:account.tax.template,amount_type:0 -msgid "Percentage of Price Tax Included" -msgstr "" - -#. module: account -#: selection:account.operation.template,second_amount_type:0 -msgid "Percentage of amount" -msgstr "" - -#. module: account -#: selection:account.operation.template,amount_type:0 -msgid "Percentage of balance" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1383 -#, python-format -msgid "Percentages for Payment Term Line must be between 0 and 100." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Period" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_period_length -msgid "Period Length (days)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_plaid -msgid "Plaid Connector" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_web_planner -msgid "Planner" -msgstr "" - -#. module: account -#: code:addons/account/wizard/pos_box.py:27 -#, python-format -msgid "Please check that the field 'Journal' is set on the Bank Statement" -msgstr "" - -#. module: account -#: code:addons/account/wizard/pos_box.py:29 -#, python-format -msgid "Please check that the field 'Transfer Account' is set on the company." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:725 -#, python-format -msgid "Please create some invoice lines." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:136 -#, python-format -msgid "Please define a sequence on the journal." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:723 -#, python-format -msgid "Please define sequence on the journal related to this invoice." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Plus Bank" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Plus Fixed Assets" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Plus Net Profit" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Plus Non-Current Assets" -msgstr "Minus Non-Current Liabilities" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Plus Other Income" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -msgid "Post" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Post All Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_payment_invoice_form -msgid "Post Difference In" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_validate_account_move -#: model:ir.ui.view,arch_db:account.validate_account_move_view -msgid "Post Journal Entries" -msgstr "" - -#. module: account -#: selection:account.move,state:0 selection:account.payment,state:0 -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Posted" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Posted Journal Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Posted Journal Items" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_bank_account_code_prefix -#: model:ir.model.fields,field_description:account.field_res_company_bank_account_code_prefix -msgid "Prefix of the bank accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_cash_account_code_prefix -msgid "Prefix of the cash accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_cash_account_code_prefix -msgid "Prefix of the main cash accounts" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_prepayments -#: model:ir.ui.view,arch_db:account.view_account_form -#, fuzzy -msgid "Prepayments" -msgstr "Minus Payment" - -#. module: account -#: selection:account.financial.report,sign:0 -msgid "Preserve balance sign" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_operation_template -msgid "" -"Preset to create journal entries during a invoices and payments matching" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Price" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -#: model:ir.ui.view,arch_db:account.account_common_report_view -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Print" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Print Invoice" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_common_journal_report_amount_currency -#: model:ir.model.fields,help:account.field_account_print_journal_amount_currency -msgid "" -"Print Report with the currency column if the currency differs from the " -"company currency." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Pro Forma Invoice" -msgstr "" - -#. module: account -#: selection:account.invoice,state:0 selection:account.invoice.report,state:0 -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Pro-forma" -msgstr "" - -#. module: account -#: model:res.groups,name:account.group_proforma_invoices -msgid "Pro-forma Invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_product_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_product_id -#: model:ir.model.fields,field_description:account.field_account_invoice_report_product_id -#: model:ir.model.fields,field_description:account.field_account_move_line_product_id -#: model:ir.ui.view,arch_db:account.view_account_analytic_line_filter_inherit_account -msgid "Product" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_product_category -#: model:ir.model.fields,field_description:account.field_account_invoice_report_categ_id -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Product Category" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_product_qty -msgid "Product Quantity" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_product_template -msgid "Product Template" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:170 -#, python-format -msgid "Profit" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "Profit & Loss" -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_profitloss_toreport0 -msgid "Profit (Loss) to report" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_profit_account_id -msgid "Profit Account" -msgstr "" - -#. module: account -#: model:account.financial.report,name:account.account_financial_report_profitandloss0 -#: model:ir.actions.act_window,name:account.action_account_report_pl -#: model:ir.ui.menu,name:account.menu_account_report_pl -msgid "Profit and Loss" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Proforma" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:593 -#, python-format -msgid "" -"Programmation error : domain_maker_move_line_amount requires comparator '=' " -"or '<'" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:123 -#, python-format -msgid "" -"Programmation error: the expected model for this action is 'account." -"invoice'. The provided one is '%d'." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:121 -#, python-format -msgid "" -"Programmation error: wizard action executed without active_model or " -"active_ids in context." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_chart_template_form -msgid "Properties" -msgstr "" - -#. module: account -#: selection:account.journal,type:0 -#: model:ir.ui.view,arch_db:account.view_account_journal_search -#: model:ir.ui.view,arch_db:account.view_account_tax_search -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Purchase" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_wizard_multi_chart -msgid "Purchase Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_purchase_tax_rate -msgid "Purchase Tax(%)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_purchase_tax_rate -msgid "Purchase tax (%)" -msgstr "" - -#. module: account -#: selection:account.tax,type_tax_use:0 -#: selection:account.tax.template,type_tax_use:0 -#: model:ir.ui.menu,name:account.menu_finance_payables -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Purchases" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_cash_box_in -#: model:ir.ui.view,arch_db:account.cash_box_in_form -msgid "Put Money In" -msgstr "" - -#. module: account -#: selection:account.tax,amount_type:0 -#: selection:account.tax.template,amount_type:0 -msgid "Python Code" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_quantity -#: model:ir.model.fields,field_description:account.field_account_move_line_quantity -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Quantity" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_currency_exchange_journal_id -msgid "Rate Difference Journal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_description -#: model:ir.model.fields,field_description:account.field_cash_box_in_name -#: model:ir.model.fields,field_description:account.field_cash_box_out_name -msgid "Reason" -msgstr "" - -#. module: account -#: model:account.account.type,name:account.data_account_type_receivable -#: selection:account.account.type,type:0 -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Receivable" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_property_account_receivable_id -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -#, fuzzy -msgid "Receivable Account" -msgstr "Minus Payable Accounts" - -#. module: account -#: selection:account.aged.trial.balance,result_selection:0 -#: selection:account.common.partner.report,result_selection:0 -#: selection:account.report.partner.ledger,result_selection:0 -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.view_account_form -#: model:ir.ui.view,arch_db:account.view_account_search -#, fuzzy -msgid "Receivable Accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: selection:account.aged.trial.balance,result_selection:0 -#: selection:account.common.partner.report,result_selection:0 -#: selection:account.report.partner.ledger,result_selection:0 -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#, fuzzy -msgid "Receivable and Payable Accounts" -msgstr "Minus Payable Accounts" - -#. module: account -#: selection:account.abstract.payment,payment_type:0 -#: selection:account.payment,payment_type:0 -#: selection:account.register.payments,payment_type:0 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Receive Money" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1852 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2450 -#: code:addons/account/static/src/xml/account_reconciliation.xml:322 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.account_move_line_reconcile_writeoff -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -#, python-format -msgid "Reconcile" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_view_account_move_line_reconcile -msgid "Reconcile Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -msgid "Reconcile With Write-Off" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_reconcile.py:94 -#, python-format -msgid "Reconcile Writeoff" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/tour_bank_statement_reconciliation.js:11 -#, python-format -msgid "Reconcile the demo bank statement" -msgstr "" - -#. module: account -#: selection:account.payment,state:0 -#: model:ir.model.fields,field_description:account.field_account_move_line_reconciled -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Reconciled" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_reconciled -msgid "Reconciled Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -msgid "Reconciliation" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_operation_template -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Reconciliation Models" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_full_reconcile_partial_reconcile_ids -msgid "Reconciliation Parts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -msgid "Reconciliation Transactions" -msgstr "" - -#. module: account -#: model:ir.actions.client,name:account.action_bank_reconcile -#: model:ir.actions.client,name:account.action_bank_reconcile_bank_statements -msgid "Reconciliation on Bank Statements" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:2163 -#, python-format -msgid "Reconciling " -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Reconciling journal entries" -msgstr "" - -#. module: account -#: selection:account.journal,bank_statements_source:0 -msgid "Record Manually" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Recording invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_partnerledger -msgid "Ref" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_ref -msgid "Ref." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_ref -#: model:ir.model.fields,field_description:account.field_account_bank_statement_name -#: model:ir.model.fields,field_description:account.field_account_move_ref -#: model:ir.model.fields,field_description:account.field_cash_box_in_ref -msgid "Reference" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_uom_name -msgid "Reference Unit of Measure" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_overdue_document -msgid "Reference number" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_line_origin -#: model:ir.model.fields,help:account.field_account_invoice_origin -msgid "Reference of the document that produced this invoice." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_payment_payment_reference -msgid "" -"Reference of the document used to issue this payment. Eg. check number, file " -"name, etc." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_name -msgid "Reference/Description" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:872 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#, python-format -msgid "Refund" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_date_invoice -msgid "Refund Date" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_refund_sequence_id -msgid "Refund Entry Sequence" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_invoice_refund -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Refund Invoice" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_filter_refund -msgid "Refund Method" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_refund_filter_refund -msgid "" -"Refund base on this type. You can not Modify and Cancel if the invoice is " -"already reconciled" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Refunds" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_invoice_payment -#: model:ir.actions.act_window,name:account.action_account_payment_from_invoices -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.view_account_payment_form -#: model:ir.ui.view,arch_db:account.view_account_payment_from_invoices -#: model:ir.ui.view,arch_db:account.view_account_payment_invoice_form -#, fuzzy -msgid "Register Payment" -msgstr "Minus Payment" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -#, fuzzy -msgid "Register Payments" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model,name:account.model_account_register_payments -msgid "Register payments on multiple invoices" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Registering outstanding invoices and payments can be a huge undertaking, \n" -" but you can start using Odoo without it by:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Registering payments related to outstanding invoices separately in a " -"different account (e.g. Account Receivables 2014)" -msgstr "" - -#. module: account -#: selection:account.account.type,type:0 -msgid "Regular" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_residual_company_signed -msgid "Remaining amount due in the currency of the company." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_residual_signed -msgid "Remaining amount due in the currency of the invoice." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_residual -msgid "Remaining amount due." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_tax_dest_id -msgid "Replacement Tax" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_financial_report_form -msgid "Report" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_name -msgid "Report Name" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -#: model:ir.ui.view,arch_db:account.account_common_report_view -msgid "Report Options" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_financial_report_search -msgid "Report Type" -msgstr "" - -#. module: account -#: selection:account.financial.report,type:0 -#: model:ir.model.fields,field_description:account.field_account_financial_report_account_report_id -msgid "Report Value" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_finance_reports -msgid "Reporting" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.account_report_folder -msgid "Reports" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Reset to Draft" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:149 -#, python-format -msgid "Residual" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_amount_residual -msgid "Residual Amount" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_amount_residual_currency -msgid "Residual Amount in Currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_user_id -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Responsible" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_reversal_date -msgid "Reversal date" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -msgid "Reverse Entry" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_move_reversal.py:20 -#: model:ir.actions.act_window,name:account.action_view_account_move_reversal -#: model:ir.ui.view,arch_db:account.view_account_move_reversal -#, python-format -msgid "Reverse Moves" -msgstr "" - -#. module: account -#: selection:account.financial.report,sign:0 -msgid "Reverse balance sign" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Review Fiscal Positions" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Review Terms" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Review existing Taxes" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Review the Chart of Accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Review the list of available currencies (from the" -msgstr "" - -#. module: account -#: selection:res.company,tax_calculation_rounding_method:0 -msgid "Round Globally" -msgstr "" - -#. module: account -#: selection:res.company,tax_calculation_rounding_method:0 -msgid "Round per Line" -msgstr "" - -#. module: account -#: selection:account.journal,type:0 -#: model:ir.ui.view,arch_db:account.view_account_journal_search -#: model:ir.ui.view,arch_db:account.view_account_tax_search -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "Sale" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_wizard_multi_chart -msgid "Sale Tax" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_print_journal_menu -#: model:ir.actions.report.xml,name:account.action_report_journal -#: model:ir.ui.menu,name:account.menu_print_journal -msgid "Sale/Purchase Journal" -msgstr "" - -#. module: account -#: selection:account.tax,type_tax_use:0 -#: selection:account.tax.template,type_tax_use:0 -#: model:ir.ui.menu,name:account.menu_finance_receivables -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Sales" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_sale_tax_rate -msgid "Sales Tax(%)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_sale_tax_rate -msgid "Sales tax (%)" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_user_id -#: model:ir.model.fields,field_description:account.field_account_invoice_user_id -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "Salesperson" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_journal_search -msgid "Search Account Journal" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_template_search -msgid "Search Account Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -msgid "Search Bank Statements" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_line_search -msgid "Search Bank Statements Line" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_chart_template_seacrh -msgid "Search Chart of Account Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -msgid "Search Invoice" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Search Journal Items" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Search Move" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Search Operations" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -msgid "Search Tax Templates" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_search -msgid "Search Taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_type -msgid "" -"Select 'Sale' for customer invoices journals.\n" -"Select 'Purchase' for vendor bills journals.\n" -"Select 'Cash' or 'Bank' for journals that are used in customer or vendor " -"payments.\n" -"Select 'General' for miscellaneous operations journals." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1759 -#, python-format -msgid "Select Partner" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:234 -#, python-format -msgid "Select a partner or choose a counterpart" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_payment_term_line_value -msgid "Select here the kind of valuation related to this payment term line." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_invoice_state.py:42 -#, python-format -msgid "" -"Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' " -"or 'Done' state." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_invoice_state.py:21 -#, python-format -msgid "" -"Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" -"Forma' state." -msgstr "" - -#. module: account -#: selection:account.abstract.payment,payment_type:0 -#: selection:account.payment,payment_type:0 -#: selection:account.register.payments,payment_type:0 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Send Money" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Send by Email" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Sending customer statements (outstanding invoices) manually during the " -"transition period" -msgstr "" - -#. module: account -#: selection:account.payment,state:0 -#: model:ir.model.fields,field_description:account.field_account_invoice_sent -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Sent" -msgstr "" - -#. module: account -#: selection:res.company,fiscalyear_last_month:0 -msgid "September" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_sequence -#: model:ir.model.fields,field_description:account.field_account_financial_report_sequence -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_sequence -#: model:ir.model.fields,field_description:account.field_account_invoice_line_sequence -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_sequence -#: model:ir.model.fields,field_description:account.field_account_journal_sequence -#: model:ir.model.fields,field_description:account.field_account_operation_template_sequence -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_sequence -#: model:ir.model.fields,field_description:account.field_account_tax_group_sequence -#: model:ir.model.fields,field_description:account.field_account_tax_sequence -#: model:ir.model.fields,field_description:account.field_account_tax_template_sequence -msgid "Sequence" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_active -#: model:ir.model.fields,help:account.field_account_tax_template_active -msgid "Set active to false to hide the tax without removing it." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Set the default Sales and Purchase taxes" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_chart_template_visible -msgid "" -"Set this to False if you don't want this template to be used actively in the " -"wizard that generate Chart of Accounts from templates, this is useful when " -"you want to generate accounts of this template only when loading its child " -"template." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Set to Draft" -msgstr "" - -#. module: account -#: model:ir.ui.menu,name:account.menu_account_config -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -msgid "Settings" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_code -msgid "Short Code" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_tax_tree -msgid "Short Name" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:289 -#, python-format -msgid "Show" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_display_on_footer -msgid "Show in Invoices Footer" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_journal_show_on_dashboard -msgid "Show journal on dashboard" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:19 -#, python-format -msgid "Show more... (" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_financial_report_sign -msgid "Sign on Reports" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Simplify your cash, checks, or credit cards deposits with an integrated " -"batch payment function." -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Smallest Text" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_sortby -msgid "Sort by" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_origin -#: model:ir.model.fields,field_description:account.field_account_invoice_origin -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Source Document" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_date_from -#: model:ir.model.fields,field_description:account.field_account_balance_report_date_from -#: model:ir.model.fields,field_description:account.field_account_common_account_report_date_from -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_date_from -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_date_from -#: model:ir.model.fields,field_description:account.field_account_common_report_date_from -#: model:ir.model.fields,field_description:account.field_account_print_journal_date_from -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_date_from -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_date_from -#: model:ir.model.fields,field_description:account.field_accounting_report_date_from -#: model:ir.model.fields,field_description:account.field_accounting_report_date_from_cmp -msgid "Start Date" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_balance_start -msgid "Starting Balance" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_cashbox_start_id -msgid "Starting Cashbox" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "State" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_statement_id -#: model:ir.model.fields,field_description:account.field_account_move_line_statement_id -msgid "Statement" -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:252 -#, python-format -msgid "Statement %s confirmed, journal items were created." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_line_form -msgid "Statement Line" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_line_ids -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -#: model:ir.ui.view,arch_db:account.view_bank_statement_line_tree -msgid "Statement lines" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_tree -msgid "Statements" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "States" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_states_count -msgid "States count" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_state -#: model:ir.model.fields,field_description:account.field_account_invoice_state -#: model:ir.model.fields,field_description:account.field_account_move_state -#: model:ir.model.fields,field_description:account.field_account_payment_state -#: model:ir.ui.view,arch_db:account.view_account_invoice_filter -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_bank_statement_search -#: model:ir.ui.view,arch_db:account.view_move_line_form2 -msgid "Status" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_cashbox_line_subtotal -msgid "Subtotal" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "TIN:" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "TOTAL ASSETS" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "TOTAL EQUITY" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_tag_ids -#: model:ir.model.fields,field_description:account.field_account_tax_tag_ids -msgid "Tags" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_cash_box_out -#: model:ir.ui.view,arch_db:account.cash_box_out_form -msgid "Take Money Out" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1518 -#, python-format -msgid "Take on average less than 5 seconds to reconcile a transaction." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_aged_trial_balance_target_move -#: model:ir.model.fields,field_description:account.field_account_balance_report_target_move -#: model:ir.model.fields,field_description:account.field_account_common_account_report_target_move -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_target_move -#: model:ir.model.fields,field_description:account.field_account_common_partner_report_target_move -#: model:ir.model.fields,field_description:account.field_account_common_report_target_move -#: model:ir.model.fields,field_description:account.field_account_print_journal_target_move -#: model:ir.model.fields,field_description:account.field_account_report_general_ledger_target_move -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_target_move -#: model:ir.model.fields,field_description:account.field_accounting_report_target_move -msgid "Target Moves" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:126 -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:131 -#: model:ir.model,name:account.model_account_tax -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_tax -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_tax_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_second_tax_id -#: model:ir.model.fields,field_description:account.field_account_operation_template_tax_id -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_account_tax_search -#, python-format -msgid "Tax" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:717 -#: code:addons/account/models/chart_template.py:720 -#, python-format -msgid "Tax %.2f%%" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_account_id -#: 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 "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_refund_account_id -#: model:ir.model.fields,field_description:account.field_account_tax_template_refund_account_id -msgid "Tax Account on Refunds" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -msgid "Tax Amount" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_search -msgid "Tax Application" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_tax_calculation_rounding_method -msgid "Tax Calculation Rounding Method" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_amount_type -#: model:ir.model.fields,field_description:account.field_account_tax_template_amount_type -msgid "Tax Computation" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_journal -msgid "Tax Declaration" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_name -msgid "Tax Description" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_tax_group_id -#: model:ir.model.fields,field_description:account.field_account_tax_template_tax_group_id -msgid "Tax Group" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Tax ID (VAT)" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_tax_tax -#: model:ir.actions.act_window,name:account.act_account_tax_tax_posted -#: model:ir.model.fields,field_description:account.field_account_invoice_tax_line_ids -msgid "Tax Lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_ids -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_template_tax_ids -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "Tax Mapping" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_name -#: model:ir.model.fields,field_description:account.field_account_tax_template_name -msgid "Tax Name" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_tax_template_type_tax_use -#: model:ir.model.fields,field_description:account.field_account_tax_type_tax_use -msgid "Tax Scope" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_template_tax_src_id -msgid "Tax Source" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -msgid "Tax Template" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_tax_template_ids -msgid "Tax Template List" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_tax_template_form -msgid "Tax Templates" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_tax_calculation_rounding_method -msgid "Tax calculation rounding method" -msgstr "" - -#. module: account -#: sql_constraint:account.tax:0 sql_constraint:account.tax.template:0 -msgid "Tax names must be unique !" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_tax_src_id -msgid "Tax on Product" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_tax_tax_dest_id -msgid "Tax to Apply" -msgstr "" - -#. module: account -#: selection:account.account.tag,applicability:0 -#: model:account.tax.group,name:account.tax_group_taxes -#: model:ir.actions.act_window,name:account.action_tax_form -#: model:ir.model.fields,field_description:account.field_account_invoice_line_invoice_line_tax_ids -#: model:ir.model.fields,field_description:account.field_account_move_line_tax_ids -#: model:ir.ui.menu,name:account.menu_action_tax_form -#: model:ir.ui.view,arch_db:account.account_planner -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.report_invoice_document -#: model:ir.ui.view,arch_db:account.view_account_config_settings -#: model:ir.ui.view,arch_db:account.view_move_line_form -msgid "Taxes" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_fiscal_position_tax -msgid "Taxes Fiscal Position" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_template_form -msgid "Taxes Mapping" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -msgid "Taxes used in Purchases" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_tax_template_search -msgid "Taxes used in Sales" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_balance -msgid "" -"Technical field holding the debit - credit in order to open meaningful graph " -"views from reports" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_balance_cash_basis -msgid "" -"Technical field holding the debit_cash_basis - credit_cash_basis in order to " -"open meaningful graph views from reports" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_move_name -msgid "" -"Technical field holding the number given to the invoice, automatically set " -"when the invoice is validated then stored to set the same number again if " -"the invoice is cancelled, set to draft and re-validated." -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_refund_refund_only -msgid "Technical field to hide filter_refund in case invoice is partially paid" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_journal_type -#: model:ir.model.fields,help:account.field_account_payment_has_invoices -msgid "Technical field used for usability purposes" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_matched_percentage -msgid "Technical field used in cash basis method" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_abstract_payment_payment_method_code -#: model:ir.model.fields,help:account.field_account_payment_payment_method_code -#: model:ir.model.fields,help:account.field_account_register_payments_payment_method_code -msgid "" -"Technical field used to adapt the interface to the payment type selected." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_abstract_payment_hide_payment_method -#: model:ir.model.fields,help:account.field_account_payment_hide_payment_method -#: model:ir.model.fields,help:account.field_account_register_payments_hide_payment_method -msgid "" -"Technical field used to hide the payment method if the selected journal has " -"only one available which is 'manual'" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_chart_template_id -msgid "Template" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_fiscal_position_account_template -msgid "Template Account Fiscal Mapping" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_fiscal_position_tax_template -msgid "Template Tax Fiscal Position" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_fiscal_position_template -msgid "Template for Fiscal Position" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_template_transfer_account_id -msgid "Template transfer account id" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_chart_template -msgid "Templates for Account Chart" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_account_template -msgid "Templates for Accounts" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_tax_template -msgid "Templates for Taxes" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_payment_term_line_form -msgid "Term Type" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_ids -#: model:ir.ui.view,arch_db:account.view_payment_term_form -msgid "Terms" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Terms & Conditions" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "Terms and conditions..." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:212 -#, python-format -msgid "That's on average" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_internal_type -#: model:ir.model.fields,help:account.field_account_account_type_type -msgid "" -"The 'Internal Type' is used for features available on different types of " -"accounts: liquidity type is for cash or bank accounts, payable/receivable is " -"for vendor/customer accounts." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"The Advisors have full access to the Accounting application, \n" -" plus access to miscellaneous " -"operations such as salary and asset management." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"The Deposit Ticket module can also be used to settle credit card batch made " -"of multiple transactions." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:852 -#, python-format -msgid "The account %s (%s) is not marked as reconciliable !" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_bank_journal_id -msgid "The accounting journal corresponding to this bank account." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_line_amount_currency -#: model:ir.model.fields,help:account.field_account_move_line_amount_currency -msgid "" -"The amount expressed in an optional other currency if it is a multi-currency " -"entry." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_analytic_line_amount_currency -msgid "" -"The amount expressed in the related account currency if not equal to the " -"company one." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:421 -#, python-format -msgid "" -"The amount expressed in the secondary currency must be positive when account " -"is debited and negative when account is credited." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:571 -#, python-format -msgid "" -"The application scope of taxes in a group must be either the same as the " -"group or \"None\"." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:279 -#, python-format -msgid "" -"The bank account of a bank journal must belong to the same company (%s)." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_statement_id -msgid "The bank statement used for bank reconciliation" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_company_chart_template_id -msgid "The chart template for the company (if any)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_check -msgid "The closing balance is different than the computed one!" -msgstr "" - -#. module: account -#: sql_constraint:account.journal:0 -msgid "The code and name of the journal must be unique per company !" -msgstr "" - -#. module: account -#: sql_constraint:account.account:0 -msgid "The code of the account must be unique per company !" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_commercial_partner_id -msgid "" -"The commercial entity that will be used on Journal Entries for this invoice" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_currency_id -msgid "The currency used to enter statement" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_invoice_tree1 -msgid "" -"The discussions with your customer are automatically displayed at\n" -" the bottom of each invoice." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:184 -#, python-format -msgid "" -"The ending balance is incorrect !\n" -"The expected balance (%s) is different from the computed one. (%s)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"The first step is to set up your company information. This is mostly used " -"for invoicing." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_property_account_position_id -msgid "" -"The fiscal position will determine taxes and accounts used for the partner." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:283 -#, python-format -msgid "The holder of a journal's bank account must be the company (%s)." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_line_account_id -msgid "The income or expense account related to the selected product." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:450 -#, python-format -msgid "The journal %s does not have a sequence, please specify one." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_code -msgid "The journal entries of this journal will be named using this prefix." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_payment_term_form -msgid "" -"The last line's computation type should be \"Balance\" to ensure that the " -"whole amount will be allocated." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_move_id -msgid "The move of this entry line." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"The multi-currency option allows you to send or receive invoices \n" -" in difference currencies, set up foreign bank " -"accounts \n" -" and run reports on your foreign financial activities." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_name -msgid "The name that will be used on account move lines" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_line_currency_id -#: model:ir.model.fields,help:account.field_account_move_line_currency_id -msgid "The optional other currency if it is a multi-currency entry." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_quantity -msgid "" -"The optional quantity expressed by this line, eg: number of product sold. " -"The quantity is not a legal requirement but is very useful for some reports." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_account_id -msgid "The partner account used for this invoice." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_has_unreconciled_entries -msgid "" -"The partner has at least one unreconciled debit and credit since last time " -"the invoices & payments matching was performed." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:854 -#, python-format -msgid "" -"The partner has to be the same on all lines for receivable and payable " -"accounts!" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_reference -msgid "The partner reference of this invoice." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:334 -#, python-format -msgid "The payment cannot be processed because the invoice is not open!" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_amount_residual_currency -msgid "" -"The residual amount on a journal item expressed in its currency (possibly " -"not the company currency)." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_amount_residual -msgid "" -"The residual amount on a journal item expressed in the company currency." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:406 -#, fuzzy, python-format -msgid "" -"The selected account of your Journal Entry forces to provide a secondary " -"currency. You should remove the secondary currency on the account." -msgstr "" -"The selected account of your Journal Entry forces to provide a secondary " -"currency. You should remove the secondary currency on the account." - -#. module: account -#: code:addons/account/models/account_invoice.py:1245 -#, python-format -msgid "" -"The selected unit of measure is not compatible with the unit of measure of " -"the product." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_tax_sequence -#: model:ir.model.fields,help:account.field_account_tax_template_sequence -msgid "" -"The sequence field is used to define order in which the tax lines are " -"applied." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:452 -#, python-format -msgid "The sequence of journal %s is deactivated." -msgstr "" - -#. module: account -#: code:addons/account/models/account_bank_statement.py:172 -#, python-format -msgid "" -"There is no account defined on the journal %s for %s involved in a cash " -"difference." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_validate_account_move.py:18 -#, python-format -msgid "There is no journal items in draft state to post." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:308 -#: code:addons/account/static/src/xml/account_reconciliation.xml:315 -#, python-format -msgid "There is nothing to reconcile." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1494 -#, python-format -msgid "There you go, it's all done !" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_template_user_type_id -msgid "" -"These types are defined according to your country. The type contains more " -"information about the account and its specificities." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "These users handle billing specifically." -msgstr "" - -#. module: account -#: code:addons/account/models/account_journal_dashboard.py:101 -#, python-format -msgid "This Week" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "This Year" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_product_template_property_account_expense_id -msgid "" -"This account will be used for invoices instead of the default one to value " -"expenses for the current product." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_product_template_property_account_income_id -msgid "" -"This account will be used for invoices instead of the default one to value " -"sales for the current product." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_product_category_property_account_expense_categ_id -msgid "This account will be used for invoices to value expenses." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_product_category_property_account_income_categ_id -msgid "This account will be used for invoices to value sales." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_property_account_payable_id -msgid "" -"This account will be used instead of the default one as the payable account " -"for the current partner" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_property_account_receivable_id -msgid "" -"This account will be used instead of the default one as the receivable " -"account for the current partner" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_budget -msgid "" -"This allows accountants to manage analytic and crossovered budgets. Once the " -"master budgets and the budgets are defined, the project managers can set the " -"planned amount on each analytic account.\n" -"-This installs the module account_budget." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_reports_followup -msgid "" -"This allows to automate letters for unpaid invoices, with multi-level " -"recalls.\n" -"-This installs the module account_reports_followup." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_module_account_batch_deposit -msgid "" -"This allows you to group received checks before you deposit them to the " -"bank.\n" -"-This installs the module account_batch_deposit." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_complete_tax_set -msgid "" -"This boolean helps you to choose if you want to propose to the user to " -"encode\n" -" the sales and purchase rates or use the usual m2o fields. This " -"last choice assumes that\n" -" the set of tax defined for the chosen template is complete" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_chart_template_complete_tax_set -msgid "" -"This boolean helps you to choose if you want to propose to the user to " -"encode the sale and purchase rates or choose from list of taxes. This last " -"choice assumes that the set of tax defined on this template is complete" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_wizard_multi_charts_accounts_complete_tax_set -msgid "" -"This boolean helps you to choose if you want to propose to the user to " -"encode the sales and purchase rates or use the usual m2o fields. This last " -"choice assumes that the set of tax defined for the chosen template is " -"complete" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_expects_chart_of_accounts -msgid "This company has its own chart of accounts" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_sequence_id -msgid "" -"This field contains the information related to the numbering of the journal " -"entries of this journal." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_refund_sequence_id -msgid "" -"This field contains the information related to the numbering of the refund " -"entries of this journal." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_operation_template_journal_id -#: model:ir.model.fields,help:account.field_account_operation_template_second_journal_id -msgid "This field is ignored in a bank statement reconciliation." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_date_maturity -msgid "" -"This field is used for payable and receivable journal entries. You can put " -"the limit date for the payment of this line." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_line_partner_name -msgid "" -"This field is used to record the third party name when importing bank " -"statement in electronic format, when the partner doesn't exist yet in the " -"database (or cannot be found)." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"This guide will help you get started with Odoo Accounting.\n" -" Once you're done, you'll benefit from:" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.open_account_journal_dashboard_kanban -msgid "" -"This is the accounting dashboard. If you have not yet\n" -" installed a chart of account, please install one first." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:319 -#, python-format -msgid "" -"This journal already contains items, therefore you cannot modify its company." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:322 -#, python-format -msgid "" -"This journal already contains items, therefore you cannot modify its short " -"name." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_accounting_report_label_filter -msgid "" -"This label will be displayed on report to show the balance computed for the " -"given comparison filter." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_accounting_report_debit_credit -msgid "" -"This option allows you to get more details about the way your balances are " -"computed. Because it is space consuming, we do not allow to use it while " -"doing a comparison." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_template_chart_template_id -msgid "" -"This optional field allow you to link an account template to a specific " -"chart template that may differ from the one its root parent belongs to. This " -"allow you to define chart templates that extend another and complete it with " -"few new accounts (You don't need to define the whole structure that is " -"common to both several times)." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:205 -#, python-format -msgid "" -"This page displays all the bank transactions that are to be reconciled and " -"provides with a neat interface to do so." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:153 -#, python-format -msgid "This payment is registered but not reconciled." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_property_supplier_payment_term_id -msgid "" -"This payment term will be used instead of the default one for purchase " -"orders and vendor bills" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_property_payment_term_id -msgid "" -"This payment term will be used instead of the default one for sale orders " -"and customer invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_default_purchase_tax_id -msgid "This purchase tax will be assigned by default on new products." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"This role is best suited for managing the day to day accounting operations:" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_config_settings_default_sale_tax_id -msgid "This sale tax will be assigned by default on new products." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_line_account_id -msgid "" -"This technical field can be used at the statement line creation/import time " -"in order to avoid the reconciliation process on it later on. The statement " -"line will simply create a counterpart on this account" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_validate_account_move -msgid "" -"This wizard will validate all journal entries selected. Once journal entries " -"are validated, you can not update them anymore." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_account_operation_template -msgid "" -"Those can be used to quickly create a journal items when reconciling\n" -" a bank statement or an account." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:20 -#, python-format -msgid "Tip: Hit CTRL-Enter to reconcile all the balanced items in the sheet." -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Title 2 (bold)" -msgstr "" - -#. module: account -#: selection:account.financial.report,style_overwrite:0 -msgid "Title 3 (bold, smaller)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -msgid "To Invoice" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_tree -msgid "To Pay" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"To manage the tax applied when invoicing a Company, Odoo uses the concept of " -"Fiscal Position: they serve to automatically set the right tax and/or " -"account according to the customer country and state." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:848 -#, python-format -msgid "To reconcile the entries company should be the same for all entries!" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "To use the <strong>multi-currency option:</strong>" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:145 -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_total -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_total_company_signed -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_total_signed -#: model:ir.ui.view,arch_db:account.report_agedpartnerbalance -#: model:ir.ui.view,arch_db:account.view_account_bnk_stmt_cashbox -#, python-format -msgid "Total" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_tree -msgid "Total Amount" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -#: model:ir.ui.view,arch_db:account.view_move_line_tree -msgid "Total Credit" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -#: model:ir.ui.view,arch_db:account.view_move_line_tree -msgid "Total Debit" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_total_invoiced -msgid "Total Invoiced" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_debit -msgid "Total Payable" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_credit -msgid "Total Receivable" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_residual -#: model:ir.model.fields,field_description:account.field_account_invoice_report_user_currency_residual -msgid "Total Residual" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_price_total -#: model:ir.model.fields,field_description:account.field_account_invoice_report_user_currency_price_total -msgid "Total Without Tax" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_amount_total_company_signed -#: model:ir.model.fields,help:account.field_account_invoice_line_price_subtotal_signed -msgid "Total amount in the currency of the company, negative for credit notes." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_invoice_amount_total_signed -msgid "Total amount in the currency of the invoice, negative for credit notes." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_credit -msgid "Total amount this customer owes you." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_res_partner_debit -msgid "Total amount you have to pay to this vendor." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_total_entry_encoding -msgid "Total of transaction lines." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:263 -#: model:ir.ui.view,arch_db:account.account_journal_dashboard_kanban_view -#, python-format -msgid "Transaction" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -msgid "Transactions" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_bank_statement_total_entry_encoding -msgid "Transactions Subtotal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_transfer_account_id -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_transfer_account_id -msgid "Transfer Account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_destination_journal_id -msgid "Transfer To" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:218 -#, python-format -msgid "Transfer account not defined on the company." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:423 -#, python-format -msgid "Transfer from %s" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:506 -#, python-format -msgid "Transfer to %s" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_payment_search -msgid "Transfers" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_balance_menu -#: model:ir.actions.report.xml,name:account.action_report_trial_balance -#: model:ir.ui.menu,name:account.menu_general_Balance_report -msgid "Trial Balance" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_balance_report -msgid "Trial Balance Report" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_account_internal_type -#: model:ir.model.fields,field_description:account.field_account_account_template_user_type_id -#: model:ir.model.fields,field_description:account.field_account_account_type_type -#: model:ir.model.fields,field_description:account.field_account_account_user_type_id -#: model:ir.model.fields,field_description:account.field_account_bank_statement_journal_type -#: model:ir.model.fields,field_description:account.field_account_financial_report_type -#: model:ir.model.fields,field_description:account.field_account_invoice_report_type -#: model:ir.model.fields,field_description:account.field_account_invoice_type -#: model:ir.model.fields,field_description:account.field_account_journal_type -#: model:ir.model.fields,field_description:account.field_account_move_line_user_type_id -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_value -msgid "Type" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:775 -#, python-format -msgid "Undistributed Profits/Losses" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_line_price_unit -#: model:ir.ui.view,arch_db:account.report_invoice_document -msgid "Unit Price" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_analytic_line_product_uom_id -#: model:ir.model.fields,field_description:account.field_account_invoice_line_uom_id -#: model:ir.model.fields,field_description:account.field_account_move_line_product_uom_id -msgid "Unit of Measure" -msgstr "" - -#. module: account -#: code:addons/account/report/account_aged_partner_balance.py:264 -#, python-format -msgid "Unknown Partner" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Unless you are starting a new business, you probably have a list of " -"customers and vendors you'd like to import." -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened -msgid "Unpaid Invoices" -msgstr "" - -#. module: account -#: selection:account.move,state:0 -#: model:ir.ui.view,arch_db:account.view_account_move_filter -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Unposted" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_filter -msgid "Unposted Journal Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Unposted Journal Items" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:81 -#: model:ir.ui.view,arch_db:account.account_unreconcile_view -#, python-format -msgid "Unreconcile" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.action_account_unreconcile -msgid "Unreconcile Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_unreconcile_view -msgid "Unreconcile Transactions" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Unreconciled" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled -msgid "Unreconciled Entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_move_line_filter -msgid "Unreconciled Journal Items" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_untaxed -#: model:ir.model.fields,field_description:account.field_account_invoice_amount_untaxed_signed -msgid "Untaxed Amount" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Use" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_use_anglo_saxon -#: model:ir.model.fields,field_description:account.field_wizard_multi_charts_accounts_use_anglo_saxon -msgid "Use Anglo-Saxon Accounting" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_chart_template_use_anglo_saxon -msgid "Use Anglo-Saxon accounting" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_sepa -#, fuzzy -msgid "Use SEPA payments" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_reversal_journal_id -msgid "Use Specific Journal" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_company_anglo_saxon_accounting -msgid "Use anglo-saxon accounting" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_config_settings_module_account_batch_deposit -msgid "Use batch deposit" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"Use in conjunction with contracts to calculate your monthly revenue for " -"multi-month contracts." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -msgid "" -"Use this option if you want to cancel an invoice and create a new\n" -" one. The credit note will be created, " -"validated and reconciled\n" -" with the current invoice. A new, draft, " -"invoice will be created \n" -" so that you can edit it." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -msgid "" -"Use this option if you want to cancel an invoice you should not\n" -" have issued. The credit note will be " -"created, validated and reconciled\n" -" with the invoice. You will not be able to " -"modify the credit note." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_account_type_include_initial_balance -msgid "" -"Used in reports to know if we should consider journal items from the " -"beginning of time instead of from the fiscal year only. Account types that " -"should be reset to zero at each new fiscal year (like expenses, revenue..) " -"should not have this option set." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_bank_statement_reference -msgid "" -"Used to hold the reference of the external mean that created this statement " -"(name of imported file, reference of online synchronization...)" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_sequence -msgid "Used to order Journals in the dashboard view" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_loss_account_id -msgid "" -"Used to register a loss when the ending balance of a cash register differs " -"from what the system computes" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_profit_account_id -msgid "" -"Used to register a profit when the ending balance of a cash register differs " -"from what the system computes" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_analytic_line_company_currency_id -#: model:ir.model.fields,help:account.field_account_bank_statement_line_journal_currency_id -#: model:ir.model.fields,help:account.field_account_move_line_company_currency_id -#: model:ir.model.fields,help:account.field_account_partial_reconcile_company_currency_id -#: model:ir.model.fields,help:account.field_res_partner_currency_id -msgid "Utility field to express amount currency" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_vat_required -msgid "VAT required" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1869 -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.view_account_payment_from_invoices -#: model:ir.ui.view,arch_db:account.view_account_payment_invoice_form -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -#, python-format -msgid "Validate" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_validate_account_move -msgid "Validate Account Move" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Validate purchase orders and control vendor bills by departments." -msgstr "" - -#. module: account -#: selection:account.bank.statement,state:0 -#: model:mail.message.subtype,name:account.mt_invoice_validated -msgid "Validated" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_payment_term_line_value_amount -msgid "Value" -msgstr "" - -#. module: account -#: selection:account.abstract.payment,partner_type:0 -#: selection:account.payment,partner_type:0 -#: selection:account.register.payments,partner_type:0 -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_tree -#: model:ir.ui.view,arch_db:account.view_account_invoice_report_search -#: model:ir.ui.view,arch_db:account.view_account_supplier_payment_tree -msgid "Vendor" -msgstr "" - -#. module: account -#: selection:account.invoice,type:0 selection:account.invoice.report,type:0 -#: code:addons/account/models/account_invoice.py:871 -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -#: model:ir.ui.view,arch_db:account.report_invoice_document -#, python-format -msgid "Vendor Bill" -msgstr "" - -#. module: account -#: code:addons/account/models/chart_template.py:178 -#: model:ir.actions.act_window,name:account.action_invoice_tree2 -#: model:ir.ui.menu,name:account.menu_action_invoice_tree2 -#: model:ir.ui.view,arch_db:account.account_planner -#, python-format -msgid "Vendor Bills" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Vendor Flow" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:488 -#, fuzzy, python-format -msgid "Vendor Payment" -msgstr "Minus Payment" - -#. module: account -#: model:ir.model.fields,field_description:account.field_res_partner_property_supplier_payment_term_id -msgid "Vendor Payment Term" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_reference -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "Vendor Reference" -msgstr "" - -#. module: account -#: selection:account.invoice,type:0 selection:account.invoice.report,type:0 -#: code:addons/account/models/account_invoice.py:873 -#: code:addons/account/models/account_payment.py:486 -#: model:ir.ui.view,arch_db:account.report_invoice_document -#, python-format -msgid "Vendor Refund" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_product_template_supplier_taxes_id -msgid "Vendor Taxes" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:295 -#: model:ir.ui.menu,name:account.menu_account_supplier -#, python-format -msgid "Vendors" -msgstr "" - -#. module: account -#: selection:account.financial.report,type:0 -msgid "View" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_move_form -msgid "View reconciled entries" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "View supported banks" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_invoice_report_volume -msgid "Volume" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1183 -#: code:addons/account/models/account_invoice.py:1244 -#, python-format -msgid "Warning!" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"We can handle the whole import process\n" -" for you: simply send your Odoo " -"project\n" -" manager a CSV file containing all " -"your\n" -" data." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"We can handle the whole import process\n" -" for you: simply send your Odoo " -"project\n" -" manager a CSV file containing all " -"your\n" -" products." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "We hope this tool helped you implement our accounting application." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Welcome" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "" -"When inviting users, you will need to define which access rights they are " -"allowed to have. \n" -" This is done by assigning a role to each user." -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_journal_show_on_dashboard -msgid "Whether this journal should be displayed on the dashboard or not" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1505 -#, python-format -msgid "Whew, that was fast !" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_common_journal_report_amount_currency -#: model:ir.model.fields,field_description:account.field_account_print_journal_amount_currency -#: model:ir.model.fields,field_description:account.field_account_report_partner_ledger_amount_currency -msgid "With Currency" -msgstr "" - -#. module: account -#: selection:account.balance.report,display_account:0 -#: selection:account.common.account.report,display_account:0 -#: selection:account.report.general.ledger,display_account:0 -msgid "With balance is not equal to 0" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "With balance not equal to zero" -msgstr "" - -#. module: account -#: selection:account.balance.report,display_account:0 -#: selection:account.common.account.report,display_account:0 -#: selection:account.report.general.ledger,display_account:0 -#: model:ir.ui.view,arch_db:account.report_generalledger -#: model:ir.ui.view,arch_db:account.report_trialbalance -msgid "With movements" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_operation_template_search -msgid "With tax" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:889 -#: model:ir.ui.view,arch_db:account.view_account_move_line_reconcile_full -#, python-format -msgid "Write-Off" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_journal_id -msgid "Write-Off Journal" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_move_line_reconcile_writeoff -msgid "Write-Off Move" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff_writeoff_acc_id -msgid "Write-Off account" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_move_line_reconcile_writeoff -msgid "Write-Off amount" -msgstr "" - -#. module: account -#: sql_constraint:account.move.line:0 -msgid "Wrong credit or debit value in accounting entry !" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:846 -#, python-format -msgid "You are trying to reconcile some entries that are already reconciled!" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_move_line_blocked -msgid "" -"You can check this box to mark this journal item as a litigation with the " -"associated partner" -msgstr "" - -#. module: account -#: model:ir.actions.act_window,help:account.action_invoice_tree2 -msgid "" -"You can control the invoice from your vendor according to\n" -" what you purchased or received." -msgstr "" - -#. module: account -#: code:addons/account/models/res_config.py:238 -#, python-format -msgid "" -"You can not change a company chart of account once it has been installed" -msgstr "" - -#. module: account -#: code:addons/account/models/product.py:51 -#, python-format -msgid "" -"You can not change the unit of measure of a product that has been already " -"used in an account journal item. If you need to change the unit of measure, " -"you may deactivate this product." -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:317 -#, python-format -msgid "You can not delete a payment that is already posted" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:128 -#, python-format -msgid "You can only register payments for open invoices" -msgstr "" - -#. module: account -#: model:ir.model.fields,help:account.field_account_financial_report_style_overwrite -msgid "" -"You can set up here the format you want this record to be displayed. If you " -"leave the automatic formatting, it will be computed based on the financial " -"reports hierarchy (auto-computed field 'level')." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:179 -#, python-format -msgid "" -"You cannot add/modify entries prior to and inclusive of the lock date %s" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:181 -#, python-format -msgid "" -"You cannot add/modify entries prior to and inclusive of the lock date %s. " -"Check the company settings or ask someone with the 'Adviser' role" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:852 -#, python-format -msgid "" -"You cannot cancel an invoice which is partially paid. You need to " -"unreconcile related payment entries first." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:162 -#, python-format -msgid "" -"You cannot change the owner company of an account that already contains " -"journal items." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1138 -#, python-format -msgid "You cannot change the tax, you should remove and recreate lines." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:413 -#, python-format -msgid "" -"You cannot create journal items with a secondary currency without filling " -"both 'currency' and 'amount currency' field." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:438 -#, python-format -msgid "" -"You cannot delete an invoice after it has been validated (and received a " -"number). You can set it back to \"Draft\" state and modify its content, then " -"re-confirm it." -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:436 -#, python-format -msgid "" -"You cannot delete an invoice which is not draft or cancelled. You should " -"refund it instead." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:168 -#, python-format -msgid "You cannot do that on an account that contains journal items." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1174 -#, python-format -msgid "" -"You cannot do this modification on a posted journal entry, you can just " -"change some non legal fields. You must revert the journal entry to cancel " -"it.\n" -"%s." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1176 -#, python-format -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 "" - -#. module: account -#: code:addons/account/models/account.py:334 -#, python-format -msgid "" -"You cannot empty the account number once set.\n" -"If you would like to delete the account number, you can do it from the Bank " -"Accounts list." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:96 -#, python-format -msgid "" -"You cannot have a receivable/payable account that is not reconciliable. " -"(account code: %s)" -msgstr "" - -#. module: account -#: code:addons/account/models/account_payment.py:132 -#, python-format -msgid "You cannot mix customer invoices and vendor bills in a single payment." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/js/account_reconciliation_widgets.js:1791 -#, python-format -msgid "You cannot mix items from receivable and payable accounts." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:146 -#, python-format -msgid "" -"You cannot modify a posted entry of this journal.\n" -"First you should set the journal to allow cancelling entries." -msgstr "" - -#. module: account -#: code:addons/account/wizard/pos_box.py:36 -#, python-format -msgid "You cannot put/take money in/out for a bank statement which is closed." -msgstr "" - -#. module: account -#: code:addons/account/models/account.py:173 -#, python-format -msgid "" -"You cannot remove/deactivate an account which is set on a customer or vendor." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1013 -#: code:addons/account/models/account_move.py:1140 -#, python-format -msgid "You cannot use deprecated account." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1069 -#, python-format -msgid "" -"You cannot use this general account in this journal, check the tab 'Entry " -"Controls' on the related journal." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "You have" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_report_general_ledger.py:21 -#, python-format -msgid "You must define a Start Date" -msgstr "" - -#. module: account -#: code:addons/account/models/account_invoice.py:1184 -#, python-format -msgid "You must first select a partner!" -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_report_aged_partner_balance.py:26 -#, python-format -msgid "You must set a period length greater than 0." -msgstr "" - -#. module: account -#: code:addons/account/wizard/account_report_aged_partner_balance.py:28 -#, python-format -msgid "You must set a start date." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1321 -#, python-format -msgid "" -"You should configure the 'Exchange Rate Journal' in the accounting settings, " -"to manage automatically the booking of accounting entries related to " -"differences between exchange rates." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1323 -#, python-format -msgid "" -"You should configure the 'Gain Exchange Rate Account' in the accounting " -"settings, to manage automatically the booking of accounting entries related " -"to differences between exchange rates." -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:1325 -#, python-format -msgid "" -"You should configure the 'Loss Exchange Rate Account' in the accounting " -"settings, to manage automatically the booking of accounting entries related " -"to differences between exchange rates." -msgstr "" - -#. module: account -#: code:addons/account/wizard/pos_box.py:49 -#: code:addons/account/wizard/pos_box.py:67 -#, python-format -msgid "" -"You should have defined an 'Internal Transfer Account' in your cash " -"register's journal!" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:214 -#, python-format -msgid "You validated" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_invoice_refund -msgid "" -"You will be able to edit and validate this\n" -" credit note directly or keep it draft,\n" -" waiting for the document to be issued by\n" -" your supplier/customer." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your Bank Accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your Company" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your Customers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your Products" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your Trial Balance (list of accounts and their balances)." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your company's legal name, tax ID, address, and logo." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "Your outstanding invoices, payments, and undeposited funds." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_position_form -msgid "Zip Range" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_zip_from -msgid "Zip Range From" -msgstr "" - -#. module: account -#: model:ir.model.fields,field_description:account.field_account_fiscal_position_zip_to -msgid "Zip Range To" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_analytic_line -msgid "account analytic line" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_bank_accounts_wizard -msgid "account.bank.accounts.wizard" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_config_settings -msgid "account.config.settings" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_account_tax_group -msgid "account.tax.group" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "accounting settings" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "activate this feature" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:297 -#, python-format -msgid "all" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_payment.xml:17 -#, python-format -msgid "assign to invoice" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -msgid "auto..." -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_cash_box_in -msgid "cash.box.in" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_cash_box_out -msgid "cash.box.out" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_form -msgid "code" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "create a journal entry" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:294 -#, python-format -msgid "customers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_operation_template_form -msgid "e.g. Bank Fees" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_account_config_settings -msgid "e.g. sales@odoo.com" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "fast recording interface" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "first)" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "for this customer. You can allocate them to mark this invoice as paid." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "for this supplier. You can allocate them to mark this bill as paid." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_aged_balance_view -#: model:ir.ui.view,arch_db:account.account_common_report_view -msgid "or" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:296 -#, python-format -msgid "others" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_supplier_form -msgid "outstanding debits" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.invoice_form -msgid "outstanding payments" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:214 -#, python-format -msgid "reconciliations with the ctrl-enter shortcut." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:19 -#, python-format -msgid "remaining)" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_report_agedpartnerbalance -msgid "report.account.report_agedpartnerbalance" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_report_financial -msgid "report.account.report_financial" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_report_generalledger -msgid "report.account.report_generalledger" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_report_overdue -msgid "report.account.report_overdue" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_report_trialbalance -msgid "report.account.report_trialbalance" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_extra_reports_report_journal -msgid "report.account_extra_reports.report_journal" -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_report_account_extra_reports_report_partnerledger -msgid "report.account_extra_reports.report_partnerledger" -msgstr "" - -#. module: account -#: code:addons/account/models/account_move.py:209 -#, python-format -msgid "reversal of: " -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:212 -#, python-format -msgid "seconds per transaction." -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "send us an email" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "set company logo" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "setup your bank accounts." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:295 -#, python-format -msgid "suppliers" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "the customer list" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_partner_property_form -msgid "the parent company" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "the product list" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "to describe<br/> your experience or to suggest improvements !" -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:212 -#, python-format -msgid "to reconcile" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.account_planner -msgid "to set the balance of all of your accounts." -msgstr "" - -#. module: account -#. openerp-web -#: code:addons/account/static/src/xml/account_reconciliation.xml:212 -#, python-format -msgid "transactions." -msgstr "" - -#. module: account -#: model:ir.model,name:account.model_wizard_multi_charts_accounts -msgid "wizard.multi.charts.accounts" -msgstr "" - -#. module: account -#: model:ir.ui.view,arch_db:account.view_bank_statement_form -msgid "→ Count" -msgstr "" - -#~ msgid "" -#~ "Asset management: This allows you to manage the assets owned by a company " -#~ "or a person. It keeps track of the depreciation occurred on those assets, " -#~ "and creates account move for those depreciation lines.\n" -#~ "\n" -#~ "Revenue recognition: This allows you to manage the Revenue recognition on " -#~ "selling product. It keeps track of the installment occurred on those " -#~ "revenue recognition, and creates account move for those installment " -#~ "lines.\n" -#~ "-This installs the module account_asset. If you do not check this box, " -#~ "you will be able to do invoicing & payments, but not accounting (Journal " -#~ "Items, Chart of Accounts, ...)" -#~ msgstr "" -#~ "Asset management: This allows you to manage the assets owned by a company " -#~ "or a person. It keeps track of the depreciation occurred on those assets, " -#~ "and creates account move for those depreciation lines." - -#~ msgid "Less Cost of Sales" -#~ msgstr "Minus Cost of Sales" diff --git a/addons/account/models/account.py b/addons/account/models/account.py index 11c8f8707a1..03fc3f6203e 100644 --- a/addons/account/models/account.py +++ b/addons/account/models/account.py @@ -80,6 +80,23 @@ class AccountAccount(models.Model): ] @api.model + def default_get(self, default_fields): + """If we're creating a new account through a many2one, there are chances that we typed the account code + instead of its name. In that case, switch both fields values. + """ + default_name = self._context.get('default_name') + default_code = self._context.get('default_code') + if default_name and not default_code: + try: + default_code = int(default_name) + except ValueError: + pass + if default_code: + default_name = False + contextual_self = self.with_context(default_name=default_name, default_code=default_code) + return super(AccountAccount, contextual_self).default_get(default_fields) + + @api.model def name_search(self, name, args=None, operator='ilike', limit=100): args = args or [] domain = [] @@ -105,6 +122,7 @@ class AccountAccount(models.Model): return result @api.one + @api.returns('self', lambda value: value.id) def copy(self, default=None): default = dict(default or {}) default.update(code=_("%s (copy)") % (self.code or '')) @@ -137,8 +155,14 @@ class AccountAccount(models.Model): @api.multi def action_open_reconcile(self): + self.ensure_one() # Open reconciliation view for this account - action_context = {'show_mode_selector': False, 'account_ids': [self.id,]} + if self.internal_type == 'payable': + action_context = {'show_mode_selector': False, 'mode': 'suppliers'} + elif self.internal_type == 'receivable': + action_context = {'show_mode_selector': False, 'mode': 'customers'} + else: + action_context = {'show_mode_selector': False, 'account_ids': [self.id,]} return { 'type': 'ir.actions.client', 'tag': 'manual_reconciliation_view', @@ -262,6 +286,7 @@ class AccountJournal(models.Model): return ret @api.one + @api.returns('self', lambda value: value.id) def copy(self, default=None): default = dict(default or {}) default.update( @@ -531,6 +556,7 @@ class AccountTax(models.Model): raise ValidationError(_('The application scope of taxes in a group must be either the same as the group or "None".')) @api.one + @api.returns('self', lambda value: value.id) def copy(self, default=None): default = dict(default or {}, name=_("%s (Copy)") % self.name) return super(AccountTax, self).copy(default=default) diff --git a/addons/account/models/account_bank_statement.py b/addons/account/models/account_bank_statement.py index 9a4e7d7a907..a23e1d12b5c 100644 --- a/addons/account/models/account_bank_statement.py +++ b/addons/account/models/account_bank_statement.py @@ -345,7 +345,7 @@ class AccountBankStatementLine(models.Model): _order = "statement_id desc, sequence" _inherit = ['ir.needaction_mixin'] - name = fields.Char(string='Memo', required=True) + name = fields.Char(string='Label', required=True) date = fields.Date(required=True, default=lambda self: self._context.get('date', fields.Date.context_today(self))) amount = fields.Monetary(digits=0, currency_field='journal_currency_id') journal_currency_id = fields.Many2one('res.currency', related='statement_id.currency_id', diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index 971391b2cf3..afdd18cbeb8 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -39,7 +39,7 @@ class AccountInvoice(models.Model): _order = "date_invoice desc, number desc, id desc" @api.one - @api.depends('invoice_line_ids.price_subtotal', 'tax_line_ids.amount', 'currency_id', 'company_id') + @api.depends('invoice_line_ids.price_subtotal', 'tax_line_ids.amount', 'currency_id', 'company_id', 'date_invoice') def _compute_amount(self): self.amount_untaxed = sum(line.price_subtotal for line in self.invoice_line_ids) self.amount_tax = sum(line.amount for line in self.tax_line_ids) @@ -47,8 +47,9 @@ class AccountInvoice(models.Model): amount_total_company_signed = self.amount_total amount_untaxed_signed = self.amount_untaxed if self.currency_id and self.currency_id != self.company_id.currency_id: - amount_total_company_signed = self.currency_id.compute(self.amount_total, self.company_id.currency_id) - amount_untaxed_signed = self.currency_id.compute(self.amount_untaxed, self.company_id.currency_id) + currency_id = self.currency_id.with_context(date=self.date_invoice) + amount_total_company_signed = currency_id.compute(self.amount_total, self.company_id.currency_id) + amount_untaxed_signed = currency_id.compute(self.amount_untaxed, self.company_id.currency_id) sign = self.type in ['in_refund', 'out_refund'] and -1 or 1 self.amount_total_company_signed = amount_total_company_signed * sign self.amount_total_signed = self.amount_total * sign @@ -353,7 +354,7 @@ class AccountInvoice(models.Model): reconciled = self.filtered(lambda invoice: invoice.reconciled) not_reconciled = self - reconciled (reconciled & pre_reconciled).filtered(lambda invoice: invoice.state == 'open').action_invoice_paid() - (not_reconciled & pre_not_reconciled).filtered(lambda invoice: invoice.state == 'paid').action_invoice_cancel() + (not_reconciled & pre_not_reconciled).filtered(lambda invoice: invoice.state == 'paid').action_invoice_re_open() return res @api.model @@ -479,7 +480,9 @@ class AccountInvoice(models.Model): else: account_id = pay_account.id payment_term_id = p.property_supplier_payment_term_id.id - fiscal_position = p.property_account_position_id.id + addr = self.partner_id.address_get(['delivery']) + fiscal_position = self.env['account.fiscal.position'].get_fiscal_position(self.partner_id.id, delivery_id=addr['delivery']) + bank_id = p.bank_ids and p.bank_ids.ids[0] or False # If partner has no warning, check its company @@ -578,7 +581,7 @@ class AccountInvoice(models.Model): @api.multi def action_invoice_cancel(self): if self.filtered(lambda inv: inv.state not in ['proforma2', 'draft', 'open']): - raise UserError(_("Invoice must be in draft or Pro-forma state in order to validate it.")) + raise UserError(_("Invoice must be in draft,Pro-forma or open state in order to be cancelled.")) return self.action_cancel() @api.multi @@ -1104,19 +1107,6 @@ class AccountInvoice(models.Model): res = map(lambda l: (l[0].name, formatLang(self.env, l[1], currency_obj=currency)), res) return res - @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - for recipient in recipients: - if recipient.id in done_ids: - continue - if not recipient.user_ids: - group_data['partner'] |= recipient - elif all(recipient.user_ids.mapped('share')): - group_data['partner'] |= recipient - else: - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(AccountInvoice, self)._notification_group_recipients(message, recipients, done_ids, group_data) class AccountInvoiceLine(models.Model): _name = "account.invoice.line" diff --git a/addons/account/models/account_payment.py b/addons/account/models/account_payment.py index f86bab9fbb7..83b143330a4 100644 --- a/addons/account/models/account_payment.py +++ b/addons/account/models/account_payment.py @@ -282,7 +282,7 @@ class account_payment(models.Model): return { 'name': _('Paid Invoices'), 'view_type': 'form', - 'view_mode': 'tree', + 'view_mode': 'tree,form', 'res_model': 'account.invoice', 'view_id': False, 'type': 'ir.actions.act_window', diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py index 17a8b70d63e..7272a77345e 100644 --- a/addons/account/models/partner.py +++ b/addons/account/models/partner.py @@ -438,3 +438,12 @@ class ResPartner(models.Model): return super(ResPartner, self)._commercial_fields() + \ ['debit_limit', 'property_account_payable_id', 'property_account_receivable_id', 'property_account_position_id', 'property_payment_term_id', 'property_supplier_payment_term_id', 'last_time_entries_checked'] + + def open_partner_history(self): + ''' + This function returns an action that display invoices/refunds made for the given partners. + ''' + action = self.env.ref('account.action_invoice_refund_out_tree') + result = action.read()[0] + result['domain'] = "[('id','in',[" + ','.join(map(str, self.ids)) + "])]" + return result diff --git a/addons/account/views/account_invoice_view.xml b/addons/account/views/account_invoice_view.xml index 60e4dc3cb67..568bdead85d 100644 --- a/addons/account/views/account_invoice_view.xml +++ b/addons/account/views/account_invoice_view.xml @@ -219,7 +219,7 @@ <header> <button name="action_invoice_open" type="object" states="draft,proforma2" string="Validate" class="oe_highlight" groups="account.group_account_invoice"/> <button name="%(action_account_invoice_payment)d" type="action" states="open" string="Register Payment" groups="account.group_account_invoice" class="oe_highlight"/> - <button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' groups="account.group_account_invoice" attrs="{'invisible': ['|',('type', '=', 'in_refund'),('state','not in',('open','paid'))]}"/> + <button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' groups="account.group_account_invoice" attrs="{'invisible': ['|',('type', 'in', ['in_refund','out_refund']),('state','not in',('open','paid'))]}"/> <button name="action_invoice_cancel" type="object" states="draft,proforma2" string="Cancel Bill" groups="account.group_account_invoice"/> <button name="action_invoice_draft" states="cancel" string="Set to Draft" type="object" groups="account.group_account_invoice"/> <field name="state" widget="statusbar" statusbar_visible="draft,open,paid" /> @@ -601,7 +601,7 @@ <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field> <field eval="False" name="view_id"/> <field name="domain">[('type','in',('out_invoice', 'out_refund'))]</field> - <field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field> + <field name="context">{'type':'out_invoice', 'journal_type': 'sale'}</field> <field name="search_view_id" ref="view_account_invoice_filter"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> diff --git a/addons/account/views/account_payment_view.xml b/addons/account/views/account_payment_view.xml index 1f12802b74c..dfa029a8c67 100644 --- a/addons/account/views/account_payment_view.xml +++ b/addons/account/views/account_payment_view.xml @@ -98,7 +98,10 @@ <group> <field name="payment_type" widget="radio" attrs="{'readonly': [('state', '!=', 'draft')]}"/> <field name="partner_type" nolabel="1" widget="selection" string="" attrs="{'required': [('payment_type', 'in', ('inbound', 'outbound'))], 'invisible': [('payment_type', 'not in', ('inbound', 'outbound'))], 'readonly': [('state', '!=', 'draft')]}"/> - <field name="partner_id" nolabel="1" attrs="{'required': [('payment_type', 'in', ('inbound', 'outbound'))], 'invisible': [('payment_type', 'not in', ('inbound', 'outbound'))], 'readonly': [('state', '!=', 'draft')]}" context="{'default_is_company': True, 'default_supplier': payment_type == 'outbound', 'default_customer': payment_type == 'inbound'}"/> + <div> + <field name="partner_id" nolabel="1" attrs="{'required': [('partner_type', '=', 'customer')], 'invisible': [('partner_type', '!=', 'customer')], 'readonly': [('state', '!=', 'draft')]}" context="{'default_is_company': True, 'default_customer': True}" domain = "[('customer', '=', True)]"/> + <field name="partner_id" nolabel="1" attrs="{'required': [('partner_type', '=', 'supplier')], 'invisible': [('partner_type', '!=', 'supplier')], 'readonly': [('state', '!=', 'draft')]}" context="{'default_is_company': True, 'default_supplier': True}" domain = "[('supplier', '=', True)]"/> + </div> <field name="journal_id" widget="selection" attrs="{'readonly': [('state', '!=', 'draft')]}"/> <field name="destination_journal_id" widget="selection" attrs="{'required': [('payment_type', '=', 'transfer')], 'invisible': [('payment_type', '!=', 'transfer')], 'readonly': [('state', '!=', 'draft')]}"/> <field name="hide_payment_method" invisible="1"/> diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index 19fbd7fe0aa..23021226ace 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -13,8 +13,8 @@ <sheet> <group> <group> - <field name="name"/> <field name="code" placeholder="code"/> + <field name="name"/> <field name="user_type_id" widget="selection"/> <field name="tax_ids" widget="many2many_tags"/> <field name="tag_ids" widget="many2many_tags" domain="[('applicability', '!=', 'taxes')]" context="{'default_applicability': 'accounts'}" options=" @@ -600,11 +600,11 @@ <field name="sequence" widget="handle"/> <field name="journal_entry_ids" invisible="1"/> <field name="date" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> - <field name="ref" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> + <field name="name" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> <field name="partner_id" domain="['|',('parent_id','=',False),('is_company','=',True)]" context="{'default_supplier': 1}" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> - <field name="name" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> + <field name="ref" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }" groups="base.group_no_one"/> <field name="amount" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> <field name="journal_currency_id" invisible="1"/> <field name="amount_currency" invisible="1" attrs="{'readonly' : [('journal_entry_ids', '!=', [])] }"/> @@ -1067,7 +1067,7 @@ class="oe_link" type="object" string="-> View partially reconciled entries" - attrs="{'invisible': ['|', ('reconciled', '=', True), '&', ('matched_debit_ids', '=', []),('matched_credit_ids', '=', [])]}"> + attrs="{'invisible': ['|', ('full_reconcile_id', '=', True), '&', ('matched_debit_ids', '=', []),('matched_credit_ids', '=', [])]}"> </button> </div> </group> @@ -1128,7 +1128,7 @@ <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> <separator colspan="4" string="Status"/> <newline/> - <field name="reconciled"/> + <field name="full_reconcile_id"/> </group> </page> <page string="Analytic Lines" groups="analytic.group_analytic_accounting"> @@ -1164,7 +1164,8 @@ <field name="partner_id"/> <field name="account_id" options='{"no_open":True}' domain="[('company_id', '=', company_id)]"/> <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> - <field name="reconciled"/> + <field name="reconciled" invisible="1"/> + <field name="full_reconcile_id"/> <field name="debit" sum="Total Debit"/> <field name="credit" sum="Total Credit"/> <field name="amount_currency" readonly="True" groups="base.group_multi_currency"/> @@ -1208,7 +1209,7 @@ <filter string="Unposted" domain="[('move_id.state','=','draft')]" help="Unposted Journal Items"/> <filter name="posted" string="Posted" domain="[('move_id.state','=','posted')]" help="Posted Journal Items"/> <separator/> - <filter string="Unreconciled" domain="[('reconciled','=',False), ('account_id.reconcile','=',True)]" help="Unreconciled Journal Items" name="unreconciled"/> + <filter string="Unreconciled" domain="[('full_reconcile_id','=',False), ('account_id.reconcile','=',True)]" help="Journal items where matching number isn't set" name="unreconciled"/> <separator/> <filter string="Payable" domain="[('account_id.internal_type', '=', 'payable')]" help="From Payable accounts" name="payable"/> <filter string="Receivable" domain="[('account_id.internal_type', '=', 'receivable')]" help="From Receivable accounts" name="receivable"/> @@ -2007,5 +2008,12 @@ <menuitem id="menu_account_report_tree_hierarchy" name="Account Reports Hierarchy" parent="menu_account_reports" action="action_account_report_tree_hierarchy"/> + <!-- Manual reconciliation --> + <record id="action_manual_reconciliation" model="ir.actions.client"> + <field name="name">Manual Reconciliation</field> + <field name="tag">manual_reconciliation_view</field> + </record> + + <menuitem id="menu_action_manual_reconciliation" name="Manual Payments & Invoices Matching" parent="menu_finance_entries" action="action_manual_reconciliation" sequence="25"/> </data> </odoo> diff --git a/addons/account/views/partner_view.xml b/addons/account/views/partner_view.xml index 640541dc9f9..beda8f4797c 100644 --- a/addons/account/views/partner_view.xml +++ b/addons/account/views/partner_view.xml @@ -96,11 +96,11 @@ <field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/> <field name="arch" type="xml"> <div name="button_box" position="inside"> - <button type="action" + <button type="object" class="oe_stat_button" id="invoice_button" icon="fa-pencil-square-o" - name="%(account.action_invoice_refund_out_tree)d" + name="open_partner_history" attrs="{'invisible': [('customer', '=', False)]}" context="{'search_default_partner_id': active_id,'default_partner_id': active_id}"> <div class="o_form_field o_stat_info"> diff --git a/addons/account/views/report_agedpartnerbalance.xml b/addons/account/views/report_agedpartnerbalance.xml index 8681931febb..8fa10c8df90 100644 --- a/addons/account/views/report_agedpartnerbalance.xml +++ b/addons/account/views/report_agedpartnerbalance.xml @@ -4,7 +4,7 @@ <t t-call="report.html_container"> <t t-call="report.internal_layout"> <div class="page"> - <h2>Aged Trial Balance</h2> + <h2>Aged Partner Balance</h2> <div class="row mt32"> <div class="col-xs-3"> diff --git a/addons/account/views/tax_adjustments.xml b/addons/account/views/tax_adjustments.xml index b8247d38a7a..5a6fa13e98d 100644 --- a/addons/account/views/tax_adjustments.xml +++ b/addons/account/views/tax_adjustments.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <record id="tax_adjustments_form" model="ir.actions.act_window"> - <field name="name">Tax Adjustments</field> + <field name="name">Make Manual Tax Adjustments</field> <field name="res_model">tax.adjustments.wizard</field> <field name="view_type">form</field> <field name="view_mode">form</field> + <field name="target">new</field> </record> - <menuitem action="tax_adjustments_form" id="menu_action_tax_adjustment" parent="account.menu_finance_entries" sequence="20"/> + <menuitem action="tax_adjustments_form" id="menu_action_tax_adjustment" parent="account.menu_finance_entries" sequence="30"/> </odoo> diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index a2b6a240ad9..afc3c0609ef 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -98,7 +98,6 @@ class AccountInvoiceRefund(models.TransientModel): 'invoice_line_ids': invoice_lines, 'tax_line_ids': tax_lines, 'date': date, - 'name': description, 'origin': inv.origin, 'fiscal_position_id': inv.fiscal_position_id.id, }) diff --git a/addons/account/wizard/wizard_tax_adjustments_view.xml b/addons/account/wizard/wizard_tax_adjustments_view.xml index f1ed30ce827..8a2b22e6544 100644 --- a/addons/account/wizard/wizard_tax_adjustments_view.xml +++ b/addons/account/wizard/wizard_tax_adjustments_view.xml @@ -7,7 +7,7 @@ <field name="arch" type="xml"> <form> <h1> - <field name="reason" class="oe_inline"/> + <field name="reason" class="oe_inline" placeholder="Reason..."/> </h1> <group> <group> diff --git a/addons/account_asset/models/account_invoice.py b/addons/account_asset/models/account_invoice.py index 9eb4cca484b..105354f6509 100644 --- a/addons/account_asset/models/account_invoice.py +++ b/addons/account_asset/models/account_invoice.py @@ -20,7 +20,13 @@ class AccountInvoice(models.Model): asset_ids = self.env['account.asset.asset'].sudo().search([('invoice_id', '=', inv.id), ('company_id', '=', inv.company_id.id)]) if asset_ids: asset_ids.write({'active': False}) - inv.invoice_line_ids.asset_create() + context = dict(self.env.context) + # Within the context of an invoice, + # this default value is for the type of the invoice, not the type of the asset. + # This has to be cleaned from the context before creating the asset, + # otherwise it tries to create the asset with the type of the invoice. + context.pop('default_type', None) + inv.invoice_line_ids.with_context(context).asset_create() return result @@ -28,8 +34,8 @@ class AccountInvoiceLine(models.Model): _inherit = 'account.invoice.line' asset_category_id = fields.Many2one('account.asset.category', string='Asset Category') - asset_start_date = fields.Date(string='Asset End Date', compute='_get_asset_date', readonly=True, store=True) - asset_end_date = fields.Date(string='Asset Start Date', compute='_get_asset_date', readonly=True, store=True) + asset_start_date = fields.Date(string='Asset Start Date', compute='_get_asset_date', readonly=True, store=True) + asset_end_date = fields.Date(string='Asset End Date', compute='_get_asset_date', readonly=True, store=True) asset_mrr = fields.Float(string='Monthly Recurring Revenue', compute='_get_asset_date', readonly=True, digits=dp.get_precision('Account'), store=True) @api.one diff --git a/addons/account_asset/views/account_asset_views.xml b/addons/account_asset/views/account_asset_views.xml index 338bc19be93..736840df6d8 100644 --- a/addons/account_asset/views/account_asset_views.xml +++ b/addons/account_asset/views/account_asset_views.xml @@ -25,17 +25,17 @@ <group string="Journal Entries"> <field name="journal_id"/> <div> - <label for="account_asset_id" string="Depreciation Asset Account" attrs="{'invisible': [('type','!=','purchase')]}"/> + <label for="account_asset_id" attrs="{'invisible': [('type','!=','purchase')]}"/> <label for="account_asset_id" string="Deferred Revenue Account" attrs="{'invisible': [('type','!=','sale')]}"/> </div> <field name="account_asset_id" nolabel="1" attrs="{'invisible': [('type','=', False)]}"/> <div> - <label for="account_depreciation_id" string="Depreciation Expense Account" attrs="{'invisible': [('type','!=','purchase')]}"/> + <label for="account_depreciation_id" attrs="{'invisible': [('type','!=','purchase')]}"/> <label for="account_depreciation_id" string="Recognition Account" attrs="{'invisible': [('type','!=','sale')]}"/> </div> <field name="account_depreciation_id" nolabel="1"/> <div> - <label for="account_depreciation_expense_id" string="Depreciation Expense Account" attrs="{'invisible': [('type','!=','purchase')]}"/> + <label for="account_depreciation_expense_id" attrs="{'invisible': [('type','!=','purchase')]}"/> <label for="account_depreciation_expense_id" string="Recognition Income Account" attrs="{'invisible': [('type','!=','sale')]}"/> </div> <field name="account_depreciation_expense_id" nolabel="1"/> diff --git a/addons/account_check_printing/models/account_journal.py b/addons/account_check_printing/models/account_journal.py index 6bdc23269af..24244272521 100644 --- a/addons/account_check_printing/models/account_journal.py +++ b/addons/account_check_printing/models/account_journal.py @@ -45,6 +45,7 @@ class AccountJournal(models.Model): return rec @api.one + @api.returns('self', lambda value: value.id) def copy(self, default=None): rec = super(AccountJournal, self).copy(default) rec._create_check_sequence() diff --git a/addons/account_check_printing/models/account_payment.py b/addons/account_check_printing/models/account_payment.py index 30019379029..fc3e200840e 100644 --- a/addons/account_check_printing/models/account_payment.py +++ b/addons/account_check_printing/models/account_payment.py @@ -102,9 +102,6 @@ class AccountPayment(models.Model): if any(payment.journal_id != self[0].journal_id for payment in self): raise UserError(_("In order to print multiple checks at once, they must belong to the same bank journal.")) - self.filtered(lambda r: r.state == 'draft').post() - self.write({'state': 'sent'}) - if not self[0].journal_id.check_manual_sequencing: # The wizard asks for the number printed on the first pre-printed check # so payments are attributed the number of the check the'll be printed on. @@ -125,6 +122,8 @@ class AccountPayment(models.Model): } } else: + self.filtered(lambda r: r.state == 'draft').post() + self.write({'state': 'sent'}) return self.do_print_checks() @api.multi diff --git a/addons/account_check_printing/wizard/print_prenumbered_checks.py b/addons/account_check_printing/wizard/print_prenumbered_checks.py index 79af6f69dd0..9f5ebcacaf7 100644 --- a/addons/account_check_printing/wizard/print_prenumbered_checks.py +++ b/addons/account_check_printing/wizard/print_prenumbered_checks.py @@ -14,6 +14,8 @@ class PrintPreNumberedChecks(models.TransientModel): def print_checks(self): check_number = self.next_check_number payments = self.env['account.payment'].browse(self.env.context['payment_ids']) + payments.filtered(lambda r: r.state == 'draft').post() + payments.filtered(lambda r: r.state != 'sent').write({'state': 'sent'}) for payment in payments: payment.check_number = check_number check_number += 1 diff --git a/addons/auth_ldap/models/res_company_ldap.py b/addons/auth_ldap/models/res_company_ldap.py index 649cfb7bdf0..dfc9070a2e9 100644 --- a/addons/auth_ldap/models/res_company_ldap.py +++ b/addons/auth_ldap/models/res_company_ldap.py @@ -100,7 +100,7 @@ class CompanyLDAP(models.Model): _logger.warning('Could not format LDAP filter. Your filter should contain one \'%s\'.') return False try: - results = self.query(conf, filter) + results = self.query(conf, tools.ustr(filter)) # Get rid of (None, attrs) for searchResultReference replies results = [i for i in results if i[0]] diff --git a/addons/base_gengo/__manifest__.py b/addons/base_gengo/__manifest__.py index df24fb95666..b741dc5b76e 100644 --- a/addons/base_gengo/__manifest__.py +++ b/addons/base_gengo/__manifest__.py @@ -14,11 +14,11 @@ using the Gengo API. To activate it, you must This wizard will activate the CRON job and the Scheduler and will start the automatic translation via Gengo Services for all the terms where you requested it. """, - 'depends': ['base'], + 'depends': ['base_setup'], 'data': [ 'data/ir_cron_data.xml', 'views/ir_translation_views.xml', - 'views/res_company_views.xml', + 'views/res_config_views.xml', 'wizard/base_gengo_translations_view.xml', ], 'demo': ['data/res_company_demo.xml'], diff --git a/addons/base_gengo/i18n/base_gengo.pot b/addons/base_gengo/i18n/base_gengo.pot index 78f1be4362a..2430af4f9ee 100644 --- a/addons/base_gengo/i18n/base_gengo.pot +++ b/addons/base_gengo/i18n/base_gengo.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-26 10:26+0000\n" -"PO-Revision-Date: 2016-08-26 10:26+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,26 +16,32 @@ msgstr "" "Plural-Forms: \n" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo msgid "Add Gengo login Private Key..." msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo msgid "Add Gengo login Public Key..." msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo msgid "Add your comments here for translator...." msgstr "" #. module: base_gengo +#: model:ir.model.fields,field_description:base_gengo.field_base_config_settings_gengo_auto_approve #: model:ir.model.fields,field_description:base_gengo.field_res_company_gengo_auto_approve msgid "Auto Approve Translation ?" msgstr "" #. module: base_gengo +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Auto Approve Translation*" +msgstr "" + +#. module: base_gengo #: selection:base.gengo.translations,sync_type:0 msgid "Both" msgstr "" @@ -46,6 +52,7 @@ msgid "Cancel" msgstr "" #. module: base_gengo +#: model:ir.model.fields,help:base_gengo.field_base_config_settings_gengo_sandbox #: model:ir.model.fields,help:base_gengo.field_res_company_gengo_sandbox msgid "Check this box if you're using the sandbox mode of Gengo, mainly used for testing purpose." msgstr "" @@ -56,6 +63,12 @@ msgid "Click here to Configure Gengo Parameters" msgstr "" #. module: base_gengo +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Comment*" +msgstr "" + +#. module: base_gengo +#: model:ir.model.fields,field_description:base_gengo.field_base_config_settings_gengo_comment #: model:ir.model.fields,field_description:base_gengo.field_res_company_gengo_comment msgid "Comments" msgstr "" @@ -66,11 +79,6 @@ msgid "Comments & Activity Linked to Gengo" msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form -msgid "Comments for Translator" -msgstr "" - -#. module: base_gengo #: model:ir.model,name:base_gengo.model_res_company msgid "Companies" msgstr "" @@ -101,16 +109,13 @@ msgid "Gengo Order ID" msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form -msgid "Gengo Parameters" -msgstr "" - -#. module: base_gengo +#: model:ir.model.fields,field_description:base_gengo.field_base_config_settings_gengo_private_key #: model:ir.model.fields,field_description:base_gengo.field_res_company_gengo_private_key msgid "Gengo Private Key" msgstr "" #. module: base_gengo +#: model:ir.model.fields,field_description:base_gengo.field_base_config_settings_gengo_public_key #: model:ir.model.fields,field_description:base_gengo.field_res_company_gengo_public_key msgid "Gengo Public Key" msgstr "" @@ -136,6 +141,11 @@ msgid "Gengo Translation Service Level" msgstr "" #. module: base_gengo +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Gengo Translator" +msgstr "" + +#. module: base_gengo #: code:addons/base_gengo/wizard/base_gengo_translations.py:84 #, python-format msgid "Gengo `Public Key` or `Private Key` are missing. Enter your Gengo authentication parameters under `Settings > Companies > Gengo Parameters`." @@ -160,6 +170,7 @@ msgid "ID" msgstr "" #. module: base_gengo +#: model:ir.model.fields,help:base_gengo.field_base_config_settings_gengo_auto_approve #: model:ir.model.fields,help:base_gengo.field_res_company_gengo_auto_approve msgid "Jobs are Automatically Approved by Gengo." msgstr "" @@ -195,8 +206,8 @@ msgid "Note: If the translation state is 'In Progress', it means that the transl msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form -msgid "Private Key" +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Private Key*" msgstr "" #. module: base_gengo @@ -205,8 +216,8 @@ msgid "Pro" msgstr "" #. module: base_gengo -#: model:ir.ui.view,arch_db:base_gengo.view_company_inherit_base_gengo_form -msgid "Public Key" +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Public Key*" msgstr "" #. module: base_gengo @@ -215,11 +226,17 @@ msgid "Receive Translation" msgstr "" #. module: base_gengo +#: model:ir.model.fields,field_description:base_gengo.field_base_config_settings_gengo_sandbox #: model:ir.model.fields,field_description:base_gengo.field_res_company_gengo_sandbox msgid "Sandbox Mode" msgstr "" #. module: base_gengo +#: model:ir.ui.view,arch_db:base_gengo.view_general_configuration_form_inherit_base_gengo +msgid "Sandbox Mode*" +msgstr "" + +#. module: base_gengo #: model:ir.ui.view,arch_db:base_gengo.base_gengo_translation_wizard_from msgid "Send" msgstr "" @@ -251,6 +268,7 @@ msgid "The private and public keys are valid" msgstr "" #. module: base_gengo +#: model:ir.model.fields,help:base_gengo.field_base_config_settings_gengo_comment #: model:ir.model.fields,help:base_gengo.field_res_company_gengo_comment msgid "This comment will be automatically be enclosed in each an every request sent to Gengo" msgstr "" @@ -282,6 +300,11 @@ msgid "You can select here the service level you want for an automatic translati msgstr "" #. module: base_gengo +#: model:ir.model,name:base_gengo.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: base_gengo #: model:ir.model,name:base_gengo.model_base_gengo_translations msgid "base.gengo.translations" msgstr "" diff --git a/addons/base_gengo/models/__init__.py b/addons/base_gengo/models/__init__.py index 6ccf32be938..bfac0c2ef44 100644 --- a/addons/base_gengo/models/__init__.py +++ b/addons/base_gengo/models/__init__.py @@ -2,4 +2,5 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import ir_translation -import res_company
\ No newline at end of file +import res_company +import res_config
\ No newline at end of file diff --git a/addons/base_gengo/models/res_config.py b/addons/base_gengo/models/res_config.py new file mode 100644 index 00000000000..e7b0031b98d --- /dev/null +++ b/addons/base_gengo/models/res_config.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models, fields + + +class BaseConfigSettings(models.TransientModel): + _inherit = 'base.config.settings' + + gengo_private_key = fields.Text(string="Gengo Private Key", related="company_id.gengo_private_key") + gengo_public_key = fields.Text(string="Gengo Public Key", related="company_id.gengo_public_key") + gengo_comment = fields.Text(string="Comments", related="company_id.gengo_comment", + help="This comment will be automatically be enclosed in each an every request sent to Gengo") + gengo_auto_approve = fields.Boolean(string="Auto Approve Translation ?", related="company_id.gengo_auto_approve", + help="Jobs are Automatically Approved by Gengo.") + gengo_sandbox = fields.Boolean(string="Sandbox Mode", + help="Check this box if you're using the sandbox mode of Gengo, mainly used for testing purpose.") diff --git a/addons/base_gengo/views/res_company_views.xml b/addons/base_gengo/views/res_company_views.xml deleted file mode 100644 index 78534100798..00000000000 --- a/addons/base_gengo/views/res_company_views.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<odoo> - <record id="view_company_inherit_base_gengo_form" model="ir.ui.view"> - <field name="name">res.company.form.inherit</field> - <field name="inherit_id" ref="base.view_company_form"/> - <field name="model">res.company</field> - <field name="arch" type="xml"> - <xpath expr="//notebook[last()]" position="inside"> - <page string="Gengo Parameters"> - <group col="2"> - <group col="1" string="Public Key"> - <field name="gengo_public_key" nolabel="1" placeholder="Add Gengo login Public Key..."/> - </group> - <group col="1" string="Private Key"> - <field name="gengo_private_key" password="True" nolabel="1" placeholder="Add Gengo login Private Key..."/> - </group> - </group> - <group> - <group> - <field name="gengo_auto_approve"/> - </group> - <group> - <field name="gengo_sandbox"/> - </group> - </group> - <group string="Comments for Translator" col="1"> - <field name="gengo_comment" nolabel="1" placeholder="Add your comments here for translator...."/> - </group> - </page> - </xpath> - </field> - </record> -</odoo> diff --git a/addons/base_gengo/views/res_config_views.xml b/addons/base_gengo/views/res_config_views.xml new file mode 100644 index 00000000000..e1c6ba80462 --- /dev/null +++ b/addons/base_gengo/views/res_config_views.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <record id="view_general_configuration_form_inherit_base_gengo" model="ir.ui.view"> + <field name="name">base.config.settings.form.inherit.base.gengo</field> + <field name="model">base.config.settings</field> + <field name="inherit_id" ref="base_setup.view_general_configuration"/> + <field name="arch" type="xml"> + <xpath expr="//group[@name='google_analytics']" position="after"> + <group string="Gengo Translator" name="gengo"> + <label for="id" string="Public Key*"/> + <div name="gengo_public_key"> + <div name="gengo_public_key"> + <field name="gengo_public_key" nolabel="1" placeholder="Add Gengo login Public Key..."/> + </div> + </div> + <label for="id" string="Private Key*"/> + <div name="gengo_private_key"> + <div name="gengo_private_key"> + <field name="gengo_private_key" password="True" nolabel="1" placeholder="Add Gengo login Private Key..."/> + </div> + </div> + <label for="id" string="Auto Approve Translation*"/> + <div name="gengo_auto_approve"> + <div name="gengo_auto_approve"> + <field name="gengo_auto_approve"/> + <label for="gengo_auto_approve"/> + </div> + </div> + <label for="id" string="Sandbox Mode*"/> + <div name="gengo_sandbox"> + <div name="gengo_sandbox"> + <field name="gengo_sandbox"/> + <label for="gengo_sandbox"/> + </div> + </div> + <label for="id" string="Comment*"/> + <div name="gengo_comment"> + <div name="gengo_comment"> + <field name="gengo_comment" nolabel="1" placeholder="Add your comments here for translator...."/> + </div> + </div> + </group> + </xpath> + </field> + </record> +</odoo> diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index 6606ffe5569..87ff74f826a 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -264,6 +264,7 @@ var DashBoard = form_common.FormWidget.extend({ } }); am.do_action = self.do_action.bind(self); + am.current_action_updated = function() {}; }); }, renderElement: function() { diff --git a/addons/calendar/models/calendar.py b/addons/calendar/models/calendar.py index d9dfc5a41a0..d3e1a71555b 100644 --- a/addons/calendar/models/calendar.py +++ b/addons/calendar/models/calendar.py @@ -160,7 +160,7 @@ class Attendee(models.Model): mails_to_send = self.env['mail.mail'] for attendee in self: if attendee.email or attendee.partner_id.email: - ics_file = ics_files[attendee.event_id.id] + ics_file = ics_files.get(attendee.event_id.id) mail_id = invitation_template.send_mail(attendee.id) vals = {} @@ -654,7 +654,7 @@ class Meeting(models.Model): is_attendee = fields.Boolean('Attendee', compute='_compute_attendee') attendee_status = fields.Selection(Attendee.STATE_SELECTION, string='Attendee Status', compute='_compute_attendee') display_time = fields.Char('Event Time', compute='_compute_display_time') - display_start = fields.Date('Date', compute='_compute_display_start', store=True) + display_start = fields.Char('Date', compute='_compute_display_start', store=True) start = fields.Datetime('Start', required=True, help="Start date of an event, without time for full days events") stop = fields.Datetime('Stop', required=True, help="Stop date of an event, without time for full days events") @@ -850,6 +850,7 @@ class Meeting(models.Model): # FIXME: why isn't this in CalDAV? import vobject except ImportError: + _logger.warning("The `vobject` Python module is not installed, so iCal file generation is unavailable. Use 'pip install vobject' to install it") return result for meeting in self: @@ -915,10 +916,10 @@ class Meeting(models.Model): meeting_attendees |= attendee meeting_partners |= partner - if current_user.email != partner.email: - attendee._send_mail_to_attendees('calendar.calendar_template_meeting_invitation') - if meeting_attendees: + to_notify = meeting_attendees.filtered(lambda a: a.email != current_user.email) + to_notify._send_mail_to_attendees('calendar.calendar_template_meeting_invitation') + meeting.write({'attendee_ids': [(4, meeting_attendee.id) for meeting_attendee in meeting_attendees]}) if meeting_partners: meeting.message_subscribe(partner_ids=meeting_partners.ids) diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index efa5c77274a..0358b35a486 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -1027,40 +1027,28 @@ class Lead(FormatAddress, models.Model): return super(Lead, self)._track_subtype(init_values) @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the mail.thread method to handle salesman recipients. - Indeed those will have specific action in their notification emails. - """ - group_sale_salesman = self.env.ref('sales_team.group_sale_salesman') - for recipient in recipients: - if recipient.id in done_ids: - continue - # FIXME: why not recipient.user_ids[0].has_group(sales_team.group_sale_salesman)? - if recipient.user_ids and group_sale_salesman in recipient.user_ids[0].groups_id: - group_data['group_sale_salesman'] |= recipient - done_ids.add(recipient.id) - return super(Lead, self)._notification_group_recipients(message, recipients, done_ids, group_data) - - @api.multi - def _notification_get_recipient_groups(self, message, recipients): - result = super(Lead, self)._notification_get_recipient_groups(message, recipients) - - lead = self[0] - won_action = self._notification_link_helper('method', method='action_set_won') - lost_action = self._notification_link_helper('method', method='action_set_lost') - convert_action = self._notification_link_helper('method', method='convert_opportunity', partner_id=lead.partner_id.id) + def _notification_recipients(self, message, groups): + """ Handle salesman recipients that can convert leads into opportunities + and set opportunities as won / lost. """ + groups = super(Lead, self)._notification_recipients(message, groups) - if lead.type == 'lead': - result['group_sale_salesman'] = { - 'actions': [{'url': convert_action, 'title': 'Convert to opportunity'}] - } + self.ensure_one() + if self.type == 'lead': + convert_action = self._notification_link_helper('method', method='convert_opportunity', partner_id=self.partner_id.id) + salesman_actions = [{'url': convert_action, 'title': _('Convert to opportunity')}] else: - result['group_sale_salesman'] = { - 'actions': [ - {'url': won_action, 'title': 'Won'}, - {'url': lost_action, 'title': 'Lost'}] - } - return result + won_action = self._notification_link_helper('method', method='action_set_won') + lost_action = self._notification_link_helper('method', method='action_set_lost') + salesman_actions = [ + {'url': won_action, 'title': _('Won')}, + {'url': lost_action, 'title': _('Lost')}] + + new_group = ( + 'group_sale_salesman', lambda partner: bool(partner.user_ids) and any(user.has_group('sales_team.group_sale_salesman') for user in partner.user_ids), { + 'actions': salesman_actions, + }) + + return [new_group] + groups @api.model def message_get_reply_to(self, res_ids, default=None): diff --git a/addons/crm/views/res_partner_views.xml b/addons/crm/views/res_partner_views.xml index aedbd67b4f9..d11162a3563 100644 --- a/addons/crm/views/res_partner_views.xml +++ b/addons/crm/views/res_partner_views.xml @@ -99,7 +99,7 @@ <field name="domain">[('partner_id', '=', active_id)]</field> </record> - <!-- Add team_id (SalesTeam) and contextual button on partner form view --> + <!-- Add contextual button on partner form view --> <record id="view_partners_form_crm1" model="ir.ui.view"> <field name="name">view.res.partner.form.crm.inherited1</field> <field name="model">res.partner</field> diff --git a/addons/event/i18n/event.pot b/addons/event/i18n/event.pot index 8fc791cf1f8..4ecfb7f23f7 100644 --- a/addons/event/i18n/event.pot +++ b/addons/event/i18n/event.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -295,18 +295,73 @@ msgid "(stats)" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "5 Intensive Days" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "<em>(Chamber Works reserves the right to cancel, re-name or re-locate<br>the event or change the dates on which it is held.)</em>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +msgid "<font style=\"color: rgb(255, 255, 255); font-size: 24px;\">to learn <i>Odoo Programming</i></font>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_1 +msgid "<font style=\"color: rgb(255, 255, 255); font-size: 24px;\">to learn <i>technical aspects</i></font>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_3 +msgid "<font style=\"font-size: 24px;\">to learn <i>business applications development</i></font>" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_kanban msgid "<i class=\"fa fa-clock-o\"/>\n" " <b>To</b>" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<i>You will be able to create dynamic page interacting with the ORM.</i>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<i>You will be able to develop a full application with backend and user interface.</i>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<i>You will be able to develop simple dynamic components in HTML pages.</i>" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.event_event_report_template_badge #: model:ir.ui.view,arch_db:event.event_registration_report_template_badge msgid "<i>to</i>" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<small>John Doe, CEO</small>" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_form msgid "<span attrs=\"{'invisible': [('seats_availability', '=', 'unlimited')]}\" class=\"oe_read_only\">\n" " to \n" @@ -314,11 +369,69 @@ msgid "<span attrs=\"{'invisible': [('seats_availability', '=', 'unlimited')]}\" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<span style=\"text-align: -webkit-center; \">This course is dedicated to developers who need to grasp knowledge of the <strong>business applications development </strong>process. This course is for new developers or for IT professionals eager to learn more about technical aspects.</span>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "<strong>Conference on Business Apps</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<strong>Having attended this course, participants should be able to:</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_2 +#: model:event.event,description:event.event_3 +msgid "<strong>Objectives:</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<strong>Our prices include:</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "<strong>Program:</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "<strong>Requirements:</strong>" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "<strong>Where to find us:</strong>" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_event_active msgid "Active" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Advanced JQuery" +msgstr "" + +#. module: event #: selection:event.mail,interval_type:0 msgid "After each registration" msgstr "" @@ -359,6 +472,13 @@ msgid "Archived" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Arrays" +msgstr "" + +#. module: event #: selection:event.registration,state:0 #: model:ir.ui.view,arch_db:event.view_event_registration_form #: selection:report.event.registration,registration_state:0 @@ -443,6 +563,39 @@ msgid "Before the event" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "Best regards," +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Bootstrap CSS" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Bring your own laptop." +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Building a Full Application" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Calling the ORM" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_configuration #: model:ir.ui.view,arch_db:event.view_event_confirm msgid "Cancel" @@ -473,6 +626,11 @@ msgid "Category" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "Chamber Works 60, Rosewood Court Detroit, MI 48212 (United States)" +msgstr "" + +#. module: event #: model:ir.actions.act_window,help:event.action_event_view msgid "Click to add a new event." msgstr "" @@ -498,6 +656,16 @@ msgid "Compose Email" msgstr "" #. module: event +#: model:event.type,name:event.event_type_2 +msgid "Conference" +msgstr "" + +#. module: event +#: model:event.event,name:event.event_2 +msgid "Conference on Business Apps" +msgstr "" + +#. module: event #: model:ir.ui.menu,name:event.menu_event_configuration msgid "Configuration" msgstr "" @@ -558,11 +726,25 @@ msgid "Contact" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Controllers and Views" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_event_country_id msgid "Country" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Course Summary" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_config_settings_create_uid #: model:ir.model.fields,field_description:event.field_event_confirm_create_uid #: model:ir.model.fields,field_description:event.field_event_event_create_uid @@ -602,6 +784,27 @@ msgid "Customer Email" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Day 1" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Day 2" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Day 3" +msgstr "" + +#. module: event #: selection:event.mail,interval_unit:0 msgid "Day(s)" msgstr "" @@ -627,6 +830,13 @@ msgid "Description" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Develop a new module for a particular application." +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_config_settings_display_name #: model:ir.model.fields,field_description:event.field_event_confirm_display_name #: model:ir.model.fields,field_description:event.field_event_event_display_name @@ -644,6 +854,13 @@ msgid "Display order" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Dive into Strings" +msgstr "" + +#. module: event #: selection:event.event,state:0 #: selection:report.event.registration,event_state:0 msgid "Done" @@ -656,6 +873,11 @@ msgid "Draft" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "During this conference, our team will give a detailed overview of our business applications. You’ll know all the benefits of using it." +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_registration_email msgid "Email" msgstr "" @@ -845,6 +1067,11 @@ msgid "Events which are in confirm state" msgstr "" #. module: event +#: model:event.type,name:event.event_type_1 +msgid "Exhibition" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_registration_search msgid "Expected" msgstr "" @@ -865,6 +1092,11 @@ msgid "Finish Event" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "For any additional information, please contact us at" +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_event_seats_max msgid "For each event you can define a maximum registration of seats(number of attendees), above this numbers the registrations are not accepted." msgstr "" @@ -875,6 +1107,23 @@ msgid "For each event you can define a minimum reserved seats (number of attende msgstr "" #. module: event +#: model:event.event,name:event.event_1 +msgid "Functional Webinar" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Functional flow of the main applications;" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Functions" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_search #: model:ir.ui.view,arch_db:event.view_registration_search #: model:ir.ui.view,arch_db:event.view_report_event_registration_search @@ -882,11 +1131,37 @@ msgid "Group By" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "Having attended this conference, participants should be able to:" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Hello World" +msgstr "" + +#. module: event #: selection:event.mail,interval_unit:0 msgid "Hour(s)" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "How to Debug" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "I did not expect such a great learning experience. I feel like I can develop anything now." +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_config_settings_id #: model:ir.model.fields,field_description:event.field_event_confirm_id #: model:ir.model.fields,field_description:event.field_event_event_id @@ -909,6 +1184,13 @@ msgid "Immediately" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Install and administer your own server;" +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_config_settings_module_event_barcode msgid "Install the event_barcode module" msgstr "" @@ -929,11 +1211,44 @@ msgid "Install the website_event_questions module" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Integrated Help" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_mail_interval_nbr msgid "Interval" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Introduction to JQuery" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Introduction to Javascript" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Introduction to QWeb" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Introduction, CRM, Sales Management" +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_type_default_registration_max msgid "It will select this default maximum value when you choose this event" msgstr "" @@ -993,6 +1308,18 @@ msgid "Location" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Loops" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Luigi Roni, Senior Event Manager" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_event_event_mail_ids msgid "Mail Schedule" msgstr "" @@ -1053,6 +1380,13 @@ msgid "Minimum Attendees" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Modules" +msgstr "" + +#. module: event #: selection:event.mail,interval_unit:0 msgid "Month(s)" msgstr "" @@ -1121,6 +1455,20 @@ msgid "Number of Registrations" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Odoo Official Website" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Odoo Web Client" +msgstr "" + +#. module: event #: model:ir.actions.act_window,help:event.action_event_view msgid "Odoo helps you schedule and efficiently organize your events:\n" " track registrations and participations, automate the confirmation emails,\n" @@ -1128,6 +1476,11 @@ msgid "Odoo helps you schedule and efficiently organize your events:\n" msgstr "" #. module: event +#: model:event.event,name:event.event_0 +msgid "Open Days in Los Angeles" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_event_organizer_id msgid "Organizer" msgstr "" @@ -1143,6 +1496,20 @@ msgid "Participant / Contact Name" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Participants are expected to have some knowledge in programming. A basic knowledge of the Python programming is recommended." +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Participants preferably have a functional knowledge of our software (see Functional Training)." +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_registration_search msgid "Partner" msgstr "" @@ -1153,6 +1520,35 @@ msgid "Phone" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "Point of Sale (POS), Introduction to report customization." +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Project management, Human resources, Contract management." +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Purchase, Sales & Purchase management, Financial accounting." +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Python Objects" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Read Great Contents" +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_registration_origin msgid "Reference of the document that created the registration, for example a sale order" msgstr "" @@ -1246,11 +1642,25 @@ msgid "Reply-To Email" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Report Engine" +msgstr "" + +#. module: event #: model:ir.ui.menu,name:event.menu_reporting_events msgid "Reports" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Requirements" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_event_seats_reserved msgid "Reserved Seats" msgstr "" @@ -1277,6 +1687,11 @@ msgid "Scheduled Time" msgstr "" #. module: event +#: model:event.type,name:event.event_type_0 +msgid "Seminar" +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_registration_form msgid "Send by Email" msgstr "" @@ -1302,6 +1717,11 @@ msgid "Settings" msgstr "" #. module: event +#: model:event.type,name:event.event_type_3 +msgid "Show" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_registration_origin msgid "Source Document" msgstr "" @@ -1335,11 +1755,23 @@ msgid "Subscribe" msgstr "" #. module: event +#: model:event.event,name:event.event_3 +msgid "Technical Training" +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_event_reply_to msgid "The email address of the organizer is likely to be put here, with the effect to be in the 'Reply-To' of the mails sent automatically at event or registrations confirmation. You can also put the email address of your mail gateway if you use one." msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "This course help me build my first application within a month. Definetly worth its price." +msgstr "" + +#. module: event #: model:ir.model.fields,help:event.field_event_mail_template_id msgid "This field contains the template of the mail that will be automatically sent" msgstr "" @@ -1367,6 +1799,13 @@ msgid "Timezone" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "To get more information, visit the" +msgstr "" + +#. module: event #: code:addons/event/models/event.py:434 #, python-format msgid "Today" @@ -1384,6 +1823,18 @@ msgid "Tracks and Agenda" msgstr "" #. module: event +#: model:event.type,name:event.event_type_4 +msgid "Training" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Training Center Module" +msgstr "" + +#. module: event #: selection:event.event,state:0 #: selection:event.registration,state:0 #: model:ir.ui.view,arch_db:event.view_event_search @@ -1396,6 +1847,25 @@ msgid "Unconfirmed Seat Reservations" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Underscore" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Understand the development concepts and architecture;" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Understand the various modules;" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_mail_interval_unit msgid "Unit" msgstr "" @@ -1432,6 +1902,18 @@ msgid "User" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Variables & Operators" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_2 +msgid "Warehouse management, Manufacturing (MRP) & Sales, Import/Export." +msgstr "" + +#. module: event #: model:ir.ui.view,arch_db:event.view_event_confirm msgid "Warning: This Event has not reached its Minimum Registration Limit. Are you sure you want to confirm it?" msgstr "" @@ -1442,11 +1924,32 @@ msgid "Week(s)" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "What do people say about this course?" +msgstr "" + +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "What you will learn?" +msgstr "" + +#. module: event #: model:ir.model.fields,field_description:event.field_event_mail_interval_type msgid "When to Run " msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "Workflows" +msgstr "" + +#. module: event #: code:addons/event/models/event.py:246 #, python-format msgid "You have already set a registration for this event as 'Attended'. Please reset it to draft if you want to cancel this event." @@ -1474,6 +1977,13 @@ msgid "badge_of_${(object.event_id.name or '').replace('/','_')}" msgstr "" #. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "drinks and lunch;" +msgstr "" + +#. module: event #: model:ir.model,name:event.model_event_config_settings msgid "event.config.settings" msgstr "" @@ -1489,7 +1999,19 @@ msgid "event.mail" msgstr "" #. module: event +#: model:event.event,description:event.event_2 +msgid "events@openerp.com" +msgstr "" + +#. module: event #: model:ir.model,name:event.model_report_event_registration msgid "report.event.registration" msgstr "" +#. module: event +#: model:event.event,description:event.event_0 +#: model:event.event,description:event.event_1 +#: model:event.event,description:event.event_3 +msgid "training material." +msgstr "" + diff --git a/addons/event/models/event_mail.py b/addons/event/models/event_mail.py index a17635efd7d..6a5edd12854 100644 --- a/addons/event/models/event_mail.py +++ b/addons/event/models/event_mail.py @@ -71,7 +71,8 @@ class EventMailScheduler(models.Model): if self.interval_type == 'after_sub': # update registration lines lines = [] - for registration in filter(lambda item: item not in [mail_reg.registration_id for mail_reg in self.mail_registration_ids], self.event_id.registration_ids): + reg_ids = [mail_reg.registration_id for mail_reg in self.mail_registration_ids] + for registration in filter(lambda item: item not in reg_ids, self.event_id.registration_ids): lines.append((0, 0, {'registration_id': registration.id})) if lines: self.write({'mail_registration_ids': lines}) diff --git a/addons/event/security/event_security.xml b/addons/event/security/event_security.xml index e529880a456..6605989b3fc 100644 --- a/addons/event/security/event_security.xml +++ b/addons/event/security/event_security.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="0"> - <record id="group_event_user" model="res.groups"> <field name="name">User</field> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> @@ -14,8 +13,6 @@ <field name="implied_ids" eval="[(4, ref('group_event_user'))]"/> <field name="users" eval="[(4, ref('base.user_root'))]"/> </record> - - </data> <data noupdate="1"> diff --git a/addons/gamification/i18n/en.po b/addons/gamification/i18n/en.po deleted file mode 100644 index 9bd0f8127a6..00000000000 --- a/addons/gamification/i18n/en.po +++ /dev/null @@ -1,1894 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * gamification -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2015-09-30 12:39+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: gamification -#: model:mail.template,body_html:gamification.email_template_badge_received -msgid "" -"\n" -" <p>Congratulation, you have received the badge <strong>${object." -"badge_id.name}</strong> !\n" -" % if object.sender_id\n" -" This badge was granted by <strong>${object.sender_id.name}</" -"strong>.\n" -" % endif\n" -" </p>\n" -"\n" -" % if object.comment\n" -" <p><em>${object.comment}</em></p>\n" -" % endif\n" -" " -msgstr "" - -#. module: gamification -#: model:mail.template,body_html:gamification.email_template_goal_reminder -msgid "" -"\n" -" <p>\n" -" <strong>Reminder ${object.name}</strong>\n" -" </p>\n" -" \n" -" <p>You have not updated your progress for the goal ${object." -"definition_id.name} (currently reached at ${object.completeness}%) for at " -"least ${object.remind_update_delay} days. Do not forget to do it.</p>\n" -" " -msgstr "" - -#. module: gamification -#: model:mail.template,body_html:gamification.simple_report_template -msgid "" -"\n" -"<p>\n" -" <strong>${object.name}</strong>\n" -"</p>\n" -"<p class=\"oe_grey\">The following message contains the current progress for " -"the challenge ${object.name}</p>\n" -"\n" -"% if object.visibility_mode == 'personal':\n" -" <table width=\"100%\" border=\"1\">\n" -" <tr>\n" -" <th>Goal</th>\n" -" <th>Target</th>\n" -" <th>Current</th>\n" -" <th>Completeness</th>\n" -" </tr>\n" -" % for line in ctx[\"challenge_lines\"]:\n" -" <tr\n" -" % if line['completeness'] >= 100:\n" -" style=\"font-weight:bold;\"\n" -" % endif\n" -" >\n" -" <td>${line['name']}</td>\n" -" <td>${line['target']}\n" -" % if line['suffix']:\n" -" ${line['suffix']}\n" -" % endif\n" -" </td>\n" -" <td>${line['current']}\n" -" % if line['suffix']:\n" -" ${line['suffix']}\n" -" % endif\n" -" </td>\n" -" <td>${line['completeness']} %</td>\n" -" </tr>\n" -" % endfor\n" -" </table>\n" -"% else:\n" -" % for line in ctx[\"challenge_lines\"]:\n" -" <table width=\"100%\" border=\"1\">\n" -" <tr>\n" -" <th colspan=\"4\">${line['name']}</th>\n" -" </tr>\n" -" <tr>\n" -" <th>#</th>\n" -" <th>Person</th>\n" -" <th>Completeness</th>\n" -" <th>Current</th>\n" -" </tr>\n" -" % for goal in line['goals']:\n" -" <tr\n" -" % if goal.completeness >= 100:\n" -" style=\"font-weight:bold;\"\n" -" % endif\n" -" >\n" -" <td>${goal['rank']}</td>\n" -" <td>${goal['name']}</td>\n" -" <td>${goal['completeness']}%</td>\n" -" <td>${goal['current']}/${line['target']}\n" -" % if line['suffix']:\n" -" ${line['suffix']}\n" -" % endif\n" -" </td>\n" -" </tr>\n" -" % endfor\n" -" </table>\n" -"\n" -" <br/><br/>\n" -"\n" -" % endfor\n" -"% endif\n" -" " -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:746 -#, python-format -msgid "" -"<br/>Nobody has succeeded to reach every goal, no badge is rewarded for this " -"challenge." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:744 -#, python-format -msgid "<br/>Reward (badge %s) for every succeeding user was sent to %s." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:753 -#, python-format -msgid "" -"<br/>Special rewards were sent to the top competing users. The ranking for " -"this challenge is :" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "" -"<span class=\"o_stat_text\">Related</span>\n" -" <span class=\"o_stat_text\">Goals</span>" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.badge_list_action -msgid "" -"A badge is a symbolic token granted to a user as a sign of reward.\n" -" It can be deserved automatically when some conditions " -"are met or manually by users.\n" -" Some badges are harder than others to get with specific " -"conditions." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.goal_definition_list_action -msgid "" -"A goal definition is a technical model of goal defining a condition to " -"reach.\n" -" The dates, values to reach or users are defined in goal " -"instance." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_condition -msgid "" -"A goal is considered as completed when the current value is compared to the " -"value to reach" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.goal_list_action -msgid "" -"A goal is defined by a user and a goal definition.\n" -" Goals can be created automatically by using challenges." -msgstr "" - -#. module: gamification -#: selection:gamification.badge,rule_auth:0 -msgid "A selected list of users" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Accept" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_action_id -msgid "Action" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_active -msgid "Active" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Advanced Options" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_rule_auth -msgid "Allowance to Grant" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_user_domain -msgid "Alternative to a list of users" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_category -msgid "Appears in" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Assign Challenge To" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.challenge_list_action -msgid "" -"Assign a list of goals to chosen users to evaluate them.\n" -" The challenge can use a period (weekly, monthly...) for " -"automatic creation of goals.\n" -" The goals are created for the specified users or member " -"of the group." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_rule_auth_user_ids -msgid "Authorized Users" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,computation_mode:0 -msgid "Automatic: execute a specific Python code" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,computation_mode:0 -msgid "Automatic: number of records" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,computation_mode:0 -msgid "Automatic: sum on a field" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_name -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_badge_id -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_badge_id -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Badge Description" -msgstr "" - -#. module: gamification -#: model:mail.message.subtype,description:gamification.mt_badge_granted -#: model:mail.message.subtype,name:gamification.mt_badge_granted -msgid "Badge Granted" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_list_view -msgid "Badge List" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_badge_name -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Badge Name" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.badge_list_action -#: model:ir.ui.menu,name:gamification.gamification_badge_menu -msgid "Badges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "" -"Badges are granted when a challenge is finished. This is either at the end " -"of a running period (eg: end of the month for a monthly challenge), at the " -"end date of a challenge (if no periodicity is set) or when the challenge is " -"manually closed." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_batch_mode -msgid "Batch Mode" -msgstr "" - -#. module: gamification -#: model:gamification.badge,name:gamification.badge_idea -msgid "Brilliant" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_kanban_view -msgid "Can not grant" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:461 -#, python-format -msgid "Can not modify the configuration of a started goal" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_badge_wizard_grant -#: model:ir.ui.view,arch_db:gamification.view_goal_wizard_update_current -msgid "Cancel" -msgstr "" - -#. module: gamification -#: selection:gamification.goal,state:0 -msgid "Canceled" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Category" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_challenge_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_challenge_id -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Challenge" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.challenge_wizard -msgid "Challenge Description" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_line_id -msgid "Challenge Line" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_line_list_view -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Challenge Lines" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_name -msgid "Challenge Name" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_challenge_id -msgid "Challenge originating" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_challenge_id -msgid "" -"Challenge that generated the goal, assign challenge to users to generate " -"goals with a value in this field." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.challenge_list_action -#: model:ir.ui.menu,name:gamification.gamification_challenge_menu -#: model:ir.ui.view,arch_db:gamification.view_challenge_kanban -msgid "Challenges" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_rule_max -msgid "Check to set a monthly limit per person of sending this badge" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.badge_list_action -msgid "Click to create a badge." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.challenge_list_action -msgid "Click to create a challenge." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.goal_definition_list_action -msgid "Click to create a goal definition." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.goal_list_action -msgid "Click to create a goal." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "Clickable Goals" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_closed -msgid "Closed goal" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_comment -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_comment -msgid "Comment" -msgstr "" - -#. module: gamification -#: model:gamification.challenge,name:gamification.challenge_base_discover -msgid "Complete your Profile" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_completeness -msgid "Completeness" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_computation_mode -#: model:ir.ui.view,arch_db:gamification.goal_definition_search_view -msgid "Computation Mode" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_computation_mode -msgid "Computation mode" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_condition -msgid "Condition" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.action_new_simplified_res_users -msgid "Create User" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.action_new_simplified_res_users -msgid "" -"Create and manage users that will connect to the system. Users can be " -"deactivated should there be a period of time during which they will/should " -"not connect to the system. You can assign them groups in order to give them " -"specific access to the applications they need to use in the system." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_create_date -msgid "Created" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_create_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_create_uid -msgid "Created by" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_create_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_create_date -msgid "Created on" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_create_uid -msgid "Creator" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_current -msgid "Current" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_current -msgid "Current Value" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,period:0 -#: selection:gamification.challenge,report_message_frequency:0 -msgid "Daily" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Data" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_field_date_id -msgid "Date Field" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_category -msgid "Define the visibility of the challenge through menus" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_computation_mode -msgid "" -"Defined how will be computed the goals. The result of the operation will be " -"stored in the field 'Current'." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_condition_3136 -msgid "Definition Condition" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_description_3145 -msgid "Definition Description" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Depending on the Display mode, reports will be individual or shared." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Describe the challenge: what is does, who it targets, why it matters..." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_badge_wizard_grant -msgid "Describe what they did and why it matters (will be public)" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_description -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_description -msgid "Description" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_visibility_mode -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_display -msgid "Display Mode" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_display_name -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_display_name -msgid "Display Name" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_display_mode -msgid "Displayed as" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_batch_distinctive_field -msgid "Distinctive field for batch user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_domain -msgid "" -"Domain for filtering records. General rule, not user depending, e.g. " -"[('state', '=', 'done')]. The expression can contain reference to 'user' " -"which is a browse record of the current user if not in batch mode." -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,state:0 -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Done" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,state:0 selection:gamification.goal,state:0 -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Draft" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_end_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_end_date -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "End Date" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_batch_mode -msgid "Evaluate the expression in batch instead of once for each user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_batch_user_expression -msgid "Evaluted expression for batch mode" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Even if the challenge is failed, best challengers will be rewarded" -msgstr "" - -#. module: gamification -#: selection:gamification.badge,rule_auth:0 -msgid "Everyone" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,display_mode:0 -msgid "Exclusive (done or not-done)" -msgstr "" - -#. module: gamification -#: selection:gamification.goal,state:0 -msgid "Failed" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_field_id -msgid "Field to Sum" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_domain -msgid "Filter Domain" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_first_id -msgid "For 1st user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_second_id -msgid "For 2nd user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_third_id -msgid "For 3rd user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_id -#, fuzzy -msgid "For Every Succeeding User" -msgstr "For Every Succeeding User" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "Formating Options" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_kanban_view -msgid "From" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_full_suffix -msgid "Full Suffix" -msgstr "" - -#. module: gamification -#: model:ir.ui.menu,name:gamification.gamification_menu -msgid "Gamification Tools" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_badge -msgid "Gamification badge" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_challenge -msgid "Gamification challenge" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_challenge_line -msgid "Gamification generic goal for challenge" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_goal_definition -msgid "Gamification goal definition" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_goal -msgid "Gamification goal instance" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_badge_user -msgid "Gamification user badge" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_goal_id -#: model:ir.ui.view,arch_db:gamification.goal_form_view -#: model:ir.ui.view,arch_db:gamification.view_challenge_kanban -msgid "Goal" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_definition_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_id_3147 -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_name -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Goal Definition" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.goal_definition_list_action -#: model:ir.ui.menu,name:gamification.gamification_definition_menu -#: model:ir.ui.view,arch_db:gamification.goal_definition_list_view -msgid "Goal Definitions" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_description -msgid "Goal Description" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Goal Failed" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_list_view -msgid "Goal List" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_condition -msgid "Goal Performance" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Goal Reached" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -#: model:ir.ui.view,arch_db:gamification.challenge_list_view -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "Goal definitions" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.goal_list_action -#: model:ir.ui.menu,name:gamification.gamification_goal_menu -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -#: model:ir.ui.view,arch_db:gamification.view_challenge_kanban -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Goals" -msgstr "" - -#. module: gamification -#: model:gamification.badge,name:gamification.badge_good_job -msgid "Good Job" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_kanban_view -msgid "Grant" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.action_grant_wizard -#: model:ir.ui.view,arch_db:gamification.view_badge_wizard_grant -msgid "Grant Badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_badge_wizard_grant -#: model:ir.ui.view,arch_db:gamification.view_goal_wizard_update_current -msgid "Grant Badge To" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Grant this Badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_user_kanban_view -msgid "Granted by" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Granting" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -#: model:ir.ui.view,arch_db:gamification.goal_definition_search_view -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Group By" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_report_message_group_id -msgid "Group that will receive a copy of the report in addition to the user" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -msgid "HR Challenges" -msgstr "" - -#. module: gamification -#: model:gamification.badge,name:gamification.badge_hidden -msgid "Hidden" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "How to compute the goal?" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_id -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_id -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_id -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_id -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_id -msgid "ID" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_res_id_field -msgid "ID Field of user" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_remaining_sending -msgid "If a maxium is set" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_user_challenge_id -msgid "If this badge was rewarded through a challenge" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_image -msgid "Image" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,state:0 -msgid "In Progress" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "" -"In batch mode, the domain is evaluated globally. If enabled, do not use " -"keyword 'user' in above filter domain." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_batch_distinctive_field -msgid "" -"In batch mode, this indicates which field distinct one user form the other, " -"e.g. user_id, partner_id..." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_last_update -msgid "" -"In case of manual goal, reminders are sent if the goal as not been updated " -"for a while (defined in challenge). Ignored in case of non-manual goal or " -"goal not linked to a challenge." -msgstr "" - -#. module: gamification -#: selection:gamification.goal,state:0 -msgid "In progress" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,visibility_mode:0 -msgid "Individual Goals" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:338 -#, python-format -msgid "Invalid return content from the evaluation of code for definition %s" -msgstr "" - -#. module: gamification -#: model:gamification.goal.definition,name:gamification.definition_base_invite -msgid "Invite new Users" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Invited" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_goal___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition___last_update -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard___last_update -msgid "Last Modified on" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_last_report_date -msgid "Last Report Date" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_last_update -msgid "Last Update" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_write_uid -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_wizard_write_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_write_date -msgid "Last Updated on" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,visibility_mode:0 -msgid "Leader Board (Group Ranking)" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_rule_max_number -msgid "Limitation Number" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Line List" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_ids -msgid "Lines" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_line_ids -msgid "List of goals that will be set" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_user_ids -msgid "List of users participating to the challenge" -msgstr "" - -#. module: gamification -#: model:gamification.goal.definition,name:gamification.definition_nbr_following -msgid "Mail Group Following" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_model_id -#: model:ir.ui.view,arch_db:gamification.goal_definition_search_view -msgid "Model" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_definition_monetary -msgid "Monetary" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_monetary -msgid "Monetary Value" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,period:0 -#: selection:gamification.challenge,report_message_frequency:0 -msgid "Monthly" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_rule_max -msgid "Monthly Limited Sending" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_this_month -msgid "Monthly total" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "My Goals" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_my_monthly_sending -msgid "My Monthly Sending Total" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_my_this_month -msgid "My Monthly Total" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_my -msgid "My Total" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_name -msgid "Name" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,report_message_frequency:0 -msgid "Never" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_remind_update_delay -msgid "Never reminded if no value or zero is specified." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_next_report_date -msgid "Next Report Date" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "No monthly sending limit" -msgstr "" - -#. module: gamification -#: model:gamification.badge,description:gamification.badge_problem_solver -msgid "No one can solve challenges like you do." -msgstr "" - -#. module: gamification -#: selection:gamification.badge,rule_auth:0 -msgid "No one, assigned through challenges" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:756 -#, python-format -msgid "Nobody reached the required conditions to receive special badges." -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,period:0 -msgid "Non recurring" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_remind_update_delay -msgid "Non-updated manual goals will be reminded after" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Notification Messages" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_count_distinct -msgid "Number of users" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,report_message_frequency:0 -msgid "On change" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_rule_auth_badge_ids -msgid "Only the people having these badges can give this badge" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_rule_auth_user_ids -msgid "Only these people can give this badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "Optimisation" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_owner_ids -msgid "Owners" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Participating" -msgstr "" - -#. module: gamification -#: selection:gamification.badge,rule_auth:0 -msgid "People having some badges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -msgid "Period" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_period -msgid "" -"Period of automatic goal assigment. If none is selected, should be launched " -"manually." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_period -msgid "Periodicity" -msgstr "" - -#. module: gamification -#: model:gamification.badge,name:gamification.badge_problem_solver -msgid "Problem Solver" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,display_mode:0 -msgid "Progressive (using numerical values)" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_compute_code -msgid "Python Code" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_compute_code -msgid "" -"Python code to be executed for each user. 'result' should contains the new " -"current value. Evaluated user can be access through object.user_id." -msgstr "" - -#. module: gamification -#: selection:gamification.goal,state:0 -msgid "Reached" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Reached when current value is" -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,computation_mode:0 -msgid "Recorded manually" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Reference" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Refresh Challenge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Reject" -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,name:gamification.goals_from_challenge_act -msgid "Related Goals" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_remaining_sending -msgid "Remaining Sending Allowed" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_remind_update_delay -msgid "Remind delay" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Reminders for Manual Goals" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_report_message_frequency -msgid "Report Frequency" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_report_template_id -msgid "Report Template" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_rule_auth_badge_ids -msgid "Required Badges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Reset Completion" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_manager_id -msgid "Responsible" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:551 -#, python-format -msgid "Retrieving progress for personal challenge without user information" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "Reward" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_failure -msgid "Reward Bests if not Succeeded?" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_reward_realtime -msgid "Reward as soon as every goal is reached" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_challenge_ids -msgid "Reward of Challenges" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_goal_definition_ids -msgid "Rewarded by" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Rewards for challenges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Running" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -msgid "Running Challenges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Schedule" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -msgid "Search Challenges" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_search_view -msgid "Search Goal Definitions" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "Search Goals" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "" -"Security rules to define who is allowed to manually grant badges. Not " -"enforced for administrator." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Send Report" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_report_message_group_id -msgid "Send a copy to" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_sender_id -msgid "Sender" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_sequence -msgid "Sequence" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_line_sequence -msgid "Sequence number for ordering" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_goal_wizard_update_current -msgid "Set the current value you have reached for this goal" -msgstr "" - -#. module: gamification -#: model:gamification.goal.definition,name:gamification.definition_base_company_data -msgid "Set your Company Data" -msgstr "" - -#. module: gamification -#: model:gamification.goal.definition,name:gamification.definition_base_company_logo -msgid "Set your Company Logo" -msgstr "" - -#. module: gamification -#: model:gamification.goal.definition,name:gamification.definition_base_timezone -msgid "Set your Timezone" -msgstr "" - -#. module: gamification -#: model:gamification.challenge,name:gamification.challenge_base_configure -msgid "Setup your Company" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Start Challenge" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_start_date -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_start_date -msgid "Start Date" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "Start goal" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_state -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_state -#: model:ir.ui.view,arch_db:gamification.challenge_search_view -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "State" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "Statistics" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "Subscriptions" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_definition_full_suffix -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_suffix -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_definition_suffix_3141 -msgid "Suffix" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_invited_user_ids -msgid "Suggest to users" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_target_goal -msgid "Target Value to Reach" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_kanban_view -msgid "Target: less than" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_action_id -msgid "The action that will be called to update the goal value." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:740 -#, python-format -msgid "The challenge %s is finished." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_full_suffix -msgid "The currency and suffix field" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_field_date_id -msgid "The date to use for the time period evaluated" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_end_date -msgid "" -"The day a new challenge will be automatically closed. If no periodicity is " -"set, will use this date as the goal end date." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_start_date -msgid "" -"The day a new challenge will be automatically started. If no periodicity is " -"set, will use this date as the goal start date." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:129 -#, python-format -msgid "" -"The domain for the definition %s seems incorrect, please check it.\n" -"\n" -"%s" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_field_id -msgid "The field containing the value to evaluate" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_res_id_field -msgid "" -"The field name on the user profile (res.users) containing the value for " -"res_id for action." -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,condition:0 -msgid "The higher the better" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_owner_ids -msgid "The list of instances of this badge granted to users" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_unique_owner_ids -msgid "The list of unique users having received this badge." -msgstr "" - -#. module: gamification -#: selection:gamification.goal.definition,condition:0 -msgid "The lower the better" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_rule_max_number -msgid "The maximum number of time this badge can be sent per month per person." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:146 -#, python-format -msgid "" -"The model configuration for the definition %s seems incorrect, please check " -"it.\n" -"\n" -"%s not found" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:143 -#, python-format -msgid "" -"The model configuration for the definition %s seems incorrect, please check " -"it.\n" -"\n" -"%s not stored" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_model_id -msgid "The model object for the field to evaluate" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_remind_update_delay -msgid "" -"The number of days after which the user assigned to a manual goal will be " -"reminded. Never reminded if no value is specified." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_my_this_month -msgid "The number of time the current user has received this badge this month." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_my -msgid "The number of time the current user has received this badge." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_my_monthly_sending -msgid "The number of time the current user has sent this badge this month." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_count_distinct -msgid "The number of time this badge has been received by unique users." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_this_month -msgid "The number of time this badge has been received this month." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_stat_count -msgid "The number of time this badge has been received." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_monetary -msgid "The target and current value are defined in the company currency." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_suffix -msgid "The unit of the target and current values" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_manager_id -msgid "The user responsible for the challenge." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_user_sender_id -msgid "The user who has send the badge" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_goal_definition_ids -msgid "" -"The users that have succeeded theses goals will receive automatically the " -"badge." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_definition_batch_user_expression -msgid "" -"The value to compare with the distinctive field. The expression can contain " -"reference to 'user' which is a browse record of the current user, e.g. user." -"id, user.partner_id.id..." -msgstr "" - -#. module: gamification -#: model:ir.actions.act_window,help:gamification.goals_from_challenge_act -msgid "" -"There is no goals associated to this challenge matching your search.\n" -" Make sure that your challenge is active and assigned to at " -"least one user." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "There is no reward upon completion of this challenge." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_goal_closed -msgid "These goals will not be recomputed." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/badge.py:223 -#, python-format -msgid "This badge can not be sent by users." -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_image -msgid "This field holds the image used for the badge, limited to 256x256" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_kanban_view -msgid "To" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_target_goal -msgid "To Reach" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_to_update -msgid "To update" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_stat_count -msgid "Total" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_unique_owner_ids -msgid "Unique Owners" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_line_definition_suffix -msgid "Unit" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_goal_wizard_update_current -msgid "Update" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/goal.py:495 -#, python-format -msgid "Update %s" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_user_id -#: model:ir.model.fields,field_description:gamification.field_gamification_badge_user_wizard_user_id -#: model:ir.model.fields,field_description:gamification.field_gamification_goal_user_id -#: model:ir.ui.view,arch_db:gamification.goal_search_view -msgid "User" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_user_domain -msgid "User domain" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_res_users -#: model:ir.model.fields,field_description:gamification.field_gamification_challenge_user_ids -msgid "Users" -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,period:0 -#: selection:gamification.challenge,report_message_frequency:0 -msgid "Weekly" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_badge_rule_auth -msgid "Who can grant this badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_badge_wizard_grant -msgid "Who would you like to reward?" -msgstr "" - -#. module: gamification -#: model:ir.model.fields,help:gamification.field_gamification_challenge_reward_realtime -msgid "" -"With this option enabled, a user can receive a badge only once. The top 3 " -"badges are still rewarded only at the end of the challenge." -msgstr "" - -#. module: gamification -#: model:gamification.badge,description:gamification.badge_idea -msgid "With your brilliant ideas, you are an inspiration to others." -msgstr "" - -#. module: gamification -#: selection:gamification.challenge,period:0 -#: selection:gamification.challenge,report_message_frequency:0 -msgid "Yearly" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/badge.py:225 -#, python-format -msgid "You are not in the user allowed list." -msgstr "" - -#. module: gamification -#: code:addons/gamification/wizard/grant_badge.py:26 -#, python-format -msgid "You can not grant a badge to yourself" -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/challenge.py:235 -#, python-format -msgid "You can not reset a challenge with unfinished goals." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "You can still grant" -msgstr "" - -#. module: gamification -#: model:gamification.badge,description:gamification.badge_good_job -msgid "You did great at your job." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/badge.py:227 -#, python-format -msgid "You do not have the required badges." -msgstr "" - -#. module: gamification -#: code:addons/gamification/models/badge.py:229 -#, python-format -msgid "You have already sent this badge too many time this month." -msgstr "" - -#. module: gamification -#: model:gamification.badge,description:gamification.badge_hidden -msgid "You have found the hidden badge" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_form_view -msgid "badges this month" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "days" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.challenge_form_view -msgid "e.g. Monthly Sales Objectives" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "e.g. days" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "" -"e.g. result = pool.get('mail.followers').search(cr, uid, [('res_model', '=', " -"'mail.channel'), ('partner_id', '=', object.user_id.partner_id.id)], " -"count=True, context=context)" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_definition_form_view -msgid "e.g. user.partner_id.id" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_badge_user_wizard -msgid "gamification.badge.user.wizard" -msgstr "" - -#. module: gamification -#: model:ir.model,name:gamification.model_gamification_goal_wizard -msgid "gamification.goal.wizard" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_kanban_view -msgid "granted," -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "refresh" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.view_challenge_wizard -msgid "reply later" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.goal_form_view -msgid "than the target." -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_user_kanban_view -msgid "the" -msgstr "" - -#. module: gamification -#: model:ir.ui.view,arch_db:gamification.badge_kanban_view -msgid "this month" -msgstr "" diff --git a/addons/gamification/models/badge.py b/addons/gamification/models/badge.py index 85a08dd3097..78ed035da4d 100644 --- a/addons/gamification/models/badge.py +++ b/addons/gamification/models/badge.py @@ -40,7 +40,7 @@ class BadgeUser(models.Model): # .ids would trigger the "multi mode" which returns a mapping of # res_id to templates template = template_id.get_email_template(badge_user.id) - body_html = Template.with_context(template._context).render_template(template.body_html, 'gamification.badge.user', badge_user.ids) + body_html = Template.with_context(template._context).render_template(template.body_html, 'gamification.badge.user', badge_user.id) badge_user.user_id.message_post( body=body_html, subtype='gamification.mt_badge_granted', diff --git a/addons/hr/i18n/en_US.po b/addons/hr/i18n/en_US.po deleted file mode 100644 index b334d947785..00000000000 --- a/addons/hr/i18n/en_US.po +++ /dev/null @@ -1,1506 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * hr -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-18 08:11+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: hr -#: code:addons/hr/hr.py:120 -#, python-format -msgid "%s (copy)" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "<i>Work in a fun atmosphere</i>" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "<i>You are passionate</i>" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "<i>You autonomously and quickly learn</i>" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "<i>You easily manage them</i>" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_kanban_view_employees -msgid "" -"<span class=\"o_unfollow\">Unfollow</span>\n" -" <span class=\"o_following\">Following</" -"span>" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -msgid "<span>Reports</span>" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -msgid "<span>To Approve</span>" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -msgid "<span>To Do</span>" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "" -"A full time job, with an attractive salary package in a small team of smart " -"people. You will start contract with a full technical and functional " -"training. If you are passionate, motivate and flexible apply for this job, " -"you will certainly join the best company ever." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "A good job in a young and dynamic team" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_active -msgid "Active" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Analyse needs, write specification documents and quotation" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_filter -msgid "Archived" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_bank_account_id -msgid "Bank Account Number" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -msgid "" -"Because of our constant growth, we're now looking for people to reinforce " -"our team of enthusiastic chief technical officer. So if working on an open " -"source project in a friendly and cooperative atmosphere sounds like fun to " -"you, read on..." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "" -"Because of our constant growth, we're now looking for people to reinforce " -"our team of enthusiastic developers. So if working on an open source project " -"in a friendly and cooperative atmosphere sounds like fun to you, read on..." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_trainee -msgid "" -"Because of our constant growth, we're now looking for people to reinforce " -"our team of enthusiastic trainees. So if working on an open source project " -"in a friendly and cooperative atmosphere sounds like fun to you, read on..." -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Birth" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_ceo -msgid "Chief Executive Officer" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_cto -msgid "Chief Technical Officer" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_child_ids -msgid "Child Departments" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Citizenship & Other Information" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_city -msgid "City" -msgstr "" - -#. module: hr -#: model:web.tip,description:hr.hr_tip_2 -msgid "Click here to change the recruitment goal!" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.act_employee_from_department -#: model:ir.actions.act_window,help:hr.open_view_employee_list_my -msgid "Click to add a new employee." -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.open_module_tree_department -msgid "Click to create a department." -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.view_department_form_installer -msgid "Click to define a new department." -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.action_hr_job -msgid "Click to define a new job position." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Close to the perfection ..." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_coach_id -#: model:ir.ui.view,arch_db:hr.view_employee_filter -msgid "Coach" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_code -msgid "Code" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_color -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_color -#: model:ir.model.fields,field_description:hr.field_hr_employee_color -msgid "Color Index" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_department_tree -msgid "Companies" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_company_id -#: model:ir.model.fields,field_description:hr.field_hr_employee_company_id -#: model:ir.model.fields,field_description:hr.field_hr_job_company_id -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Company" -msgstr "" - -#. module: hr -#: model:ir.ui.menu,name:hr.menu_human_resources_configuration -msgid "Configuration" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_consultant -msgid "Consultant" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Contact Information" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Contributions to open source projects" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.view_department_form_installer -msgid "Create Your Departments" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_create_uid -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_create_uid -#: model:ir.model.fields,field_description:hr.field_hr_employee_create_uid -#: model:ir.model.fields,field_description:hr.field_hr_job_create_uid -msgid "Created by" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_create_date -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_create_date -#: model:ir.model.fields,field_description:hr.field_hr_employee_create_date -#: model:ir.model.fields,field_description:hr.field_hr_job_create_date -msgid "Created on" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_no_of_employee -msgid "Current Number of Employees" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_birthday -msgid "Date of Birth" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "Define a clear communication strategy" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_calendar_id -msgid "Define the schedule of resource" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Deliver generic Odoo functional training sessions" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_hr_department -#: model:ir.model.fields,field_description:hr.field_hr_employee_department_id -#: model:ir.model.fields,field_description:hr.field_hr_job_department_id -#: model:ir.ui.view,arch_db:hr.view_department_filter -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Department" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_name -msgid "Department Name" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.open_module_tree_department -#: model:ir.ui.menu,name:hr.menu_hr_department_tree -#: model:ir.ui.view,arch_db:hr.view_department_filter -msgid "Departments" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_display_name -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_display_name -#: model:ir.model.fields,field_description:hr.field_hr_employee_display_name -#: model:ir.model.fields,field_description:hr.field_hr_job_display_name -msgid "Display Name" -msgstr "" - -#. module: hr -#: selection:hr.employee,marital:0 -msgid "Divorced" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_time_efficiency -msgid "Efficiency Factor" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_hr_employee -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Employee" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_hr_employee_category -msgid "Employee Category" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_name -msgid "Employee Tag" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.open_view_categ_form -#: model:ir.ui.menu,name:hr.menu_view_employee_category_form -#: model:ir.ui.view,arch_db:hr.view_employee_category_form -msgid "Employee Tags" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_bank_account_id -msgid "Employee bank salary account" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Employee's Name" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.act_employee_from_department -#: model:ir.actions.act_window,name:hr.open_view_employee_list -#: model:ir.actions.act_window,name:hr.open_view_employee_list_my -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_employee_ids -#: model:ir.model.fields,field_description:hr.field_hr_job_employee_ids -#: model:ir.ui.menu,name:hr.menu_hr_root -#: model:ir.ui.menu,name:hr.menu_open_view_employee_list_my -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_employee_tree -#: model:ir.ui.view,arch_db:hr.view_partner_tree2 -msgid "Employees" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.open_view_employee_tree -msgid "Employees Structure" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_category_list -msgid "Employees Tags" -msgstr "" - -#. module: hr -#: code:addons/hr/hr.py:294 constraint:hr.department:0 -#, python-format -msgid "Error! You cannot create recursive departments." -msgstr "" - -#. module: hr -#: code:addons/hr/hr.py:264 constraint:hr.employee:0 -#, python-format -msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_no_of_recruitment -msgid "Expected New Employees" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_job_expected_employees -msgid "" -"Expected number of employees for this job position after new recruitment." -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_developer -msgid "Experienced Developer" -msgstr "" - -#. module: hr -#: selection:hr.employee,gender:0 -msgid "Female" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_kanban_view_employees -msgid "Follow" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Follow and check the development part" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_kanban_view_employees -msgid "Followers" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_gender -msgid "Gender" -msgstr "" - -#. module: hr -#: model:web.tip,description:hr.hr_tip_1 -msgid "Get all applications related to this job position." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "Good knowledge of HTML and Javascript" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Good knowledge of object oriented programming" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Good knowledge of the latest web technologies" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Good knowledge of the programming language" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Good knowledge of web design" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Good language skills in another language" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Group By" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "HR Settings" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Help with the configuration of the software" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_hrm -msgid "Hire a team of great Human Resources people" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -msgid "Hire a team of great executive people" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_marketing -msgid "Hire a team of great marketing people" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_no_of_hired_employee -msgid "Hired Employees" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_address_home_id -msgid "Home Address" -msgstr "" - -#. module: hr -#: model:ir.ui.menu,name:hr.menu_hr_main -msgid "Human Resources" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_hrm -msgid "Human Resources Manager" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_id -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_id -#: model:ir.model.fields,field_description:hr.field_hr_employee_id -#: model:ir.model.fields,field_description:hr.field_hr_job_id -msgid "ID" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_identification_id -msgid "Identification No" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_active -msgid "" -"If the active field is set to False, it will allow you to hide the resource " -"record without removing it." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "Improve our communication to customers" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "In Position" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "In Recruitment" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "Increase opportunities" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "Increase the visibility of the product" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_hr_job_form -#: model:ir.ui.view,arch_db:hr.view_hr_job_tree -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Job" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_description -msgid "Job Description" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_name -msgid "Job Name" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_hr_job -msgid "Job Position" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_hr_job_form -msgid "Job Position Name" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.action_hr_job -#: model:ir.ui.menu,name:hr.menu_hr_job_position -#: model:ir.ui.menu,name:hr.menu_hr_job_position_config -msgid "Job Positions" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.action_hr_job -msgid "" -"Job Positions are used to define jobs and their requirements.\n" -" You can keep track of the number of employees you have per " -"job\n" -" position and follow the evolution according to what you " -"planned\n" -" for the future." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_job_id -msgid "Job Title" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_jobs_ids -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Jobs" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department___last_update -#: model:ir.model.fields,field_description:hr.field_hr_employee___last_update -#: model:ir.model.fields,field_description:hr.field_hr_employee_category___last_update -#: model:ir.model.fields,field_description:hr.field_hr_job___last_update -msgid "Last Modified on" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_write_uid -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_write_uid -#: model:ir.model.fields,field_description:hr.field_hr_employee_write_uid -#: model:ir.model.fields,field_description:hr.field_hr_job_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_write_date -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_write_date -#: model:ir.model.fields,field_description:hr.field_hr_employee_write_date -#: model:ir.model.fields,field_description:hr.field_hr_job_write_date -msgid "Last Updated on" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_last_login -msgid "Latest Connection" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_hr_job_form -msgid "Launch Recruitment" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_marketing -msgid "Launch new marketing campaigns and offers" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_hrm -msgid "Launch new products, Human Resources campaigns and offers" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -msgid "Launch new products, marketing campaigns and offers" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_login -msgid "Login" -msgstr "" - -#. module: hr -#: selection:hr.employee,gender:0 -msgid "Male" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_manager_id -#: model:ir.model.fields,field_description:hr.field_hr_employee_parent_id -#: model:ir.ui.view,arch_db:hr.view_employee_filter -msgid "Manager" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_marital -msgid "Marital Status" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_marketing -msgid "Marketing and Community Manager" -msgstr "" - -#. module: hr -#: selection:hr.employee,marital:0 -msgid "Married" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Master or engineer in computer science" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_image_medium -msgid "Medium-sized photo" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_image_medium -msgid "" -"Medium-sized photo of the employee. It is automatically resized as a " -"128x128px image, with aspect ratio preserved. Use this field in form views " -"or some kanban views." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_member_ids -msgid "Members" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_kanban_view_employees -msgid "Messages" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -msgid "More <i class=\"fa fa-caret-down\"/>" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Must have ..." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_complete_name -#: model:ir.model.fields,field_description:hr.field_hr_employee_name -#: model:ir.model.fields,field_description:hr.field_hr_employee_name_related -msgid "Name" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_country_id -msgid "Nationality (Country)" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Nice to have" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_note -msgid "Note" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_notes -msgid "Notes" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_job_no_of_employee -msgid "Number of employees currently occupying this job position." -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_job_no_of_hired_employee -msgid "" -"Number of hired employees for this job position during recruitment phase." -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_job_no_of_recruitment -msgid "Number of new employees you expect to recruit." -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.open_module_tree_department -msgid "" -"Odoo's department structure is used to manage all documents\n" -" related to employees by departments: expenses, timesheets,\n" -" leaves and holidays, recruitments, etc." -msgstr "" - -#. module: hr -#: selection:hr.employee,gender:0 -msgid "Other" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Other Information ..." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Our staff at work" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_department_parent_id -msgid "Parent Department" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_res_partner -msgid "Partner" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "Passion for the Internet and its culture" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_passport_id -msgid "Passport No" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Personal Information" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_image -msgid "Photo" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Pictures of smart and enthusiastic people" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Position" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "Preferably 1 year of experience" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Public Information" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Quantify and negotiate the resources required" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "Quick and autonomous learner" -msgstr "" - -#. module: hr -#: selection:hr.job,state:0 -msgid "Recruitment Closed" -msgstr "" - -#. module: hr -#: selection:hr.job,state:0 -msgid "Recruitment in Progress" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "Related User" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_res_users_employee_ids -msgid "Related employees" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_user_id -msgid "Related user name for the resource to manage its access." -msgstr "" - -#. module: hr -#: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet -msgid "Reports" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_requirements -msgid "Requirements" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_resource_id -msgid "Resource" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_resource_type -msgid "Resource Type" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Responsibilities" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_sinid -msgid "SIN No" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_ssnid -msgid "SSN No" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "Scale our events organization all around the world" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_job_state -msgid "" -"Set whether the recruitment process is open or closed for this job position." -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_department_view_kanban -msgid "Settings" -msgstr "" - -#. module: hr -#: selection:hr.employee,marital:0 -msgid "Single" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "Skills" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_image_small -msgid "Small-sized photo" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_image_small -msgid "" -"Small-sized photo of the employee. It is automatically resized as a 64x64px " -"image, with aspect ratio preserved. Use this field anywhere a small image is " -"required." -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_sinid -msgid "Social Insurance Number" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_ssnid -msgid "Social Security Number" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_state -#: model:ir.ui.view,arch_db:hr.view_employee_form -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Status" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_hr_job_form -msgid "Stop Recruitment" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,name:hr.hr_employee_action_subordinate_hierachy -msgid "Subordinate Hierarchy" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_child_ids -msgid "Subordinates" -msgstr "" - -#. module: hr -#: sql_constraint:hr.employee.category:0 -msgid "Tag name already exists !" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_category_ids -msgid "Tags" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Take part in the consulting services" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "Team spirit and good communication" -msgstr "" - -#. module: hr -#: sql_constraint:hr.job:0 -msgid "The name of the job position must be unique per department in company!" -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_time_efficiency -msgid "" -"This field depict the efficiency of the resource to complete tasks. e.g " -"resource put alone on a phase of 5 days with 5 tasks assigned to him, will " -"show a load of 100% for this phase by default, but if we put a efficiency of " -"200%, then his load will only be 50%." -msgstr "" - -#. module: hr -#: model:ir.model.fields,help:hr.field_hr_employee_image -msgid "" -"This field holds the image used as photo for the employee, limited to " -"1024x1024px." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_job_expected_employees -msgid "Total Forecasted Employees" -msgstr "" - -#. module: hr -#: model:hr.job,name:hr.job_trainee -msgid "Trainee" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_marketing -msgid "Transform our product into a suite of well positioned business Apps" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.hr_kanban_view_employees -#: model:ir.ui.view,arch_db:hr.view_department_filter -#: model:ir.ui.view,arch_db:hr.view_employee_filter -#: model:ir.ui.view,arch_db:hr.view_job_filter -msgid "Unread Messages" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_user_id -msgid "User" -msgstr "" - -#. module: hr -#: model:ir.model,name:hr.model_res_users -msgid "Users" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "" -"We are looking for a motivated and results-driven Functional Consultant! You " -"will take part in the consulting services we provide to our partners and " -"customers, on the functional side. Your job start from the quotation to the " -"customer to the delivery to the customer. You listen the customer and try to " -"give him the best service. You report to the head of consulting service and " -"will be coached by a senior consultant." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_hrm -msgid "" -"We are looking for a passionated Human Resources Manager to help us make " -"products people love to use. We need someone who is ambitious, passionated, " -"and ..... not afraid to start new things, a lot of new things and scale them." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -msgid "" -"We are looking for a passionated executive manager to help us make products " -"people love to use. We need someone who is ambitious, passionated, and ..... " -"not afraid to start new things, a lot of new things and scale them." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_marketing -msgid "" -"We are looking for a passionated marketer manager to help us make products " -"people love to use. We need someone who is ambitious, passionated, and ..... " -"not afraid to start new things, a lot of new things and scale them." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "What we offer" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "What you will do ..." -msgstr "" - -#. module: hr -#: selection:hr.employee,marital:0 -msgid "Widower" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "Will report to the Head of Professional Services" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.act_employee_from_department -#: model:ir.actions.act_window,help:hr.open_view_employee_list_my -msgid "" -"With just a quick glance on the Odoo employee screen, you\n" -" can easily find all the information you need for each " -"person;\n" -" contact data, job position, availability, etc." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#: model:hr.job,website_description:hr.job_trainee -msgid "" -"With our product, which is a suite of 3000 business apps. It is fully open " -"source, full featured and it’s online offer is 3 times cheaper than " -"traditional competitors. We have 2.000.000 users, and we're growing fast." -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_work_email -msgid "Work Email" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_work_location -msgid "Work Location" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_mobile_phone -msgid "Work Mobile" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_work_phone -msgid "Work Phone" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_address_id -msgid "Working Address" -msgstr "" - -#. module: hr -#: model:ir.model.fields,field_description:hr.field_hr_employee_calendar_id -msgid "Working Time" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_marketing -msgid "Write attractive content" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_hrm -msgid "Write attractive content and build up Human Resources materials" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -msgid "Write attractive content and build up executive materials" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You are a quick and autonomous learner" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You are an excellent communicator and negotiator" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "You are approachable, honest and fun team player" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You are available immediately" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "You are creative" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You are ready to travel in US" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "You are ready to work in a dynamic company" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.action_hr_job -msgid "" -"You can attach a survey to a job position. It will be used in\n" -" the recruitment process to evaluate the applicants for this " -"job\n" -" position." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You have 2 or 3 years of experience" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You have a Master degree in Business Management" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -#: model:hr.job,website_description:hr.job_marketing -msgid "You have an affinity with the IT world" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -msgid "You have an affinity with the product" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You have good knowledge in accounting" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You speak a third language" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_consultant -msgid "You speak fluently French and English" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_trainee -#, fuzzy -msgid "" -"You will be responsible for developing and improving applications. You will " -"work autonomously as well as coordinate and supervise " -"small distributed development teams for specific projects. You will become a " -"technical expert of the product." -msgstr "" -"You will be responsible for developing and improving applications. You will " -"work autonomously as well as coordinate and supervise " -"small distributed development teams for specific projects. You will become a " -"technical expert of the product." - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -#, fuzzy -msgid "" -"You will be responsible for developing and improving applications. You will " -"work autonomously as well as coordinate and supervise small distributed " -"development teams for specific projects. You will become a technical expert " -"of the product." -msgstr "" -"You will be responsible for developing and improving applications. You will " -"work autonomously as well as coordinate and supervise small distributed " -"development teams for specific projects. You will become a technical expert " -"of the product." - -#. module: hr -#: model:hr.job,website_description:hr.job_ceo -#: model:hr.job,website_description:hr.job_hrm -#: model:hr.job,website_description:hr.job_marketing -#, fuzzy -msgid "" -"You will be responsible for developing and improving product communication. " -"You will work autonomously as well as coordinate and supervise small " -"distributed development teams for specific projects. You will become a " -"techinical expert of the product." -msgstr "" -"You will be responsible for developing and improving applications. You will " -"work autonomously as well as coordinate and supervise small distributed " -"development teams for specific projects. You will become a technical expert " -"of the product." - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "You will become a technical expert of the product." -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "You will initially be coached by senior developers" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -msgid "You will initially be coached by senior technical officer" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_trainee -msgid "You will initially be coached by senior trainees" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -#: model:hr.job,website_description:hr.job_developer -#: model:hr.job,website_description:hr.job_trainee -msgid "You will report to the head of R&D" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_developer -msgid "You will work closely with all developers" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_cto -msgid "You will work closely with all technical officer" -msgstr "" - -#. module: hr -#: model:hr.job,website_description:hr.job_trainee -msgid "You will work closely with all trainees" -msgstr "" - -#. module: hr -#: model:ir.actions.act_window,help:hr.view_department_form_installer -msgid "" -"Your departments structure is used to manage all documents\n" -" related to employees by departments: expenses and " -"timesheets,\n" -" leaves and holidays, recruitments, etc." -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_department_form -msgid "department" -msgstr "" - -#. module: hr -#: model:ir.ui.view,arch_db:hr.view_employee_form -msgid "e.g. Part Time" -msgstr "" diff --git a/addons/hr_expense/i18n/hr_expense.pot b/addons/hr_expense/i18n/hr_expense.pot index 90e4ed7a973..d82d43920f1 100644 --- a/addons/hr_expense/i18n/hr_expense.pot +++ b/addons/hr_expense/i18n/hr_expense.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #. openerp-web #: code:addons/hr_expense/static/src/js/tour.js:19 #, python-format -msgid "<p>Once completed, you can <b>submit the expense</b> for approval.</p><p><i>Tip: from the list view, select all expenses to submit them all at once, in a single report.</i>" +msgid "<p>Once completed, you can <b>submit the expense</b> for approval.</p><p><i>Tip: from the list view, select all expenses to submit them all at once, in a single report.</i></p>" msgstr "" #. module: hr_expense @@ -121,11 +121,18 @@ msgid "Actual expense sheets, not the refused ones" msgstr "" #. module: hr_expense +#: model:product.product,name:hr_expense.air_ticket +#: model:product.template,name:hr_expense.air_ticket_product_template +msgid "Air Flight" +msgstr "" + +#. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_config_settings_alias_domain msgid "Alias Domain" msgstr "" #. module: hr_expense +#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_all #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_all msgid "All Expense Reports" msgstr "" @@ -186,6 +193,12 @@ msgid "Cancel" msgstr "" #. module: hr_expense +#: model:product.product,name:hr_expense.car_travel +#: model:product.template,name:hr_expense.car_travel_product_template +msgid "Car Travel Expenses" +msgstr "" + +#. module: hr_expense #: model:ir.ui.view,arch_db:hr_expense.report_expense_sheet msgid "Certified honest and conform,<br/>(Date and signature).<br/><br/>" msgstr "" @@ -429,16 +442,19 @@ msgid "Expense Reports To Approve" msgstr "" #. module: hr_expense +#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_pay #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_pay msgid "Expense Reports To Pay" msgstr "" #. module: hr_expense +#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_post #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_sheet_all_to_post msgid "Expense Reports To Post" msgstr "" #. module: hr_expense +#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_approve #: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_department_to_approve msgid "Expense Reports to Approve" msgstr "" @@ -605,6 +621,12 @@ msgid "Hide payment method" msgstr "" #. module: hr_expense +#: model:product.product,name:hr_expense.hotel_rent +#: model:product.template,name:hr_expense.hotel_rent_product_template +msgid "Hotel Accommodation" +msgstr "" + +#. module: hr_expense #: model:ir.model,name:hr_expense.model_hr_department msgid "Hr Department" msgstr "" @@ -624,7 +646,7 @@ msgstr "" #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_id #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_refuse_wizard_id #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_register_payment_wizard_id -#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_id_8881 +#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_id_8892 msgid "ID" msgstr "" @@ -666,6 +688,11 @@ msgid "Last Updated on" msgstr "" #. module: hr_expense +#: model:res.groups,name:hr_expense.group_hr_expense_manager +msgid "Manager" +msgstr "" + +#. module: hr_expense #. openerp-web #: code:addons/hr_expense/static/src/js/tour.js:41 #, python-format @@ -685,14 +712,10 @@ msgstr "" #. module: hr_expense #: model:ir.actions.act_window,name:hr_expense.hr_expense_actions_my_unsubmitted -msgid "My Expenses to Report" +msgid "My Expenses to Submit" msgstr "" #. module: hr_expense -#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_all -#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_approve -#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_pay -#: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_all_to_post #: model:ir.actions.act_window,name:hr_expense.action_hr_expense_sheet_my_all #: model:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter msgid "My Reports" @@ -759,6 +782,11 @@ msgid "Number of Attachments" msgstr "" #. module: hr_expense +#: model:res.groups,name:hr_expense.group_hr_expense_user +msgid "Officer" +msgstr "" + +#. module: hr_expense #: model:ir.actions.act_window,help:hr_expense.action_hr_expense_refused_expenses #: model:ir.actions.act_window,help:hr_expense.hr_expense_actions_my_unsubmitted msgid "Once approved, your expense report, goes to the accounting," @@ -1128,7 +1156,7 @@ msgstr "" #. module: hr_expense #: selection:hr.expense,state:0 #: model:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter -msgid "To Report" +msgid "To Submit" msgstr "" #. module: hr_expense diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 84886443a37..a6b1364308d 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -254,7 +254,7 @@ class HrExpense(models.Model): # Calculate tax lines and adjust base line taxes = expense.tax_ids.compute_all(expense.unit_amount, expense.currency_id, expense.quantity, expense.product_id) account_move[-1]['price'] = taxes['total_excluded'] - account_move[-1]['tax_ids'] = expense.tax_ids.id + account_move[-1]['tax_ids'] = expense.tax_ids.ids for tax in taxes['taxes']: account_move.append({ 'type': 'tax', diff --git a/addons/hr_holidays/models/hr_holidays.py b/addons/hr_holidays/models/hr_holidays.py index fea6698288c..dee086da682 100644 --- a/addons/hr_holidays/models/hr_holidays.py +++ b/addons/hr_holidays/models/hr_holidays.py @@ -539,6 +539,7 @@ class Holidays(models.Model): #################################################### # Messaging methods #################################################### + @api.multi def _track_subtype(self, init_values): if 'state' in init_values and self.state == 'validate': @@ -551,34 +552,23 @@ class Holidays(models.Model): return 'hr_holidays.mt_holidays_refused' return super(Holidays, self)._track_subtype(init_values) - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the mail.thread method to handle HR users and officers - recipients. Indeed those will have specific action in their notification - emails. - """ - group_hr_holidays_user = self.env.ref('hr_holidays.group_hr_holidays_user') - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and group_hr_holidays_user in recipient.user_ids[0].groups_id: - group_data['group_hr_holidays_user'] |= recipient - done_ids.add(recipient.id) - return super(Holidays, self)._notification_group_recipients(message, recipients, done_ids, group_data) - @api.multi - def _notification_get_recipient_groups(self, message, recipients): - result = super(Holidays, self)._notification_get_recipient_groups(message, recipients) + def _notification_recipients(self, message, groups): + """ Handle HR users and officers recipients that can validate or refuse holidays + directly from email. """ + groups = super(Holidays, self)._notification_recipients(message, groups) - app_action = '/mail/method?%s' % url_encode({'model': self._name, 'res_id': self.id, 'method': 'action_validate'}) - ref_action = '/mail/method?%s' % url_encode({'model': self._name, 'res_id': self.id, 'method': 'action_refuse'}) - - actions = [] + self.ensure_one() if self.state == 'confirm': - actions.append({'url': app_action, 'title': 'Approve'}) + app_action = self._notification_link_helper('method', method='action_validate') + hr_actions = [{'url': app_action, 'title': _('Approve')}] if self.state in ['confirm', 'validate', 'validate1']: - actions.append({'url': ref_action, 'title': 'Refuse'}) + ref_action = self._notification_link_helper('method', method='action_refuse') + hr_actions = [{'url': ref_action, 'title': _('Refuse')}] - result['group_hr_holidays_user'] = { - 'actions': actions - } - return result + new_group = ( + 'group_hr_holidays_user', lambda partner: bool(partner.user_ids) and any(user.has_group('hr_holidays.group_hr_holidays_user') for user in partner.user_ids), { + 'actions': hr_actions, + }) + + return [new_group] + groups diff --git a/addons/hr_timesheet/i18n/hr_timesheet.pot b/addons/hr_timesheet/i18n/hr_timesheet.pot index 6f5b257524b..b146dc6b256 100644 --- a/addons/hr_timesheet/i18n/hr_timesheet.pot +++ b/addons/hr_timesheet/i18n/hr_timesheet.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-26 10:25+0000\n" -"PO-Revision-Date: 2016-08-26 10:25+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: \n" #. module: hr_timesheet +#: model:ir.ui.view,arch_db:hr_timesheet.view_project_kanban_inherited +msgid "<span class=\"o_label\">Timesheets</span>" +msgstr "" + +#. module: hr_timesheet #: model:ir.ui.view,arch_db:hr_timesheet.report_timesheet msgid "<span>Timesheet Entries</span>" msgstr "" @@ -38,6 +43,12 @@ msgid "Activity Analysis" msgstr "" #. module: hr_timesheet +#: model:ir.model.fields,field_description:hr_timesheet.field_project_project_allow_timesheets +#: model:ir.ui.view,arch_db:hr_timesheet.project_invoice_form +msgid "Allow timesheets" +msgstr "" + +#. module: hr_timesheet #: model:ir.model,name:hr_timesheet.model_account_analytic_line msgid "Analytic Line" msgstr "" @@ -147,6 +158,11 @@ msgid "My Timesheet" msgstr "" #. module: hr_timesheet +#: model:res.groups,name:hr_timesheet.group_hr_timesheet_user +msgid "Officer" +msgstr "" + +#. module: hr_timesheet #: model:ir.model.fields,field_description:hr_timesheet.field_project_task_parent_id msgid "Parent Task" msgstr "" diff --git a/addons/im_livechat/i18n/en_US.po b/addons/im_livechat/i18n/en_US.po deleted file mode 100644 index c3ae15ffcb6..00000000000 --- a/addons/im_livechat/i18n/en_US.po +++ /dev/null @@ -1,812 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_livechat -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2015-10-09 09:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_nbr_channel -msgid "# of channel" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_nbr_speaker -msgid "# of speakers" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rating_percentage_satisfaction -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "% Happy" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_action -msgid "" -"* Select 'Display the button' to simply display the chat button on the " -"pages.\n" -"* Select 'Auto popup' for to display the button, and automatically open the " -"conversation window.\n" -"* Select 'Hide the button' to hide the chat button on the pages." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "" -"<span>Define rules for your live support channel. You can apply an action " -"(disable the support, automatically open your support, or just make the " -"button available) for the given URL, and per country.<br/>To identify the " -"country, GeoIP must be install on your server, otherwise, the countries of " -"the rule will not be taken into account.</span>" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_action -msgid "Action" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_mail_channel_anonymous_name -msgid "Anonymous Name" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_are_you_inside -msgid "Are you inside the matrix?" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/js/im_livechat.js:27 -#, python-format -msgid "Ask something ..." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_form -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_tree -msgid "Attendees" -msgstr "" - -#. module: im_livechat -#: selection:im_livechat.channel.rule,action:0 -msgid "Auto popup" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_auto_popup_timer -msgid "Auto popup timer" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_duration -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_duration -msgid "Average duration" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_nbr_message -msgid "Average message" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_operator_time_to_answer -msgid "Average time to give the first answer to the visitor" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:13 -#, python-format -msgid "Bad" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_livechat_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_livechat_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_mail_channel_livechat_channel_id -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Channel" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_channel_name -msgid "Channel Name" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_rule_view_form -msgid "Channel Rule" -msgstr "" - -#. module: im_livechat -#: model:ir.model,name:im_livechat.model_im_livechat_channel_rule -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "Channel Rules" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.menu,name:im_livechat.support_channels -msgid "Channels" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_input_placeholder -msgid "Chat Input Placeholder" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/js/im_livechat.js:29 -#, python-format -msgid "Chat with one of our collaborators" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,help:im_livechat.im_livechat_channel_action -msgid "Click to define a new website live chat channel." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_technical_name -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -msgid "Code" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_channel_id -msgid "Conversation" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "" -"Copy and paste this code into your website, within the <head> tag:" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_country_ids -msgid "Country" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_create_uid -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_create_uid -msgid "Created by" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_create_date -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_create_date -msgid "Created on" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Creation date (day)" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -msgid "Creation date (hour)" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Creation date (month)" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Creation date (week)" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Creation date (year)" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_button_text -msgid "Default text displayed on the Livechat Support Button" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_auto_popup_timer -msgid "" -"Delay (in seconds) to automatically open the converssation window. Note : " -"the selected action must be 'Auto popup', otherwise this parameter will not " -"be take into account." -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:7 -#, python-format -msgid "Did we correctly answer your question ?" -msgstr "" - -#. module: im_livechat -#: model:ir.model,name:im_livechat.model_mail_channel -msgid "Discussion channel" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_display_name -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_display_name -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_display_name -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_display_name -msgid "Display Name" -msgstr "" - -#. module: im_livechat -#: selection:im_livechat.channel.rule,action:0 -msgid "Display the button" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_channel_duration -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_operator_duration -msgid "Duration of the conversation (in seconds)" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,help:im_livechat.im_livechat_channel_action -msgid "" -"Each channel has it's own URL that you can send by email to\n" -" your customers in order to start chatting with you." -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:19 -#, python-format -msgid "Explain your note" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "" -"For website built with Odoo CMS, please install the website_livechat module. " -"Then go to Settings > Website Settings and select the Website Live Chat " -"Channel you want to add on your website." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_sequence -msgid "" -"Given the order to find a matching rule. If 2 rules are matching for the " -"given url/country, the one with the lowest sequence will be chosen." -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:11 -#, python-format -msgid "Good" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Group By..." -msgstr "" - -#. module: im_livechat -#: selection:im_livechat.channel.rule,action:0 -msgid "Hide the button" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,name:im_livechat.mail_channel_action -#: model:ir.ui.menu,name:im_livechat.session_history -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_form -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_tree -msgid "History" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_start_date_hour -msgid "Hour of start Date of session" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/js/im_livechat.js:30 -#, python-format -msgid "How may I help you?" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "How to use the Website Live Chat widget?" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:15 -#, python-format -msgid "I don't want to rate this conversation" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_id -msgid "ID" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_image -msgid "Image" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_kanban -msgid "Join" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "Join Channel" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -msgid "Last 24h" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel___last_update -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule___last_update -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel___last_update -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator___last_update -msgid "Last Modified on" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_write_uid -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_write_date -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_write_date -msgid "Last Updated on" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -msgid "Last Week" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "Leave Channel" -msgstr "" - -#. module: im_livechat -#: model:ir.module.category,name:im_livechat.module_category_im_livechat -msgid "Live Support" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat_backend.xml:9 -#, python-format -msgid "Livechat" -msgstr "" - -#. module: im_livechat -#: model:ir.model,name:im_livechat.model_im_livechat_channel -msgid "Livechat Channel" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,help:im_livechat.im_livechat_report_channel_action -#: model:ir.actions.act_window,help:im_livechat.im_livechat_report_operator_action -msgid "" -"Livechat Support Channel Statistics allows you to easily check and analyse " -"your company livechat session performance. Extract information about the " -"missed sessions, the audiance, the duration of a session, etc." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.support_page -msgid "Livechat Support Page" -msgstr "" - -#. module: im_livechat -#: model:ir.model,name:im_livechat.model_im_livechat_report_channel -#: model:ir.model,name:im_livechat.model_im_livechat_report_operator -msgid "Livechat Support Report" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,name:im_livechat.im_livechat_report_channel_action -#: model:ir.actions.act_window,name:im_livechat.im_livechat_report_operator_action -msgid "Livechat Support Report Channel" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_graph -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_pivot -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_graph -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_pivot -msgid "Livechat Support Statistics" -msgstr "" - -#. module: im_livechat -#: model:res.groups,name:im_livechat.im_livechat_group_manager -msgid "Manager" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_sequence -msgid "Matching order" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_image_medium -msgid "Medium" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_image_medium -msgid "" -"Medium-sized photo of the group. It is automatically resized as a 128x128px " -"image, with aspect ratio preserved. Use this field in form views or some " -"kanban views." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -msgid "Missed sessions" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_name -msgid "Name" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/js/im_livechat.js:117 -#, python-format -msgid "" -"None of our collaborators seems to be available, please try again later." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_nbr_channel -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_operator_nbr_channel -msgid "Number of conversation" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_channel_nbr_speaker -msgid "Number of different speakers" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_channel_nbr_message -msgid "Number of message in the conversation" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/xml/im_livechat.xml:12 -#, python-format -msgid "OK" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_partner_id -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_partner_id -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -#, fuzzy -msgid "Operator" -msgstr "Operator" - -#. module: im_livechat -#: model:ir.ui.menu,name:im_livechat.menu_reporting_livechat_operator -msgid "Operator Analysis" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_user_ids -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -#, fuzzy -msgid "Operators" -msgstr "Operator" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_kanban -msgid "" -"Operators\n" -" <br/>\n" -" <i class=\"fa fa-comments\"/>" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "Options" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rating_percentage_satisfaction -msgid "Percentage of happy ratings over the past 7 days" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_kanban -msgid "Quit" -msgstr "" - -#. module: im_livechat -#: model:ir.model,name:im_livechat.model_rating_rating -msgid "Rating" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/static/src/js/im_livechat.js:309 -#, python-format -msgid "Rating: :rating_%d" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_regex_url -msgid "" -"Regular expression identifying the web page on which the rules will be " -"applied." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.menu,name:im_livechat.menu_reporting_livechat -msgid "Report" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_ids -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_rule_view_tree -msgid "Rules" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_script_external -msgid "Script (external)" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_search -msgid "Search history" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search -msgid "Search report" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_form -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_tree -msgid "Session Date" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.mail_channel_view_form -msgid "Session Form" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.menu,name:im_livechat.menu_reporting_livechat_channel -msgid "Session Statistics" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,name:im_livechat.mail_channel_action_from_livechat_channel -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_channel_ids -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_kanban -msgid "Sessions" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_image_small -msgid "" -"Small-sized photo of the group. It is automatically resized as a 64x64px " -"image, with aspect ratio preserved. Use this field anywhere a small image is " -"required." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_start_date -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_start_date -msgid "Start Date of session" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_channel_start_date -#: model:ir.model.fields,help:im_livechat.field_im_livechat_report_operator_start_date -msgid "Start date of the conversation" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_button_text -msgid "Text of the Button" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_country_ids -msgid "" -"The actual rule will match only for this country. So if you set select " -"'Belgium' and 'France' and you set the action to 'Hide Buttun', this 2 " -"country will not be see the support button for the specified URL. This " -"feature requires GeoIP installed on your server." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_rule_channel_id -msgid "The channel of the rule" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_name -msgid "The name of the channel" -msgstr "" - -#. module: im_livechat -#: model:res.groups,comment:im_livechat.im_livechat_group_manager -msgid "The user will be able to delete support channels." -msgstr "" - -#. module: im_livechat -#: model:res.groups,comment:im_livechat.im_livechat_group_user -msgid "The user will be able to join support channels." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_image -msgid "" -"This field holds the image used as photo for the group, limited to " -"1024x1024px." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_default_message -msgid "" -"This is an automated 'welcome' message that your visitor will see when they " -"initiate a new conversation." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_image_small -msgid "Thumbnail" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_operator_time_to_answer -msgid "Time to answer" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search -msgid "Treated sessions" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule_regex_url -msgid "URL Regex" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,help:im_livechat.field_im_livechat_channel_web_page -msgid "" -"URL to a static page where you client can discuss with the operator of the " -"channel." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel_uuid -msgid "UUID" -msgstr "" - -#. module: im_livechat -#: model:res.groups,name:im_livechat.im_livechat_group_user -msgid "User" -msgstr "" - -#. module: im_livechat -#. openerp-web -#: code:addons/im_livechat/controllers/main.py:30 -#: code:addons/im_livechat/static/src/js/im_livechat.js:28 -#, python-format -msgid "Visitor" -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_web_page -msgid "Web Page" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.menu,name:im_livechat.menu_livechat_root -msgid "Website Live Chat" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,name:im_livechat.im_livechat_channel_action -msgid "Website Live Chat Channels" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.support_page -msgid "Website Live Chat Powered by <strong>Odoo</strong>." -msgstr "" - -#. module: im_livechat -#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_default_message -msgid "Welcome Message" -msgstr "" - -#. module: im_livechat -#: model:ir.actions.act_window,help:im_livechat.im_livechat_channel_action -msgid "" -"You can create channels for each website on which you want\n" -" to integrate the website live chat widget, allowing your " -"website\n" -" visitors to talk in real time with your operators." -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "e.g. Hello, how may I help you?" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "e.g. YourWebsite.com" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_view_form -msgid "or copy this url and send it by email to your customers or suppliers:" -msgstr "" - -#. module: im_livechat -#: model:ir.ui.view,arch_db:im_livechat.im_livechat_channel_rule_view_form -msgid "seconds" -msgstr "" diff --git a/addons/im_odoo_support/i18n/af.po b/addons/im_odoo_support/i18n/af.po deleted file mode 100644 index 0c60c1e32e0..00000000000 --- a/addons/im_odoo_support/i18n/af.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Andre de Kock <adekock11@gmail.com>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-11-10 09:31+0000\n" -"Last-Translator: Andre de Kock <adekock11@gmail.com>\n" -"Language-Team: Afrikaans (http://www.transifex.com/odoo/odoo-9/language/" -"af/)\n" -"Language: af\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fout!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Die konneksie na die Odoo Support Server het misluk. Probeer asseblief in 'n " -"paar minute, of stuur 'n epos aan support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/am.po b/addons/im_odoo_support/i18n/am.po deleted file mode 100644 index 07995a9773d..00000000000 --- a/addons/im_odoo_support/i18n/am.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Amharic (http://www.transifex.com/odoo/odoo-9/language/am/)\n" -"Language: am\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "ስህተት!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/ar.po b/addons/im_odoo_support/i18n/ar.po deleted file mode 100644 index 82ef13de36a..00000000000 --- a/addons/im_odoo_support/i18n/ar.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Arabic (http://www.transifex.com/odoo/odoo-9/language/ar/)\n" -"Language: ar\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "خطأ" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"فشل الاتصال بملقمات دعم أودو. الرجاء إعادة المحاولة خلال بضع دقائق، أو أرسل " -"بريداً إلكترونياً مباشرة إلى support@odoo.com" diff --git a/addons/im_odoo_support/i18n/bg.po b/addons/im_odoo_support/i18n/bg.po deleted file mode 100644 index a66faa52332..00000000000 --- a/addons/im_odoo_support/i18n/bg.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Bulgarian (http://www.transifex.com/odoo/odoo-9/language/" -"bg/)\n" -"Language: bg\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Грешка" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/bn.po b/addons/im_odoo_support/i18n/bn.po deleted file mode 100644 index 3e107cca8fc..00000000000 --- a/addons/im_odoo_support/i18n/bn.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Bengali (http://www.transifex.com/odoo/odoo-9/language/bn/)\n" -"Language: bn\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "ভুল" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/bs.po b/addons/im_odoo_support/i18n/bs.po deleted file mode 100644 index 0316a225f0c..00000000000 --- a/addons/im_odoo_support/i18n/bs.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Bosnian (http://www.transifex.com/odoo/odoo-9/language/bs/)\n" -"Language: bs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Greška" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/ca.po b/addons/im_odoo_support/i18n/ca.po deleted file mode 100644 index 7637c9927af..00000000000 --- a/addons/im_odoo_support/i18n/ca.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Catalan (http://www.transifex.com/odoo/odoo-9/language/ca/)\n" -"Language: ca\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/cs.po b/addons/im_odoo_support/i18n/cs.po deleted file mode 100644 index 4a817e764bf..00000000000 --- a/addons/im_odoo_support/i18n/cs.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Czech (http://www.transifex.com/odoo/odoo-9/language/cs/)\n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Chyba" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/da.po b/addons/im_odoo_support/i18n/da.po deleted file mode 100644 index e6779ef3cda..00000000000 --- a/addons/im_odoo_support/i18n/da.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Danish (http://www.transifex.com/odoo/odoo-9/language/da/)\n" -"Language: da\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fejl!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/de.po b/addons/im_odoo_support/i18n/de.po deleted file mode 100644 index 9151a79d8a3..00000000000 --- a/addons/im_odoo_support/i18n/de.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: German (http://www.transifex.com/odoo/odoo-9/language/de/)\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fehler" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Die Verbindung zum Odoo Supportserver ist fehlgeschlagen. Versuchen Sie es " -"in ein paar Minuten noch einmal. Sie können auch eine E-Mail an support@odoo." -"com senden wenn der Fehler weiterhin auftritt." diff --git a/addons/im_odoo_support/i18n/el.po b/addons/im_odoo_support/i18n/el.po deleted file mode 100644 index 60eb13d9d59..00000000000 --- a/addons/im_odoo_support/i18n/el.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Greek (http://www.transifex.com/odoo/odoo-9/language/el/)\n" -"Language: el\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Σφάλμα" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/en_GB.po b/addons/im_odoo_support/i18n/en_GB.po deleted file mode 100644 index cd18d200b33..00000000000 --- a/addons/im_odoo_support/i18n/en_GB.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: English (United Kingdom) (http://www.transifex.com/odoo/" -"odoo-9/language/en_GB/)\n" -"Language: en_GB\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es.po b/addons/im_odoo_support/i18n/es.po deleted file mode 100644 index 82fc4606f2a..00000000000 --- a/addons/im_odoo_support/i18n/es.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (http://www.transifex.com/odoo/odoo-9/language/es/)\n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La conexión con el servidor de soporte de Odoo ha fallado. Reintente por " -"favor en unos minutos, o mande un correo electrónico a support@odoo.com." diff --git a/addons/im_odoo_support/i18n/es_AR.po b/addons/im_odoo_support/i18n/es_AR.po deleted file mode 100644 index 2edcaafc555..00000000000 --- a/addons/im_odoo_support/i18n/es_AR.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Argentina) (http://www.transifex.com/odoo/odoo-9/" -"language/es_AR/)\n" -"Language: es_AR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_BO.po b/addons/im_odoo_support/i18n/es_BO.po deleted file mode 100644 index 966f3ad7fca..00000000000 --- a/addons/im_odoo_support/i18n/es_BO.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Bolivia) (http://www.transifex.com/odoo/odoo-9/" -"language/es_BO/)\n" -"Language: es_BO\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_CL.po b/addons/im_odoo_support/i18n/es_CL.po deleted file mode 100644 index c7ee3841eff..00000000000 --- a/addons/im_odoo_support/i18n/es_CL.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CL/)\n" -"Language: es_CL\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_CO.po b/addons/im_odoo_support/i18n/es_CO.po deleted file mode 100644 index a5e548389b9..00000000000 --- a/addons/im_odoo_support/i18n/es_CO.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Mateo Tibaquirá <nestormateo@gmail.com>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-10-28 13:24+0000\n" -"Last-Translator: Mateo Tibaquirá <nestormateo@gmail.com>\n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CO/)\n" -"Language: es_CO\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La conexión con el Servidor de Soporte de Odoo falló. Por favor vuelva a " -"intentarlo en unos minutos, o envíe un correo a support@odoo.com." diff --git a/addons/im_odoo_support/i18n/es_CR.po b/addons/im_odoo_support/i18n/es_CR.po deleted file mode 100644 index a0b835bc1e7..00000000000 --- a/addons/im_odoo_support/i18n/es_CR.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Costa Rica) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CR/)\n" -"Language: es_CR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_DO.po b/addons/im_odoo_support/i18n/es_DO.po deleted file mode 100644 index af2b5376b8e..00000000000 --- a/addons/im_odoo_support/i18n/es_DO.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Dominican Republic) (http://www.transifex.com/odoo/" -"odoo-9/language/es_DO/)\n" -"Language: es_DO\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_EC.po b/addons/im_odoo_support/i18n/es_EC.po deleted file mode 100644 index e089f9e58bb..00000000000 --- a/addons/im_odoo_support/i18n/es_EC.po +++ /dev/null @@ -1,39 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Rick Hunter <rick_hunter_ec@yahoo.com>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-12-14 06:14+0000\n" -"Last-Translator: Rick Hunter <rick_hunter_ec@yahoo.com>\n" -"Language-Team: Spanish (Ecuador) (http://www.transifex.com/odoo/odoo-9/" -"language/es_EC/)\n" -"Language: es_EC\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La conexión con el Servidor de Soporte Odoo ha fallado. Por favor, " -"reintentar en unos minutos o enviar un correo electrónico a support@odoo." -"com ." diff --git a/addons/im_odoo_support/i18n/es_MX.po b/addons/im_odoo_support/i18n/es_MX.po deleted file mode 100644 index 910fb5078ec..00000000000 --- a/addons/im_odoo_support/i18n/es_MX.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# David Hernandez <davidhernandez.ctam@gmail.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-01-15 16:03+0000\n" -"Last-Translator: David Hernandez <davidhernandez.ctam@gmail.com>\n" -"Language-Team: Spanish (Mexico) (http://www.transifex.com/odoo/odoo-9/" -"language/es_MX/)\n" -"Language: es_MX\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La conexión con el servidor de soporte Odoo falló. Vuelve a intentarlo en " -"unos minutos, o enviar un correo electrónico a support@odoo.com." diff --git a/addons/im_odoo_support/i18n/es_PE.po b/addons/im_odoo_support/i18n/es_PE.po deleted file mode 100644 index a65281d453f..00000000000 --- a/addons/im_odoo_support/i18n/es_PE.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-06-16 05:26+0000\n" -"Last-Translator: Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>\n" -"Language-Team: Spanish (Peru) (http://www.transifex.com/odoo/odoo-9/language/" -"es_PE/)\n" -"Language: es_PE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La conexión con el Servidor de Soporte de Odoo ha fallado. Por favor " -"reintente en unos minutos, o envíe un email a support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/es_PY.po b/addons/im_odoo_support/i18n/es_PY.po deleted file mode 100644 index b32a53b6e5a..00000000000 --- a/addons/im_odoo_support/i18n/es_PY.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Paraguay) (http://www.transifex.com/odoo/odoo-9/" -"language/es_PY/)\n" -"Language: es_PY\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/es_VE.po b/addons/im_odoo_support/i18n/es_VE.po deleted file mode 100644 index 4e85dc7d5f7..00000000000 --- a/addons/im_odoo_support/i18n/es_VE.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Venezuela) (http://www.transifex.com/odoo/odoo-9/" -"language/es_VE/)\n" -"Language: es_VE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/et.po b/addons/im_odoo_support/i18n/et.po deleted file mode 100644 index 541fda03abb..00000000000 --- a/addons/im_odoo_support/i18n/et.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Estonian (http://www.transifex.com/odoo/odoo-9/language/et/)\n" -"Language: et\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Tõrge" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/eu.po b/addons/im_odoo_support/i18n/eu.po deleted file mode 100644 index 5fee7ab7a1e..00000000000 --- a/addons/im_odoo_support/i18n/eu.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Basque (http://www.transifex.com/odoo/odoo-9/language/eu/)\n" -"Language: eu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Errorea!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/fa.po b/addons/im_odoo_support/i18n/fa.po deleted file mode 100644 index af8e3a375f8..00000000000 --- a/addons/im_odoo_support/i18n/fa.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Persian (http://www.transifex.com/odoo/odoo-9/language/fa/)\n" -"Language: fa\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "خطا" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/fi.po b/addons/im_odoo_support/i18n/fi.po deleted file mode 100644 index 1e7448c4194..00000000000 --- a/addons/im_odoo_support/i18n/fi.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Finnish (http://www.transifex.com/odoo/odoo-9/language/fi/)\n" -"Language: fi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Virhe" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/fr.po b/addons/im_odoo_support/i18n/fr.po deleted file mode 100644 index a7cc660dbc1..00000000000 --- a/addons/im_odoo_support/i18n/fr.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: French (http://www.transifex.com/odoo/odoo-9/language/fr/)\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Erreur" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La connection au serveur de support Odoo a échoué. Veuillez réessayer dans " -"quelques minutes, ou envoyer un courriel à support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/fr_CA.po b/addons/im_odoo_support/i18n/fr_CA.po deleted file mode 100644 index 11d5165dcb0..00000000000 --- a/addons/im_odoo_support/i18n/fr_CA.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: French (Canada) (http://www.transifex.com/odoo/odoo-9/" -"language/fr_CA/)\n" -"Language: fr_CA\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Erreur!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/gl.po b/addons/im_odoo_support/i18n/gl.po deleted file mode 100644 index 8387d1a2984..00000000000 --- a/addons/im_odoo_support/i18n/gl.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Galician (http://www.transifex.com/odoo/odoo-9/language/gl/)\n" -"Language: gl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Erro" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/gu.po b/addons/im_odoo_support/i18n/gu.po deleted file mode 100644 index a83a0dfff79..00000000000 --- a/addons/im_odoo_support/i18n/gu.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Gujarati (http://www.transifex.com/odoo/odoo-9/language/gu/)\n" -"Language: gu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "ભૂલ" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/he.po b/addons/im_odoo_support/i18n/he.po deleted file mode 100644 index bc7bbabd7fb..00000000000 --- a/addons/im_odoo_support/i18n/he.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Hebrew (http://www.transifex.com/odoo/odoo-9/language/he/)\n" -"Language: he\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "שגיאה" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/hi.po b/addons/im_odoo_support/i18n/hi.po deleted file mode 100644 index 8cee3ac1b4b..00000000000 --- a/addons/im_odoo_support/i18n/hi.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Zeeshan Ali Khan <zeeshan1234@gmail.com>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-11-05 10:51+0000\n" -"Last-Translator: Zeeshan Ali Khan <zeeshan1234@gmail.com>\n" -"Language-Team: Hindi (http://www.transifex.com/odoo/odoo-9/language/hi/)\n" -"Language: hi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "त्रुटि!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Odoo सर्वर से संपर्क स्थापित नहीं किया जा सका। कृपया कुछ मिनट बाद प्रयास करें, या " -"support@odoo.com पर मेल करें। " diff --git a/addons/im_odoo_support/i18n/hr.po b/addons/im_odoo_support/i18n/hr.po deleted file mode 100644 index b92a71de404..00000000000 --- a/addons/im_odoo_support/i18n/hr.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Croatian (http://www.transifex.com/odoo/odoo-9/language/hr/)\n" -"Language: hr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Greška" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/hu.po b/addons/im_odoo_support/i18n/hu.po deleted file mode 100644 index 3ba5b627b2b..00000000000 --- a/addons/im_odoo_support/i18n/hu.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Hungarian (http://www.transifex.com/odoo/odoo-9/language/" -"hu/)\n" -"Language: hu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Hiba" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"A kapcsolat az Odoo rendszer támogató szerverével nem sikerült. Kérem " -"próbálkozzon pár perc múlva, vagy küldjön e-mailt a support@odoo.com címre." diff --git a/addons/im_odoo_support/i18n/hy.po b/addons/im_odoo_support/i18n/hy.po deleted file mode 100644 index f4f8b963953..00000000000 --- a/addons/im_odoo_support/i18n/hy.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Armenian (http://www.transifex.com/odoo/odoo-9/language/hy/)\n" -"Language: hy\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Սխալ" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/id.po b/addons/im_odoo_support/i18n/id.po deleted file mode 100644 index 4b63bab61e0..00000000000 --- a/addons/im_odoo_support/i18n/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Indonesian (http://www.transifex.com/odoo/odoo-9/language/" -"id/)\n" -"Language: id\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Gagal!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/im_odoo_support.pot b/addons/im_odoo_support/i18n/im_odoo_support.pot deleted file mode 100644 index a4a3fd1e164..00000000000 --- a/addons/im_odoo_support/i18n/im_odoo_support.pot +++ /dev/null @@ -1,31 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.saas~10c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-08-18 14:07+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "The connection with the Odoo Support Server failed. Please retry in a few minutes, or send an email to help@odoo.com ." -msgstr "" - diff --git a/addons/im_odoo_support/i18n/is.po b/addons/im_odoo_support/i18n/is.po deleted file mode 100644 index 3d2eaf87d00..00000000000 --- a/addons/im_odoo_support/i18n/is.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Icelandic (http://www.transifex.com/odoo/odoo-9/language/" -"is/)\n" -"Language: is\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Villa!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/it.po b/addons/im_odoo_support/i18n/it.po deleted file mode 100644 index 7835ce7063f..00000000000 --- a/addons/im_odoo_support/i18n/it.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Italian (http://www.transifex.com/odoo/odoo-9/language/it/)\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Errore" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"La connessione con il server di supporto Odoo è fallita. Prego riprovare tra " -"qualche minuto o inviare una email a: support@odoo.com." diff --git a/addons/im_odoo_support/i18n/ja.po b/addons/im_odoo_support/i18n/ja.po deleted file mode 100644 index 3e6f65128d0..00000000000 --- a/addons/im_odoo_support/i18n/ja.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Japanese (http://www.transifex.com/odoo/odoo-9/language/ja/)\n" -"Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "エラー" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/ka.po b/addons/im_odoo_support/i18n/ka.po deleted file mode 100644 index a50828dad09..00000000000 --- a/addons/im_odoo_support/i18n/ka.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-07-20 09:44+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Georgian (http://www.transifex.com/odoo/odoo-9/language/ka/)\n" -"Language: ka\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "შეცდომა" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"დაკავშირება Odoo-ს დახმარების სერვისთან წარუმატებლად დასრულდა. გთხოვთ სცადოთ " -"ხელახლა რამდენიმე წუთში, ან გააგზავნეთ ელ-წერილი მისამართზე: support@odoo.com" diff --git a/addons/im_odoo_support/i18n/kab.po b/addons/im_odoo_support/i18n/kab.po deleted file mode 100644 index f5e74ba3559..00000000000 --- a/addons/im_odoo_support/i18n/kab.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Kabyle (http://www.transifex.com/odoo/odoo-9/language/kab/)\n" -"Language: kab\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Tuccḍa" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Tuqqna ɣer uqeddac n tallalt Odoo tennegza. Ɛreḍ di kra n tesdatin, neɣ azem " -"imayl ɣer support@odoo.com" diff --git a/addons/im_odoo_support/i18n/kk.po b/addons/im_odoo_support/i18n/kk.po deleted file mode 100644 index 94ed0833ccb..00000000000 --- a/addons/im_odoo_support/i18n/kk.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Kazakh (http://www.transifex.com/odoo/odoo-9/language/kk/)\n" -"Language: kk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Қате" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/ko.po b/addons/im_odoo_support/i18n/ko.po deleted file mode 100644 index 9da7df7e8eb..00000000000 --- a/addons/im_odoo_support/i18n/ko.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Korean (http://www.transifex.com/odoo/odoo-9/language/ko/)\n" -"Language: ko\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "오류" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Odoo 고객 지원 서버로의 연결이 실패했습니다. 잠시 후 다시 시도하거나, " -"support@odoo.com으로 이메일을 발송하십시오." diff --git a/addons/im_odoo_support/i18n/lo.po b/addons/im_odoo_support/i18n/lo.po deleted file mode 100644 index fa0de8be1c7..00000000000 --- a/addons/im_odoo_support/i18n/lo.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Aefgh Threenine <aefgh3962@gmail.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-02-27 16:57+0000\n" -"Last-Translator: Aefgh Threenine <aefgh3962@gmail.com>\n" -"Language-Team: Lao (http://www.transifex.com/odoo/odoo-9/language/lo/)\n" -"Language: lo\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "ພິດພາດ!" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"ການເຊື່ອມໂຍງກັບຜູ້ໃຫ້ບໍລິການສະໜັບສະໜູນຂອງ Odoo ລົ້ມເຫຼວ. ກະລຸນາລອງໃໝ່ອີກຄັ້ງພາຍໃນສອງສາມນາທີ, ຫຼື " -"ສົ່ງອີເມວໄປ support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/lt.po b/addons/im_odoo_support/i18n/lt.po deleted file mode 100644 index b50c9fee023..00000000000 --- a/addons/im_odoo_support/i18n/lt.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Lithuanian (http://www.transifex.com/odoo/odoo-9/language/" -"lt/)\n" -"Language: lt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Klaida" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/lv.po b/addons/im_odoo_support/i18n/lv.po deleted file mode 100644 index 36f858f0860..00000000000 --- a/addons/im_odoo_support/i18n/lv.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Latvian (http://www.transifex.com/odoo/odoo-9/language/lv/)\n" -"Language: lv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Kļūda" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/mk.po b/addons/im_odoo_support/i18n/mk.po deleted file mode 100644 index 1664e4368b2..00000000000 --- a/addons/im_odoo_support/i18n/mk.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Macedonian (http://www.transifex.com/odoo/odoo-9/language/" -"mk/)\n" -"Language: mk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Грешка" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Конекцијата со Odoo Support Server не може да се воспостави. Ве молиме " -"пробајте повторно за неколку минути, или пратете емаил на support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/mn.po b/addons/im_odoo_support/i18n/mn.po deleted file mode 100644 index 6528a702099..00000000000 --- a/addons/im_odoo_support/i18n/mn.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Mongolian (http://www.transifex.com/odoo/odoo-9/language/" -"mn/)\n" -"Language: mn\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Алдаа" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Odoo дэмжлэгийн сервертэй холболт амжилтгүй боллоо. Хэдэн минутын дараа " -"дахин оролдоно уу, support@odoo.com хаяг руу имэйл илгээнэ үү." diff --git a/addons/im_odoo_support/i18n/nb.po b/addons/im_odoo_support/i18n/nb.po deleted file mode 100644 index 453b6dedb57..00000000000 --- a/addons/im_odoo_support/i18n/nb.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Norwegian Bokmål (http://www.transifex.com/odoo/odoo-9/" -"language/nb/)\n" -"Language: nb\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Feil" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/nl.po b/addons/im_odoo_support/i18n/nl.po deleted file mode 100644 index 2897a5bf70e..00000000000 --- a/addons/im_odoo_support/i18n/nl.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Dutch (http://www.transifex.com/odoo/odoo-9/language/nl/)\n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fout" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"De connectie met de Odoo support server is mislukt. Probeert u het opnieuw " -"over een paar minuten, of stuur een e-mail naar support@odoo.com." diff --git a/addons/im_odoo_support/i18n/nl_BE.po b/addons/im_odoo_support/i18n/nl_BE.po deleted file mode 100644 index 9fbabd453b1..00000000000 --- a/addons/im_odoo_support/i18n/nl_BE.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Dutch (Belgium) (http://www.transifex.com/odoo/odoo-9/" -"language/nl_BE/)\n" -"Language: nl_BE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fout" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/pl.po b/addons/im_odoo_support/i18n/pl.po deleted file mode 100644 index 6969c04f1ab..00000000000 --- a/addons/im_odoo_support/i18n/pl.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Piotr Szlązak <szlazakpiotr@gmail.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-06-22 05:07+0000\n" -"Last-Translator: Piotr Szlązak <szlazakpiotr@gmail.com>\n" -"Language-Team: Polish (http://www.transifex.com/odoo/odoo-9/language/pl/)\n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Błąd" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Nieudane połączenie z serwerem wsparcia Odoo. Prosimy spróbować ponownie za " -"kilka minut lub wysłać email do support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/pt.po b/addons/im_odoo_support/i18n/pt.po deleted file mode 100644 index affcb9f13df..00000000000 --- a/addons/im_odoo_support/i18n/pt.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Portuguese (http://www.transifex.com/odoo/odoo-9/language/" -"pt/)\n" -"Language: pt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Erro" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/pt_BR.po b/addons/im_odoo_support/i18n/pt_BR.po deleted file mode 100644 index 17b8bc4ea88..00000000000 --- a/addons/im_odoo_support/i18n/pt_BR.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/odoo/odoo-9/" -"language/pt_BR/)\n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Erro" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"A conexão falhou. Por favor, tente novamente em alguns minutos , ou envie um " -"e-mail para support@odoo.com" diff --git a/addons/im_odoo_support/i18n/ro.po b/addons/im_odoo_support/i18n/ro.po deleted file mode 100644 index 4950f342a88..00000000000 --- a/addons/im_odoo_support/i18n/ro.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Romanian (http://www.transifex.com/odoo/odoo-9/language/ro/)\n" -"Language: ro\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Eroare" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Conexiunea cu suportul pentru server Odoo a eșuat. Vă rugăm să încercați din " -"nou în câteva minute, sau trimite un e-mail la support@odoo.com." diff --git a/addons/im_odoo_support/i18n/ru.po b/addons/im_odoo_support/i18n/ru.po deleted file mode 100644 index 3e44bd2d9e9..00000000000 --- a/addons/im_odoo_support/i18n/ru.po +++ /dev/null @@ -1,40 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Denis Trepalin <zekarious@gmail.com>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-10-20 15:15+0000\n" -"Last-Translator: Denis Trepalin <zekarious@gmail.com>\n" -"Language-Team: Russian (http://www.transifex.com/odoo/odoo-9/language/ru/)\n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Ошибка" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Не удалось установить соединение с сервером поддержки Odoo. Пожалуйста, " -"попробуйте подключиться снова через несколько минут или отправьте письмо на " -"адрес support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/sk.po b/addons/im_odoo_support/i18n/sk.po deleted file mode 100644 index e1dda97a2a3..00000000000 --- a/addons/im_odoo_support/i18n/sk.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Jaroslav Bosansky <jaro.bosansky@ekoenergo.sk>, 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-10-25 11:39+0000\n" -"Last-Translator: Pavol Krnáč <pavol.krnac@ekoenergo.sk>\n" -"Language-Team: Slovak (http://www.transifex.com/odoo/odoo-9/language/sk/)\n" -"Language: sk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Chyba" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Spojenie s Odoo podporným serverom zlyhalo. Prosím skúste opäť o chvíľu, " -"alebo pošlite mail na support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/sl.po b/addons/im_odoo_support/i18n/sl.po deleted file mode 100644 index 3e660bb4a7f..00000000000 --- a/addons/im_odoo_support/i18n/sl.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Slovenian (http://www.transifex.com/odoo/odoo-9/language/" -"sl/)\n" -"Language: sl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Napaka" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Povezava s strežnikom Odoo podpore je spodletela. Poskusite ponovno čez " -"nekaj minut, ali pa pošljite e-pošto na support@odoo.com." diff --git a/addons/im_odoo_support/i18n/sr.po b/addons/im_odoo_support/i18n/sr.po deleted file mode 100644 index 453d3f95704..00000000000 --- a/addons/im_odoo_support/i18n/sr.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Serbian (http://www.transifex.com/odoo/odoo-9/language/sr/)\n" -"Language: sr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Greška" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/sr@latin.po b/addons/im_odoo_support/i18n/sr@latin.po deleted file mode 100644 index b57034278eb..00000000000 --- a/addons/im_odoo_support/i18n/sr@latin.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/odoo/odoo-9/" -"language/sr@latin/)\n" -"Language: sr@latin\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Greška" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/sv.po b/addons/im_odoo_support/i18n/sv.po deleted file mode 100644 index b99c11dff9c..00000000000 --- a/addons/im_odoo_support/i18n/sv.po +++ /dev/null @@ -1,34 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Swedish (http://www.transifex.com/odoo/odoo-9/language/sv/)\n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Fel" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/te.po b/addons/im_odoo_support/i18n/te.po deleted file mode 100644 index 5009b20f3d2..00000000000 --- a/addons/im_odoo_support/i18n/te.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# ramyasri kola <ramyasri.kola@gmail.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-03-02 16:51+0000\n" -"Last-Translator: ramyasri kola <ramyasri.kola@gmail.com>\n" -"Language-Team: Telugu (http://www.transifex.com/odoo/odoo-9/language/te/)\n" -"Language: te\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "పొరపాటు" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Odoo మద్దతు సర్వర్ కనెక్షన్ విఫలమైంది. కొన్ని నిమిషాల్లో మళ్లీ ప్రయత్నించండి లేదా support@odoo.com ఒక " -"ఇమెయిల్ పంపండి" diff --git a/addons/im_odoo_support/i18n/th.po b/addons/im_odoo_support/i18n/th.po deleted file mode 100644 index 53324cc98a4..00000000000 --- a/addons/im_odoo_support/i18n/th.po +++ /dev/null @@ -1,37 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# Rockers <sumorock@hotmail.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-04-28 08:15+0000\n" -"Last-Translator: Khwunchai Jaengsawang <khwunchai.j@ku.th>\n" -"Language-Team: Thai (http://www.transifex.com/odoo/odoo-9/language/th/)\n" -"Language: th\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "ผิดพลาด" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"การเชื่อมโยงกับเซิร์ฟเวอร์สนับสนุนของ Odoo ล้มเหลว กรุณาลองอีกครั้งภายในอีกสองสามนาที " -"หรือส่งอีเมลมาที่ support@odoo.com" diff --git a/addons/im_odoo_support/i18n/tr.po b/addons/im_odoo_support/i18n/tr.po deleted file mode 100644 index 8f40d570323..00000000000 --- a/addons/im_odoo_support/i18n/tr.po +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Turkish (http://www.transifex.com/odoo/odoo-9/language/tr/)\n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Hata" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Odoo Destek Sunucusuna bağlantı yapılamadı. Bir kaç dakika sonra yeniden " -"deneyin veya support@odoo.com adresine eposta gönderin." diff --git a/addons/im_odoo_support/i18n/uk.po b/addons/im_odoo_support/i18n/uk.po deleted file mode 100644 index 29463f0c2fc..00000000000 --- a/addons/im_odoo_support/i18n/uk.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Ukrainian (http://www.transifex.com/odoo/odoo-9/language/" -"uk/)\n" -"Language: uk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"Помилка з’єднання з сервером підтримки Odoo. Будь ласка спробуйте ще раз " -"через декілька хвилин або відправте лист на support@odoo.com ." diff --git a/addons/im_odoo_support/i18n/vi.po b/addons/im_odoo_support/i18n/vi.po deleted file mode 100644 index 7e3e74b950a..00000000000 --- a/addons/im_odoo_support/i18n/vi.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Vietnamese (http://www.transifex.com/odoo/odoo-9/language/" -"vi/)\n" -"Language: vi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Lỗi" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/im_odoo_support/i18n/zh_CN.po b/addons/im_odoo_support/i18n/zh_CN.po deleted file mode 100644 index 22c9247d13d..00000000000 --- a/addons/im_odoo_support/i18n/zh_CN.po +++ /dev/null @@ -1,39 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -# jeffery9, 2015 -# 卓忆科技 <zhanghao@jointd.com>, 2016 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-05-30 13:30+0000\n" -"Last-Translator: 卓忆科技 <zhanghao@jointd.com>\n" -"Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-9/" -"language/zh_CN/)\n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, fuzzy, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" -"与Odoo支持服务器连接失败。请在几分钟后重试,或发送电子邮件至 support@odoo." -"com。" diff --git a/addons/im_odoo_support/i18n/zh_TW.po b/addons/im_odoo_support/i18n/zh_TW.po deleted file mode 100644 index 5e37ff8b1a7..00000000000 --- a/addons/im_odoo_support/i18n/zh_TW.po +++ /dev/null @@ -1,35 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * im_odoo_support -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-30 09:26+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/odoo/odoo-9/" -"language/zh_TW/)\n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "Error" -msgstr "錯誤" - -#. module: im_odoo_support -#. openerp-web -#: code:addons/im_odoo_support/static/src/js/im_odoo_support.js:79 -#, python-format -msgid "" -"The connection with the Odoo Support Server failed. Please retry in a few " -"minutes, or send an email to help@odoo.com ." -msgstr "" diff --git a/addons/l10n_be/__manifest__.py b/addons/l10n_be/__manifest__.py index b19362519ae..1c62b70607f 100644 --- a/addons/l10n_be/__manifest__.py +++ b/addons/l10n_be/__manifest__.py @@ -34,7 +34,7 @@ Wizards provided by this module: **Path to access :** Invoicing/Reporting/Legal Reports/Belgium Statements/Annual Listing Of VAT-Subjected Customers """, - 'author': 'Noviat & Odoo SA', + 'author': 'Noviat, Odoo SA', 'depends': [ 'account', 'base_vat', diff --git a/addons/l10n_be/data/account_pcmn_belgium_data.xml b/addons/l10n_be/data/account_pcmn_belgium_data.xml index 1f47f09cc08..b8730176185 100644 --- a/addons/l10n_be/data/account_pcmn_belgium_data.xml +++ b/addons/l10n_be/data/account_pcmn_belgium_data.xml @@ -487,12 +487,6 @@ <field name="user_type_id" ref="account.data_account_type_current_liabilities"/> <field name="chart_template_id" ref="l10nbe_chart_template"/> </record> - <record id="a4250" model="account.account.template"> - <field name="name">Fournisseurs</field> - <field name="code">4250</field> - <field name="user_type_id" ref="account.data_account_type_current_liabilities"/> - <field name="chart_template_id" ref="l10nbe_chart_template"/> - </record> <record id="a430" model="account.account.template"> <field name="name">Etablissements de crédit. Emprunts en compte à terme fixe</field> <field name="code">430</field> @@ -500,7 +494,7 @@ <field name="chart_template_id" ref="l10nbe_chart_template"/> </record> <record id="a440" model="account.account.template"> - <field name="name">Entreprises liées</field> + <field name="name">Fournisseurs</field> <field name="code">440</field> <field name="user_type_id" ref="account.data_account_type_payable"/> <field name="chart_template_id" ref="l10nbe_chart_template"/> diff --git a/addons/l10n_be/data/account_tax_template_data.xml b/addons/l10n_be/data/account_tax_template_data.xml index d52c55a9bef..30a8a1b5312 100644 --- a/addons/l10n_be/data/account_tax_template_data.xml +++ b/addons/l10n_be/data/account_tax_template_data.xml @@ -221,6 +221,8 @@ <field name="sequence">40</field> <field name="description">0%</field> <field name="name">0% Services</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -231,6 +233,8 @@ <record id="attn_VAT-OUT-00-L" model="account.tax.template"> <field name="sequence">41</field> <field name="description">0%</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="name">0%</field> <field name="price_include" eval="0"/> <field name="amount">0</field> @@ -243,6 +247,8 @@ <field name="sequence">50</field> <field name="description">0%</field> <field name="name">0% Cocontractant</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -254,6 +260,8 @@ <field name="sequence">60</field> <field name="description">0%</field> <field name="name">0% EU Services</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -265,6 +273,8 @@ <field name="sequence">61</field> <field name="description">0%</field> <field name="name">0% EU L</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -277,6 +287,8 @@ <field name="description">0%</field> <field name="name">0% EU T</field> <field name="price_include" eval="0"/> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="amount">0</field> <field name="amount_type">percent</field> <field name="type_tax_use">none</field> @@ -287,6 +299,8 @@ <field name="sequence">70</field> <field name="description">0%</field> <field name="name">0% Export Non EU</field> + <field name="refund_account_id" ref="a451054"/> + <field name="account_id" ref="a451054"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -337,6 +351,8 @@ <field name="sequence">140</field> <field name="description">0%</field> <field name="name">0% Marchandises</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -439,6 +455,8 @@ <field name="sequence">270</field> <field name="description">0%</field> <field name="name">0% Services</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -450,6 +468,8 @@ <field name="sequence">280</field> <field name="description">0%</field> <field name="name">0% Biens divers</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -500,6 +520,8 @@ <field name="sequence">340</field> <field name="description">0%</field> <field name="name">0% Biens d'investissement</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -1032,6 +1054,8 @@ <field name="sequence">1140</field> <field name="description">VAT-IN-V81-00-EU</field> <field name="name">TVA à l'entrée 0% Intracomm. - Approvisionn. et marchandises</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> @@ -1265,6 +1289,8 @@ <field name="sequence">1270</field> <field name="description">VAT-IN-V82-00-EU-S</field> <field name="name">TVA à l'entrée 0% Intracomm. - Services</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> @@ -1313,6 +1339,8 @@ <field name="sequence">1280</field> <field name="description">VAT-IN-V82-00-EU-G</field> <field name="name">TVA à l'entrée 0% Intracomm. - Biens divers</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0</field> <field name="amount_type">percent</field> @@ -1398,6 +1426,8 @@ <field name="sequence">1340</field> <field name="description">VAT-IN-V83-00-EU</field> <field name="name">TVA à l'entrée 0% Intracomm. - Biens d'investissement</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> @@ -1520,6 +1550,8 @@ <field name="sequence">2140</field> <field name="description">VAT-IN-V81-00-ROW-CC</field> <field name="name">TVA à l'entrée 0% Hors EU - Approvisionn. et marchandises</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> @@ -1642,6 +1674,8 @@ <field name="sequence">2240</field> <field name="description">VAT-IN-V82-00-ROW-CC</field> <field name="name">TVA à l'entrée 0% Hors EU - Services and other goods</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> @@ -1764,6 +1798,8 @@ <field name="sequence">2340</field> <field name="description">VAT-IN-V83-00-ROW-CC</field> <field name="name">0% Non EU - Biens d'investissement</field> + <field name="refund_account_id" ref="a411059"/> + <field name="account_id" ref="a411059"/> <field name="price_include" eval="0"/> <field name="amount">0.0</field> <field name="amount_type">percent</field> diff --git a/addons/l10n_be/i18n_extra/nl_BE.po b/addons/l10n_be/i18n_extra/nl_BE.po index 4516f76832a..d40cd32f598 100644 --- a/addons/l10n_be/i18n_extra/nl_BE.po +++ b/addons/l10n_be/i18n_extra/nl_BE.po @@ -701,7 +701,7 @@ msgstr "R.S.Z. 4de kwartaal" #. module: l10n_be #: model:account.account.template,name:l10n_be.a4540 msgid "ONSS. Arriérés" -msgstr "" +msgstr "Achterstallige bijdragen RSZ" #. module: l10n_be #: model:account.account.template,name:l10n_be.a4553 @@ -879,7 +879,7 @@ msgstr "Waardeverminderingen op voorraden" #. module: l10n_be #: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_4 msgid "Régime Cocontractant" -msgstr "" +msgstr "Medecontractant" #. module: l10n_be #: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_2 diff --git a/addons/l10n_de_skr03/data/l10n_de_skr03_chart_data.xml b/addons/l10n_de_skr03/data/l10n_de_skr03_chart_data.xml index 368cd9a5937..d725d573070 100644 --- a/addons/l10n_de_skr03/data/l10n_de_skr03_chart_data.xml +++ b/addons/l10n_de_skr03/data/l10n_de_skr03_chart_data.xml @@ -484,7 +484,7 @@ <record model="account.account.template" id="account_1120"> <field name="name">Postbank 2</field> <field name="code">1120</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -708,7 +708,7 @@ <record model="account.account.template" id="account_1010"> <field name="name">Nebenkasse 1</field> <field name="code">1010</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -750,14 +750,14 @@ <record model="account.account.template" id="account_1130"> <field name="name">Postbank 3</field> <field name="code">1130</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> <record model="account.account.template" id="account_1230"> <field name="name">Bank 3</field> <field name="code">1230</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -806,7 +806,7 @@ <record model="account.account.template" id="account_1330"> <field name="name">Schecks</field> <field name="code">1330</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -925,7 +925,7 @@ <record model="account.account.template" id="account_1240"> <field name="name">Bank 4</field> <field name="code">1240</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -1492,7 +1492,7 @@ <record model="account.account.template" id="account_1190"> <field name="name">LZB-Guthaben</field> <field name="code">1190</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -2850,7 +2850,7 @@ <record model="account.account.template" id="account_1220"> <field name="name">Bank 2</field> <field name="code">1220</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -3116,7 +3116,7 @@ <record model="account.account.template" id="account_1110"> <field name="name">Postbank 1</field> <field name="code">1110</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -4019,7 +4019,7 @@ <record model="account.account.template" id="account_1020"> <field name="name">Nebenkasse 2</field> <field name="code">1020</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -4796,7 +4796,7 @@ <record model="account.account.template" id="account_1210"> <field name="name">Bank 1</field> <field name="code">1210</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -5020,7 +5020,7 @@ <record model="account.account.template" id="account_1100"> <field name="name">Postbank</field> <field name="code">1100</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -6161,7 +6161,7 @@ <record model="account.account.template" id="account_1250"> <field name="name">Bank 5</field> <field name="code">1250</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -6511,7 +6511,7 @@ <record model="account.account.template" id="account_1195"> <field name="name">Bundesbankguthaben</field> <field name="code">1195</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> @@ -7218,7 +7218,7 @@ <record model="account.account.template" id="account_1360"> <field name="name">Geldtransit</field> <field name="code">1360</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_de_chart_template"/> </record> diff --git a/addons/l10n_de_skr04/data/l10n_de_skr04_chart_data.xml b/addons/l10n_de_skr04/data/l10n_de_skr04_chart_data.xml index 81b0d42574f..fb9f9bf758d 100644 --- a/addons/l10n_de_skr04/data/l10n_de_skr04_chart_data.xml +++ b/addons/l10n_de_skr04/data/l10n_de_skr04_chart_data.xml @@ -3463,7 +3463,7 @@ <record id="chart_skr04_1460" model="account.account.template"> <field name="code">1460</field> <field name="name">Geldtransit</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3615,7 +3615,7 @@ <record id="chart_skr04_1610" model="account.account.template"> <field name="code">1610</field> <field name="name">Nebenkasse 1</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3623,7 +3623,7 @@ <record id="chart_skr04_1620" model="account.account.template"> <field name="code">1620</field> <field name="name">Nebenkasse 2</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3631,7 +3631,7 @@ <record id="chart_skr04_1700" model="account.account.template"> <field name="code">1700</field> <field name="name">Postbank</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3639,7 +3639,7 @@ <record id="chart_skr04_1710" model="account.account.template"> <field name="code">1710</field> <field name="name">Postbank 1</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3647,7 +3647,7 @@ <record id="chart_skr04_1720" model="account.account.template"> <field name="code">1720</field> <field name="name">Postbank 2</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3655,7 +3655,7 @@ <record id="chart_skr04_1730" model="account.account.template"> <field name="code">1730</field> <field name="name">Postbank 3</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3679,7 +3679,7 @@ <record id="chart_skr04_1810" model="account.account.template"> <field name="code">1810</field> <field name="name">Bank 1</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3687,7 +3687,7 @@ <record id="chart_skr04_1820" model="account.account.template"> <field name="code">1820</field> <field name="name">Bank 2</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3695,7 +3695,7 @@ <record id="chart_skr04_1830" model="account.account.template"> <field name="code">1830</field> <field name="name">Bank 3</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3703,7 +3703,7 @@ <record id="chart_skr04_1840" model="account.account.template"> <field name="code">1840</field> <field name="name">Bank 4</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> @@ -3711,7 +3711,7 @@ <record id="chart_skr04_1850" model="account.account.template"> <field name="code">1850</field> <field name="name">Bank 5</field> - <field name="reconcile" eval="True"/> + <field name="reconcile" eval="False"/> <field name="user_type_id" ref="account.data_account_type_current_assets"/> <field name="chart_template_id" ref="l10n_chart_de_skr04"/> </record> diff --git a/addons/l10n_fr/data/account_fiscal_position_template_data.xml b/addons/l10n_fr/data/account_fiscal_position_template_data.xml index 68be1323c2c..51108bb0be8 100644 --- a/addons/l10n_fr/data/account_fiscal_position_template_data.xml +++ b/addons/l10n_fr/data/account_fiscal_position_template_data.xml @@ -38,30 +38,55 @@ <field name="tax_src_id" ref="tva_normale" /> <field name="tax_dest_id" ref="tva_intra_0" /> </record> + <record id="fp_tax_template_intraeub2b_vt_normale_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_intraeub2b" /> + <field name="tax_src_id" ref="tva_normale_ttc" /> + <field name="tax_dest_id" ref="tva_intra_0" /> + </record> <!-- Taux DOM-TOM --> <record id="fp_tax_template_intraeub2b_vt_specifique" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_intraeub2b" /> <field name="tax_src_id" ref="tva_specifique" /> <field name="tax_dest_id" ref="tva_intra_0" /> </record> + <record id="fp_tax_template_intraeub2b_vt_specifique_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_intraeub2b" /> + <field name="tax_src_id" ref="tva_specifique_ttc" /> + <field name="tax_dest_id" ref="tva_intra_0" /> + </record> <!-- Taux Intermédiaire --> <record id="fp_tax_template_intraeub2b_vt_intermediaire" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_intraeub2b" /> <field name="tax_src_id" ref="tva_intermediaire" /> <field name="tax_dest_id" ref="tva_intra_0" /> </record> + <record id="fp_tax_template_intraeub2b_vt_intermediaire_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_intraeub2b" /> + <field name="tax_src_id" ref="tva_intermediaire_ttc" /> + <field name="tax_dest_id" ref="tva_intra_0" /> + </record> <!-- Taux réduit --> <record id="fp_tax_template_intraeub2b_vt_reduite" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_intraeub2b" /> <field name="tax_src_id" ref="tva_reduite" /> <field name="tax_dest_id" ref="tva_intra_0" /> </record> + <record id="fp_tax_template_intraeub2b_vt_reduite_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_intraeub2b" /> + <field name="tax_src_id" ref="tva_reduite_ttc" /> + <field name="tax_dest_id" ref="tva_intra_0" /> + </record> <!-- Taux super réduit --> <record id="fp_tax_template_intraeub2b_vt_super_reduite" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_intraeub2b" /> <field name="tax_src_id" ref="tva_super_reduite" /> <field name="tax_dest_id" ref="tva_intra_0" /> </record> + <record id="fp_tax_template_intraeub2b_vt_super_reduite_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_intraeub2b" /> + <field name="tax_src_id" ref="tva_super_reduite_ttc" /> + <field name="tax_dest_id" ref="tva_intra_0" /> + </record> <!-- achats --> <!-- Taux Normal --> <record id="fp_tax_template_intraeub2b_ha_normale_deduc" model="account.fiscal.position.tax.template"> @@ -127,30 +152,55 @@ <field name="tax_src_id" ref="tva_normale" /> <field name="tax_dest_id" ref="tva_export_0" /> </record> + <record id="fp_tax_template_impexp_vt_normale_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_import_export" /> + <field name="tax_src_id" ref="tva_normale_ttc" /> + <field name="tax_dest_id" ref="tva_export_0" /> + </record> <!-- Taux DOM-TOM --> <record id="fp_tax_template_impexp_vt_specifique" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_import_export" /> <field name="tax_src_id" ref="tva_specifique" /> <field name="tax_dest_id" ref="tva_export_0" /> </record> + <record id="fp_tax_template_impexp_vt_specifique_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_import_export" /> + <field name="tax_src_id" ref="tva_specifique_ttc" /> + <field name="tax_dest_id" ref="tva_export_0" /> + </record> <!-- Taux Intermédiare --> <record id="fp_tax_template_impexp_vt_intermediaire" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_import_export" /> <field name="tax_src_id" ref="tva_intermediaire" /> <field name="tax_dest_id" ref="tva_export_0" /> </record> + <record id="fp_tax_template_impexp_vt_intermediaire_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_import_export" /> + <field name="tax_src_id" ref="tva_intermediaire_ttc" /> + <field name="tax_dest_id" ref="tva_export_0" /> + </record> <!-- Taux Réduit --> <record id="fp_tax_template_impexp_vt_reduite" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_import_export" /> <field name="tax_src_id" ref="tva_reduite" /> <field name="tax_dest_id" ref="tva_export_0" /> </record> + <record id="fp_tax_template_impexp_vt_reduite_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_import_export" /> + <field name="tax_src_id" ref="tva_reduite_ttc" /> + <field name="tax_dest_id" ref="tva_export_0" /> + </record> <!-- Taux super réduit --> <record id="fp_tax_template_impexp_vt_super_reduite" model="account.fiscal.position.tax.template"> <field name="position_id" ref="fiscal_position_template_import_export" /> <field name="tax_src_id" ref="tva_super_reduite" /> <field name="tax_dest_id" ref="tva_export_0" /> </record> + <record id="fp_tax_template_impexp_vt_super_reduite_ttc" model="account.fiscal.position.tax.template"> + <field name="position_id" ref="fiscal_position_template_import_export" /> + <field name="tax_src_id" ref="tva_super_reduite_ttc" /> + <field name="tax_dest_id" ref="tva_export_0" /> + </record> <!-- achats --> <!-- Taux Normal --> diff --git a/addons/l10n_fr/data/account_tax_data.xml b/addons/l10n_fr/data/account_tax_data.xml index 7778e6ef82d..1d14f61cae1 100644 --- a/addons/l10n_fr/data/account_tax_data.xml +++ b/addons/l10n_fr/data/account_tax_data.xml @@ -32,6 +32,31 @@ <field name="applicability">taxes</field> </record> + <record id="tax_20_0_TTC" model="account.account.tag"> + <field name="name">20.0-TTC</field> + <field name="applicability">taxes</field> + </record> + + <record id="tax_10_0_TTC" model="account.account.tag"> + <field name="name">10.0-TTC</field> + <field name="applicability">taxes</field> + </record> + + <record id="tax_8_5_TTC" model="account.account.tag"> + <field name="name">8.5-TTC</field> + <field name="applicability">taxes</field> + </record> + + <record id="tax_5_5_TTC" model="account.account.tag"> + <field name="name">5.5-TTC</field> + <field name="applicability">taxes</field> + </record> + + <record id="tax_2_1_TTC" model="account.account.tag"> + <field name="name">2.1-TTC</field> + <field name="applicability">taxes</field> + </record> + <record id="tax_ACH-8_5" model="account.account.tag"> <field name="name">ACH-8_5</field> <field name="applicability">taxes</field> @@ -249,6 +274,77 @@ </record> +<!-- VENTES Tax INCLUDE (TTC) --> + <record model="account.tax.template" id="tva_normale_ttc"> + <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> + <field name="name">TVA collectée (vente) 20,0% TTC</field> + <field name="description">20.0-TTC</field> + <field name="price_include" eval="1"/> + <field name="amount" eval="20.0"/> + <field name="amount_type">percent</field> + <field name="refund_account_id" ref="pcg_445711"/> + <field name="account_id" ref="pcg_445711"/> + <field name="sequence" eval="10"/> + <field name="type_tax_use">sale</field> + <field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tax_20_0_TTC')])]"/> + </record> + + <record model="account.tax.template" id="tva_specifique_ttc"> + <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> + <field name="name">TVA collectée (vente) 8,5% TTC</field> + <field name="description">8.5-TTC</field> + <field name="price_include" eval="1"/> + <field name="amount" eval="8.5"/> + <field name="amount_type">percent</field> + <field name="refund_account_id" ref="pcg_445713"/> + <field name="account_id" ref="pcg_445713"/> + <field name="sequence" eval="10"/> + <field name="type_tax_use">sale</field> + <field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tax_8_5_TTC')])]"/> + </record> + + <record model="account.tax.template" id="tva_intermediaire_ttc"> + <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> + <field name="name">TVA collectée (vente) 10,0% TTC</field> + <field name="description">10.0-TTC</field> + <field name="price_include" eval="1"/> + <field name="amount" eval="10.0"/> + <field name="amount_type">percent</field> + <field name="refund_account_id" ref="pcg_445712"/> + <field name="account_id" ref="pcg_445712"/> + <field name="sequence" eval="10"/> + <field name="type_tax_use">sale</field> + <field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tax_10_0_TTC')])]"/> + </record> + + <record model="account.tax.template" id="tva_reduite_ttc"> + <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> + <field name="name">TVA collectée (vente) 5,5% TTC</field> + <field name="description">5.5-TTC</field> + <field name="price_include" eval="1"/> + <field name="amount" eval="5.5"/> + <field name="amount_type">percent</field> + <field name="refund_account_id" ref="pcg_445713"/> + <field name="account_id" ref="pcg_445713"/> + <field name="sequence" eval="10"/> + <field name="type_tax_use">sale</field> + <field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tax_5_5_TTC')])]"/> + </record> + + <record model="account.tax.template" id="tva_super_reduite_ttc"> + <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> + <field name="name">TVA collectée (vente) 2,1% TTC</field> + <field name="description">2.1-TTC</field> + <field name="price_include" eval="1"/> + <field name="amount" eval="2.1"/> + <field name="amount_type">percent</field> + <field name="refund_account_id" ref="pcg_445713"/> + <field name="account_id" ref="pcg_445713"/> + <field name="sequence" eval="10"/> + <field name="type_tax_use">sale</field> + <field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tax_2_1_TTC')])]"/> + </record> + <!-- ACHATS Tax excluded from price --> <record model="account.tax.template" id="tva_acq_normale"> <field name="chart_template_id" ref="l10n_fr_pcg_chart_template"/> diff --git a/addons/l10n_uy/__manifest__.py b/addons/l10n_uy/__manifest__.py index 1d690ddd0fc..5619f3bf895 100644 --- a/addons/l10n_uy/__manifest__.py +++ b/addons/l10n_uy/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Uruguay - Chart of Accounts', 'version': '0.1', - 'author': 'Uruguay l10n Team & Guillem Barba', + 'author': 'Uruguay l10n Team, Guillem Barba', 'category': 'Localization', 'website': 'https://launchpad.net/openerp-uruguay', 'description': """ diff --git a/addons/mail/controllers/main.py b/addons/mail/controllers/main.py index c579226a617..e9afcb8fab3 100644 --- a/addons/mail/controllers/main.py +++ b/addons/mail/controllers/main.py @@ -114,35 +114,37 @@ class MailController(http.Controller): return self._redirect_to_messaging() # find the access action using sudo to have the details about the access link - RecordModel = request.env[model] - record_sudo = RecordModel.sudo().browse(res_id).exists() - if not record_sudo: + RecordModel = request.env[model].sudo(uid) + record = RecordModel.browse(res_id).exists() + if not record: # record does not seem to exist -> redirect to login return self._redirect_to_messaging() - record_action = record_sudo.get_access_action() + record_action = record.get_access_action() + + # only URL redirections or window actions supported currently + if not record_action['type'] in ('ir.actions.act_url', 'ir.actions.act_window'): + return self._redirect_to_messaging() # the record has an URL redirection: use it directly if record_action['type'] == 'ir.actions.act_url': return werkzeug.utils.redirect(record_action['url']) - # other choice: act_window (no support of anything else currently) - elif not record_action['type'] == 'ir.actions.act_window': - return self._redirect_to_messaging() # the record has a window redirection: check access rights - if not RecordModel.sudo(uid).check_access_rights('read', raise_exception=False): + if not RecordModel.check_access_rights('read', raise_exception=False): return self._redirect_to_messaging() try: - RecordModel.sudo(uid).browse(res_id).exists().check_access_rule('read') + record.check_access_rule('read') except AccessError: return self._redirect_to_messaging() + # at this point user can read the document so no issue with get_formview_id query = {} url_params = { 'view_type': record_action['view_type'], 'model': model, 'id': res_id, 'active_id': res_id, - 'view_id': record_sudo.get_formview_id(), + 'view_id': record.get_formview_id(), 'action': record_action.get('id'), } url = '/web?%s#%s' % (url_encode(query), url_encode(url_params)) @@ -193,7 +195,7 @@ class MailController(http.Controller): return werkzeug.utils.redirect('/mail/view?%s' % url_encode({'model': model, 'res_id': res_id})) @http.route('/mail/assign', type='http', auth='user') - def mail_action_assign(self, model, res_id, **kwargs): + def mail_action_assign(self, model, res_id): if model not in request.env: return self._redirect_to_messaging() Model = request.env[model] diff --git a/addons/mail/data/mail_data.xml b/addons/mail/data/mail_data.xml index 3645ba2e337..c229ef0f54e 100644 --- a/addons/mail/data/mail_data.xml +++ b/addons/mail/data/mail_data.xml @@ -67,7 +67,7 @@ <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ <div> -% if ctx.get('button_access'): +% if ctx.get('has_button_access'): <div itemscope itemtype="http://schema.org/EmailMessage"> <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction"> <link itemprop="target" href="${ctx['button_access']['url']}"/> @@ -76,31 +76,31 @@ </div> </div> % endif -% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx.get('button_access'): -<div summary="o_mail_notification"> -<table cellspacing="0" cellpadding="0" border="0" style="width: 100%; margin-top: 5px;"> +% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx.get('has_button_access'): +<div summary="o_mail_notification" style="padding: 0px; width:600px;"> +<table cellspacing="0" cellpadding="0" border="0" style="width: 600px; margin-top: 5px;"> <tbody><tr> <td valign="center"> - % if ctx.get('button_access') or ctx.get('button_follow') or ctx.get('button_unfollow'): - <a href="${ctx['button_access']['url']}" style="padding: 8px 12px; font-size: 12px; text-decoration: none; color: #FFFFFF; text-decoration:none !important; font-weight: 400; background-color: #a24689; border: 0px solid #a24689; border-radius:3px">${ctx['button_access']['title']}</a> + % if ctx.get('has_button_access'): + <a href="${ctx['button_access']['url']}" style="padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #a24689; border: 0px solid #a24689; border-radius:3px">${ctx['button_access']['title']}</a> % endif - % if ctx.get('button_follow'): - % if ctx.get('actions'): + % if ctx.get('has_button_follow'): + % if ctx.get('has_button_access'): | % endif - <a href="${ctx['button_follow']['url']}" style="text-decoration:none; color: #a24689; text-decoration:none !important;">${ctx['button_follow']['title']}</a> - % elif ctx.get('button_unfollow'): - % if ctx.get('actions'): + <a href="${ctx['button_follow']['url']}" style="color: #a24689; text-decoration: none !important;">${ctx['button_follow']['title']}</a> + % elif ctx.get('has_button_unfollow'): + % if ctx.get('has_button_access'): | % endif - <a href="${ctx['button_unfollow']['url']}" style="text-decoration:none; color: #a24689; text-decoration:none !important;">${ctx['button_unfollow']['title']}</a> + <a href="${ctx['button_unfollow']['url']}" style="color: #a24689; text-decoration: none !important;">${ctx['button_unfollow']['title']}</a> % endif % if ctx.get('actions'): % for action in ctx['actions']: | - <a href="${action['url']}" style="text-decoration:none; color: #a24689; text-decoration:none !important;">${action['title']}</a> + <a href="${action['url']}" style="color: #a24689; text-decoration:none !important;">${action['title']}</a> % endfor % endif </td> diff --git a/addons/mail/i18n/en_US.po b/addons/mail/i18n/en_US.po deleted file mode 100644 index 6be74817967..00000000000 --- a/addons/mail/i18n/en_US.po +++ /dev/null @@ -1,4517 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * mail -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:06+0000\n" -"PO-Revision-Date: 2015-10-09 09:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: mail -#: model:mail.template,body_html:mail.mail_template_data_notification_email_default -msgid "" -"\n" -"<div itemscope itemtype=\"http://schema.org/EmailMessage\">\n" -" <div itemprop=\"potentialAction\" itemscope itemtype=\"http://schema.org/" -"ViewAction\">\n" -" % if ctx.get('button_access'):\n" -" <link itemprop=\"target\" href=\"${ctx['button_access']['url']}\"/>\n" -" <link itemprop=\"url\" href=\"${ctx['button_access']['url']}\"/>\n" -" % endif\n" -" <meta itemprop=\"name\" content=\"View ${ctx['model_name']}\"/>\n" -" </div>\n" -"</div>\n" -"% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx." -"get('is_accessible'):\n" -"<div summary=\"o_mail_notification\" style=\"padding:0px; width:600px; " -"margin:0 auto; background: #FFFFFF repeat top /100%;color:#777777\">\n" -" <table cellspacing=\"0\" cellpadding=\"0\" style=\"width:600px; border-" -"collapse:collapse; background:inherit; color:inherit\">\n" -" <tbody><tr>\n" -" <td valign=\"center\" width=\"200\" style=\"padding:0px 10px 5px " -"5px; font-size: 12px\">\n" -" <img src=\"/logo.png\" style=\"padding: 0px; margin: 0px; " -"height: auto; width: 80px;\" alt=\"${user.company_id.name}\">\n" -" </td>\n" -" <td valign=\"center\" align=\"right\" width=\"340\" style=" -"\"padding:0px 10px 5px 5px; font-size: 12px;\">\n" -" <p>\n" -" % if ctx.get('actions'):\n" -" % for action in ctx['actions']:\n" -" <a href=\"${action['url']}\" style=\"padding: 5px 10px; font-" -"size: 12px; line-height: 18px; color: #FFFFFF; border-color:#a24689; text-" -"decoration: none; display: inline-block; margin-bottom: 0px; font-weight: " -"400; text-align: center; vertical-align: middle; cursor: pointer; white-" -"space: nowrap; background-image: none; background-color: #a24689; border: " -"1px solid #a24689; border-radius:3px\">${action['title']}</a>\n" -" % endfor\n" -" % endif\n" -"\n" -" % if ctx.get('button_follow'):\n" -" % if ctx.get('actions'):\n" -" |\n" -" % endif\n" -" <a href=\"${ctx['button_follow']['url']}\" style=\"text-" -"decoration:none; color: #a24689;\"><strong>${ctx['button_follow']['title']}</" -"strong></a>\n" -" % elif ctx.get('button_unfollow'):\n" -" % if ctx.get('actions'):\n" -" |\n" -" % endif\n" -" <a href=\"${ctx['button_unfollow']['url']}\" style=\"text-" -"decoration:none; color: #a24689;\"><strong>${ctx['button_unfollow']['title']}" -"</strong></a>\n" -" % endif\n" -"\n" -" % if ctx.get('button_access') or ctx.get('button_follow') or " -"ctx.get('button_unfollow'):\n" -" % if ctx.get('actions'):\n" -" |\n" -" % endif\n" -" <a href=\"${ctx['button_access']['url']}\" style=\"text-" -"decoration:none; color: #a24689;\"><strong>${ctx['button_access']['title']}</" -"strong></a>\n" -" % endif\n" -" </p>\n" -" </td>\n" -" </tr>\n" -" </tbody></table>\n" -"</div>\n" -"<div summary=\"o_mail_notification\" style=\"padding:0px; width:600px; " -"margin:0 auto; background: #FFFFFF repeat top /100%;color:#777777\">\n" -" <table cellspacing=\"0\" cellpadding=\"0\" style=\"vertical-align:top; " -"padding:0px; border-collapse:collapse; background:inherit; color:inherit\">\n" -" <tbody><tr>\n" -" <td valign=\"top\" style=\"width:600px; padding:0px 10px 5px 5px;" -"\">\n" -" <div>\n" -" <hr width=\"100%\" style=\"background-color:" -"rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;" -"min-height:1px;line-height:0;margin:0px auto;padding:0\">\n" -" </div>\n" -" </td>\n" -" </tr></tbody>\n" -" </table>\n" -"</div>\n" -"<div style=\"padding:0px; width:600px; max-width:600px; margin:0 auto; " -"background: #FFFFFF repeat top /100%; color:#777777\">\n" -"% else:\n" -"<div style=\"padding:0px; width:600px; max-width:600px; margin:0 auto; " -"background: #FFFFFF repeat top /100%;>\n" -"% endif\n" -" <table cellspacing=\"0\" cellpadding=\"0\" style=\"width:600px ;text-" -"align:justify; margin:0 auto; border-collapse:collapse; background:inherit; " -"color:inherit\">\n" -"\n" -" <tbody>\n" -" % if not ctx['is_discussion'] or not len(ctx['actions']) == 0:\n" -" <tr>\n" -" <td style=\"padding:0px 10px 5px 5px;font-size: 14px;\">\n" -" ${object.body | safe}\n" -" % if ctx.get('tracking'):\n" -" <ul>\n" -" % for tracking in ctx['tracking']\n" -" <li>${tracking[0]} : ${tracking[1]} -> " -"${tracking[2]}</li>\n" -" % endfor\n" -" </ul>\n" -" % endif\n" -" </td>\n" -" </tr>\n" -" % else:\n" -" <tr>\n" -" <td style=\"font-size: 14px;\">\n" -" ${object.body | safe}\n" -" % if ctx.get('tracking'):\n" -" <ul>\n" -" % for tracking in ctx['tracking']\n" -" <li>${tracking[0]} : ${tracking[1]} -> " -"${tracking[2]}</li>\n" -" % endfor\n" -" </ul>\n" -" % endif\n" -" </td>\n" -" </tr>\n" -" % endif\n" -" </tbody>\n" -" </table>\n" -"</div>\n" -"% if not ctx['is_discussion'] or not len(ctx['actions']) == 0:\n" -"<div style=\"padding:0px; width:600px; max-width:600px; margin:0 auto; " -"background: #FFFFFF repeat top /100%;color:#777777\">\n" -"% else:\n" -"<div style=\"padding:0px; width:600px; max-width:600px; margin:0 auto; " -"background: #FFFFFF repeat top /100%;>\n" -"% endif\n" -" <table cellspacing=\"0\" cellpadding=\"0\" style=\"width:600px ;text-" -"align:justify; margin:0 auto; border-collapse:collapse; background:inherit; " -"color:inherit\">\n" -" <tbody>\n" -" % if ctx.get('signature'):\n" -" % if not ctx['is_discussion'] or not len(ctx['actions']) == " -"0:\n" -" <tr>\n" -" <td style=\"padding:0px 10px 5px 5px;font-size: " -"14px; text-align: left;\">\n" -" ${ctx['signature'] | safe}\n" -" </td>\n" -" </tr>\n" -" % else:\n" -" <tr>\n" -" <td style=\"font-size: 14px; text-align: left;\">\n" -" ${ctx['signature'] | safe}\n" -" </td>\n" -" </tr>\n" -" % endif\n" -" % endif\n" -"\n" -" % if not ctx['is_discussion'] or not len(ctx['actions']) == 0:\n" -" <tr>\n" -" <td style=\"padding:0px 10px 5px 5px;font-size: 11px; text-" -"align: left;\">\n" -" <strong>Sent by</strong>\n" -" % if ctx.get('website_url'):\n" -" <a href=\"${ctx['website_url']}\" style=\"text-" -"decoration:none; color: #a24689;\">\n" -" % endif\n" -" <strong>${ctx.get('company_name')}</strong>\n" -" % if ctx.get('website_url'):\n" -" </a>\n" -" % endif\n" -" <strong>using</strong>\n" -" <a href=\"https://www.odoo.com\" style=\"text-decoration:" -"none; color: #a24689;\"><strong>Odoo</strong></a>\n" -" </td>\n" -" </tr>\n" -" % else:\n" -" <tr>\n" -" <td style=\"font-size: 14px; text-align: left;\">\n" -" <strong>Sent by</strong>\n" -" % if ctx.get('website_url'):\n" -" <a href=\"${ctx['website_url']}\" style=\"text-" -"decoration:none;\">\n" -" % endif\n" -" <strong>${ctx.get('company_name')}</strong>\n" -" % if ctx.get('website_url'):\n" -" </a>\n" -" % endif\n" -" <strong>using</strong>\n" -" <a href=\"https://www.odoo.com\" style=\"text-decoration:" -"none;\"><strong>Odoo</strong></a>\n" -" </td>\n" -" </tr>\n" -" % endif\n" -" </tbody>\n" -" </table>\n" -"</div>" -msgstr "" - -#. module: mail -#: model:mail.template,subject:mail.mail_template_data_notification_email_default -msgid "" -"${object.subject or (object.record_name and 'Re: %s' % object.record_name) " -"or (object.parent_id and object.parent_id.subject and 'Re: %s' % object." -"parent_id.subject) or (object.parent_id and object.parent_id.record_name and " -"'Re: %s' % object.parent_id.record_name)}" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:61 -#, python-format -msgid "%d Messages" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_template.py:231 -#, python-format -msgid "%s (copy)" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:241 -#, python-format -msgid "%s created" -msgstr "" - -#. module: mail -#: code:addons/mail/models/res_users.py:79 -#, python-format -msgid "%s has joined the %s network." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:94 -#, python-format -msgid "(from" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:48 -#, python-format -msgid "(no email address)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_shortcode_shortcode_type -msgid "" -"* Smiley are only used for HTML code to display an image * Text (default " -"value) is use to substitute text with another text" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:178 -#, python-format -msgid "-------- Show older messages --------" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_channel.py:537 -#, python-format -msgid "" -"<div class=\"o_mail_notification\">created <a href=\"#\" class=" -"\"o_channel_redirect\" data-oe-id=\"%s\">#%s</a></div>" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_channel.py:460 -#: code:addons/mail/models/mail_channel.py:513 -#, python-format -msgid "" -"<div class=\"o_mail_notification\">joined <a href=\"#\" class=" -"\"o_channel_redirect\" data-oe-id=\"%s\">#%s</a></div>" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_channel.py:162 -#, python-format -msgid "" -"<div class=\"o_mail_notification\">left <a href=\"#\" class=" -"\"o_channel_redirect\" data-oe-id=\"%s\">#%s</a></div>" -msgstr "" - -#. module: mail -#: code:addons/mail/wizard/invite.py:22 -#, python-format -msgid "" -"<div><p>Hello,</p><p>%s invited you to follow %s document: %s.</p></div>" -msgstr "" - -#. module: mail -#: code:addons/mail/wizard/invite.py:25 -#, python-format -msgid "<div><p>Hello,</p><p>%s invited you to follow a new document.</p></div>" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "" -"<span attrs=\"{'invisible': [('composition_mode', '!=', 'mass_mail')]}\">\n" -" <strong>Email mass mailing</strong> on\n" -" <span attrs=\"{'invisible': " -"[('use_active_domain', '=', True)]}\">the selected records</span>\n" -" <span attrs=\"{'invisible': " -"[('use_active_domain', '=', False)]}\">the current search filter</span>.\n" -" </span>\n" -" <span attrs=\"{'invisible':['|', ('model', '=', " -"False), ('composition_mode', '=', 'mass_mail')]}\">Followers of the document " -"and</span>" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "" -"<span class=\"o_stat_text\">Add</span>\n" -" <span class=\"o_stat_text\">Context " -"Action</span>" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "" -"<span class=\"o_stat_text\">Remove</span>\n" -" <span class=\"o_stat_text\">Context " -"Action</span>" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_general_configuration_mail_alias_domain -msgid "<span>failed emails</span>" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "" -"<strong>All records matching your current search filter will be mailed,\n" -" not only the ids selected in the list " -"view.</strong><br/>\n" -" If you want to work only with selected ids, " -"please uncheck the\n" -" list header checkbox." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "" -"<strong>Moreover, if you want to send a lot of emails, we recommend you to " -"use the mass mailing module</strong>. <br/>\n" -" Confirming this wizard will probably take a " -"few minutes blocking your browser." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_defaults -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_defaults -#: model:ir.model.fields,help:mail.field_mail_channel_alias_defaults -#: model:ir.model.fields,help:mail.field_res_users_alias_defaults -msgid "" -"A Python dictionary that will be evaluated to provide default values when " -"creating new records for this alias." -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,help:mail.mail_shortcode_action -msgid "" -"A shortcode is a keyboard shortcut. For instance, you type #gm and it will " -"be transformed into \"Good Morning\"." -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_res_groups -msgid "Access Groups" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_needaction -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_needaction -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_needaction -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_needaction -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_needaction -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_needaction -#: model:ir.model.fields,field_description:mail.field_blog_post_message_needaction -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_needaction -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_needaction -#: model:ir.model.fields,field_description:mail.field_crm_team_message_needaction -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_needaction -#: model:ir.model.fields,field_description:mail.field_event_event_message_needaction -#: model:ir.model.fields,field_description:mail.field_event_registration_message_needaction -#: model:ir.model.fields,field_description:mail.field_event_track_message_needaction -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_needaction -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_needaction -#: model:ir.model.fields,field_description:mail.field_forum_post_message_needaction -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_needaction -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_needaction -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_department_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_job_message_needaction -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_needaction -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_needaction -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_needaction -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_needaction -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_needaction -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_needaction -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_needaction -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_needaction -#: model:ir.model.fields,field_description:mail.field_note_note_message_needaction -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_needaction -#: model:ir.model.fields,field_description:mail.field_product_product_message_needaction -#: model:ir.model.fields,field_description:mail.field_product_template_message_needaction -#: model:ir.model.fields,field_description:mail.field_project_issue_message_needaction -#: model:ir.model.fields,field_description:mail.field_project_project_message_needaction -#: model:ir.model.fields,field_description:mail.field_project_task_message_needaction -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_needaction -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_needaction -#: model:ir.model.fields,field_description:mail.field_res_partner_message_needaction -#: model:ir.model.fields,field_description:mail.field_res_users_message_needaction -#: model:ir.model.fields,field_description:mail.field_sale_order_message_needaction -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_needaction -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_needaction -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_needaction -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_needaction -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_needaction -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_needaction -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_needaction -msgid "Action Needed" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_default -msgid "Activated by default when subscribing." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_search -msgid "Active" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_active_domain -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_active_domain -msgid "Active domain" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:19 -#, python-format -msgid "Activity" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:78 -#, python-format -msgid "Add" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:64 -#, python-format -msgid "Add Channels" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:61 -#: model:ir.ui.view,arch_db:mail.mail_wizard_invite_form -#, python-format -msgid "Add Followers" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_user_signature -#: model:ir.model.fields,field_description:mail.field_mail_template_user_signature -msgid "Add Signature" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:37 -#: code:addons/mail/static/src/xml/client_action.xml:54 -#, python-format -msgid "Add a channel" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_wizard_invite_form -msgid "Add channels to notify..." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -#: model:ir.ui.view,arch_db:mail.mail_wizard_invite_form -msgid "Add contacts to notify..." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_partner_ids -msgid "Additional Contacts" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_form -msgid "Advanced" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Advanced Settings" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_id -#: model:ir.ui.view,arch_db:mail.view_mail_alias_form -#: model:ir.ui.view,arch_db:mail.view_mail_alias_tree -msgid "Alias" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_users_form_mail -msgid "Alias Accepts Emails From" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_contact -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_contact -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_contact -#: model:ir.model.fields,field_description:mail.field_res_users_alias_contact -msgid "Alias Contact Security" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_base_config_settings_alias_domain -msgid "Alias Domain" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_name -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_name -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_name -#: model:ir.model.fields,field_description:mail.field_res_users_alias_name -msgid "Alias Name" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_domain -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_domain -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_domain -#: model:ir.model.fields,field_description:mail.field_res_users_alias_domain -msgid "Alias domain" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_model_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_model_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_model_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_model_id -msgid "Aliased Model" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_mail_alias -#: model:ir.ui.menu,name:mail.mail_alias_menu -msgid "Aliases" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/systray.xml:20 -#, python-format -msgid "All" -msgstr "" - -#. module: mail -#: selection:res.partner,notify_email:0 -msgid "All Messages" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:186 -#, python-format -msgid "Anonymous" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_no_auto_thread -#: model:ir.model.fields,help:mail.field_mail_mail_no_auto_thread -#: model:ir.model.fields,help:mail.field_mail_message_no_auto_thread -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_no_auto_thread -msgid "" -"Answers do not go in the original document discussion thread. This has an " -"impact on the generated message-id." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_model_id -#: model:ir.model.fields,field_description:mail.field_mail_template_model_id -msgid "Applies to" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:117 -#, python-format -msgid "Apply" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Attach a file" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_attachment_ids -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_attachment_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_attachment_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_attachment_ids -#: model:ir.model.fields,field_description:mail.field_mail_template_attachment_ids -#: model:ir.ui.view,arch_db:mail.view_mail_form -msgid "Attachments" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_attachment_ids -#: model:ir.model.fields,help:mail.field_mail_mail_attachment_ids -#: model:ir.model.fields,help:mail.field_mail_message_attachment_ids -msgid "" -"Attachments are linked to a document through model / res_id and to the " -"message through this field." -msgstr "" - -#. module: mail -#: selection:mail.alias,alias_contact:0 -msgid "Authenticated Partners" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_author_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_author_id -#: model:ir.model.fields,field_description:mail.field_mail_message_author_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_author_id -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Author" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Author Signature (mass mail only)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_author_id -#: model:ir.model.fields,help:mail.field_mail_mail_author_id -#: model:ir.model.fields,help:mail.field_mail_message_author_id -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_author_id -msgid "" -"Author of the message. If not set, email_from may hold an email address that " -"did not match any partner." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_author_avatar -#: model:ir.model.fields,field_description:mail.field_mail_mail_author_avatar -#: model:ir.model.fields,field_description:mail.field_mail_message_author_avatar -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_author_avatar -msgid "Author's avatar" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_group_public_id -msgid "Authorized Group" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_auto_delete -#: model:ir.model.fields,field_description:mail.field_mail_mail_auto_delete -#: model:ir.model.fields,field_description:mail.field_mail_template_auto_delete -msgid "Auto Delete" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_group_ids -msgid "Auto Subscription" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_message_subtype_form -msgid "Auto subscription" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.res_partner_opt_out_search -msgid "Available for mass mailing" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:86 -#, python-format -msgid "Be careful with channels following internal notifications" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_body_html -#: model:ir.model.fields,field_description:mail.field_ir_act_server_body_html -#: model:ir.model.fields,field_description:mail.field_mail_template_body_html -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_message_form -msgid "Body" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_res_partner_message_bounce -#: model:ir.model.fields,field_description:mail.field_res_users_message_bounce -msgid "Bounce" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:125 -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -#: model:ir.ui.view,arch_db:mail.mail_wizard_invite_form -#: model:ir.ui.view,arch_db:mail.view_mail_form -#, python-format -msgid "Cancel" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_tree -msgid "Cancel Email" -msgstr "" - -#. module: mail -#: selection:mail.mail,state:0 -msgid "Cancelled" -msgstr "" - -#. module: mail -#: selection:mail.shortcode,shortcode_type:0 -msgid "Canned Response" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_shortcode -msgid "Canned Response / Shortcode" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_email_cc -msgid "Carbon copy message recipients" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_email_cc -#: model:ir.model.fields,help:mail.field_mail_template_email_cc -msgid "Carbon copy recipients (placeholders may be used here)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_email_cc -#: model:ir.model.fields,field_description:mail.field_mail_mail_email_cc -#: model:ir.model.fields,field_description:mail.field_mail_template_email_cc -msgid "Cc" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_form -msgid "Change" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_field -msgid "Changed Field" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_channel_id -#: model:ir.ui.view,arch_db:mail.mail_channel_partner_view_form -#: selection:mail.channel,channel_type:0 -msgid "Channel" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_type -msgid "Channel Type" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_message_ids -msgid "Channel message ids" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:33 -#: code:addons/mail/static/src/xml/client_action.xml:131 -#: code:addons/mail/static/src/xml/systray.xml:22 -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_channel_ids -#: model:ir.model.fields,field_description:mail.field_res_partner_channel_ids -#: model:ir.model.fields,field_description:mail.field_res_users_channel_ids -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_channel_ids -#: model:ir.ui.menu,name:mail.mail_channel_menu_settings -#: model:ir.ui.view,arch_db:mail.mail_channel_partner_view_tree -#, python-format -msgid "Channels" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.mail_channel_partner_action -#: model:ir.ui.menu,name:mail.mail_channel_partner_menu -msgid "Channels/Partner" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/systray.xml:21 -#: model:ir.actions.client,name:mail.mail_channel_action_client_chat -#, python-format -msgid "Chat" -msgstr "" - -#. module: mail -#: selection:mail.channel,channel_type:0 -msgid "Chat Discussion" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.mail_shortcode_action -msgid "Chat Shortcode" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_child_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_child_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_child_ids -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_child_ids -msgid "Child Messages" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_server_action_form_template -msgid "Choose a template to display its values." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_preview_form -msgid "Choose an example" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:347 -#, python-format -msgid "Click here to add new %(document)s or send an email to: %(email_link)s" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:363 -#, python-format -msgid "Click here to add new %s" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,help:mail.action_contacts -msgid "Click to add a contact in your address book." -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,help:mail.mail_shortcode_action -msgid "Click to define a new chat shortcode." -msgstr "" - -#. module: mail -#: selection:mail.channel.partner,fold_state:0 -msgid "Closed" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Comma-separated carbon copy recipients addresses" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Comma-separated ids of recipient partners" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_partner_to -#: model:ir.model.fields,help:mail.field_ir_act_server_partner_to -#: model:ir.model.fields,help:mail.field_mail_template_partner_to -msgid "" -"Comma-separated ids of recipient partners (placeholders may be used here)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Comma-separated recipient addresses" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_email_to -#: model:ir.model.fields,help:mail.field_ir_act_server_email_to -#: model:ir.model.fields,help:mail.field_mail_template_email_to -msgid "Comma-separated recipient addresses (placeholders may be used here)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -#: selection:mail.compose.message,message_type:0 -#: selection:mail.message,message_type:0 -#: selection:survey.mail.compose.message,message_type:0 -msgid "Comment" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Compose Email" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_composition_mode -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_composition_mode -msgid "Composition mode" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:24 -#, python-format -msgid "Congratulations, your inbox is empty" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_contacts -#: model:ir.ui.menu,name:mail.menu_contacts -msgid "Contacts" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -#: model:ir.ui.view,arch_db:mail.view_message_search -msgid "Content" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_body -#: model:ir.model.fields,field_description:mail.field_mail_mail_body -#: model:ir.model.fields,field_description:mail.field_mail_message_body -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_body -msgid "Contents" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_fold_state -msgid "Conversation Fold State" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_is_minimized -msgid "Conversation is minimized" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/systray.xml:14 -#, python-format -msgid "Conversations" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_res_partner_message_bounce -#: model:ir.model.fields,help:mail.field_res_users_message_bounce -msgid "Counter of the number of bounced emails for this contact" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:308 -#, python-format -msgid "Create %s" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_create_date -msgid "Create Date" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_alias_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_channel_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_mail_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_message_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_template_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_create_uid -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_create_uid -msgid "Created by" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_create_date -#: model:ir.model.fields,field_description:mail.field_mail_alias_create_date -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_create_date -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_create_date -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_create_date -#: model:ir.model.fields,field_description:mail.field_mail_mail_create_date -#: model:ir.model.fields,field_description:mail.field_mail_message_create_date -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_create_date -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_create_date -#: model:ir.model.fields,field_description:mail.field_mail_template_create_date -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_create_date -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_create_date -msgid "Created on" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Creation Month" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_starred -#: model:ir.model.fields,help:mail.field_mail_mail_starred -#: model:ir.model.fields,help:mail.field_mail_message_starred -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_starred -msgid "Current user has a starred notification linked to this message" -msgstr "" - -#. module: mail -#: code:addons/mail/models/res_partner.py:17 -#, python-format -msgid "Customers" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_date -#: model:ir.model.fields,field_description:mail.field_mail_mail_date -#: model:ir.model.fields,field_description:mail.field_mail_message_date -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_date -msgid "Date" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_account_analytic_account_message_last_post -#: model:ir.model.fields,help:mail.field_account_asset_asset_message_last_post -#: model:ir.model.fields,help:mail.field_account_bank_statement_message_last_post -#: model:ir.model.fields,help:mail.field_account_invoice_message_last_post -#: model:ir.model.fields,help:mail.field_account_voucher_message_last_post -#: model:ir.model.fields,help:mail.field_blog_blog_message_last_post -#: model:ir.model.fields,help:mail.field_blog_post_message_last_post -#: model:ir.model.fields,help:mail.field_calendar_event_message_last_post -#: model:ir.model.fields,help:mail.field_crm_lead_message_last_post -#: model:ir.model.fields,help:mail.field_crm_team_message_last_post -#: model:ir.model.fields,help:mail.field_crossovered_budget_message_last_post -#: model:ir.model.fields,help:mail.field_event_event_message_last_post -#: model:ir.model.fields,help:mail.field_event_registration_message_last_post -#: model:ir.model.fields,help:mail.field_event_track_message_last_post -#: model:ir.model.fields,help:mail.field_fleet_vehicle_message_last_post -#: model:ir.model.fields,help:mail.field_forum_forum_message_last_post -#: model:ir.model.fields,help:mail.field_forum_post_message_last_post -#: model:ir.model.fields,help:mail.field_forum_tag_message_last_post -#: model:ir.model.fields,help:mail.field_gamification_badge_message_last_post -#: model:ir.model.fields,help:mail.field_gamification_challenge_message_last_post -#: model:ir.model.fields,help:mail.field_hr_applicant_message_last_post -#: model:ir.model.fields,help:mail.field_hr_contract_message_last_post -#: model:ir.model.fields,help:mail.field_hr_department_message_last_post -#: model:ir.model.fields,help:mail.field_hr_employee_message_last_post -#: model:ir.model.fields,help:mail.field_hr_equipment_category_message_last_post -#: model:ir.model.fields,help:mail.field_hr_equipment_message_last_post -#: model:ir.model.fields,help:mail.field_hr_equipment_request_message_last_post -#: model:ir.model.fields,help:mail.field_hr_expense_message_last_post -#: model:ir.model.fields,help:mail.field_hr_holidays_message_last_post -#: model:ir.model.fields,help:mail.field_hr_job_message_last_post -#: model:ir.model.fields,help:mail.field_hr_timesheet_sheet_sheet_message_last_post -#: model:ir.model.fields,help:mail.field_mail_channel_message_last_post -#: model:ir.model.fields,help:mail.field_mail_mass_mailing_contact_message_last_post -#: model:ir.model.fields,help:mail.field_mail_thread_message_last_post -#: model:ir.model.fields,help:mail.field_mrp_bom_message_last_post -#: model:ir.model.fields,help:mail.field_mrp_production_message_last_post -#: model:ir.model.fields,help:mail.field_mrp_production_workcenter_line_message_last_post -#: model:ir.model.fields,help:mail.field_mrp_repair_message_last_post -#: model:ir.model.fields,help:mail.field_note_note_message_last_post -#: model:ir.model.fields,help:mail.field_procurement_order_message_last_post -#: model:ir.model.fields,help:mail.field_product_product_message_last_post -#: model:ir.model.fields,help:mail.field_product_template_message_last_post -#: model:ir.model.fields,help:mail.field_project_issue_message_last_post -#: model:ir.model.fields,help:mail.field_project_project_message_last_post -#: model:ir.model.fields,help:mail.field_project_task_message_last_post -#: model:ir.model.fields,help:mail.field_purchase_order_message_last_post -#: model:ir.model.fields,help:mail.field_purchase_requisition_message_last_post -#: model:ir.model.fields,help:mail.field_res_partner_message_last_post -#: model:ir.model.fields,help:mail.field_res_users_message_last_post -#: model:ir.model.fields,help:mail.field_sale_order_message_last_post -#: model:ir.model.fields,help:mail.field_slide_channel_message_last_post -#: model:ir.model.fields,help:mail.field_slide_slide_message_last_post -#: model:ir.model.fields,help:mail.field_stock_landed_cost_message_last_post -#: model:ir.model.fields,help:mail.field_stock_picking_message_last_post -#: model:ir.model.fields,help:mail.field_stock_picking_wave_message_last_post -#: model:ir.model.fields,help:mail.field_stock_production_lot_message_last_post -#: model:ir.model.fields,help:mail.field_survey_survey_message_last_post -msgid "Date of the last message posted on the record." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_default -msgid "Default" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_null_value -#: model:ir.model.fields,field_description:mail.field_mail_template_null_value -msgid "Default Value" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_defaults -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_defaults -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_defaults -#: model:ir.model.fields,field_description:mail.field_res_users_alias_defaults -msgid "Default Values" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_use_default_to -#: model:ir.model.fields,field_description:mail.field_mail_template_use_default_to -msgid "Default recipients" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_use_default_to -#: model:ir.model.fields,help:mail.field_mail_template_use_default_to -msgid "" -"Default recipients of the record:\n" -"- partner (using id on a partner or the partner_id field) OR\n" -"- email (using email_from or email field)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_auto_delete -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_auto_delete -msgid "Delete Emails" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_auto_delete_message -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_auto_delete_message -msgid "Delete Message Copy" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_auto_delete -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_auto_delete -msgid "Delete sent emails (mass mailing only)" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:167 -#, python-format -msgid "Delete this attachment" -msgstr "" - -#. module: mail -#: selection:mail.mail,state:0 -msgid "Delivery Failed" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_description -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_description -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_description -#: model:ir.ui.view,arch_db:mail.view_mail_message_subtype_form -msgid "Description" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_description -msgid "" -"Description that will be added in the message posted for this subtype. If " -"void, the name will be added instead." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:42 -#, python-format -msgid "Direct Messages" -msgstr "" - -#. module: mail -#: model:ir.ui.menu,name:mail.mail_channel_menu_root_chat -msgid "Discuss" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_channel -msgid "Discussion channel" -msgstr "" - -#. module: mail -#: model:mail.message.subtype,name:mail.mt_comment -msgid "Discussions" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_display_name -#: model:ir.model.fields,field_description:mail.field_mail_alias_display_name -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_display_name -#: model:ir.model.fields,field_description:mail.field_mail_channel_display_name -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_display_name -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_display_name -#: model:ir.model.fields,field_description:mail.field_mail_followers_display_name -#: model:ir.model.fields,field_description:mail.field_mail_mail_display_name -#: model:ir.model.fields,field_description:mail.field_mail_message_display_name -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_display_name -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_display_name -#: model:ir.model.fields,field_description:mail.field_mail_template_display_name -#: model:ir.model.fields,field_description:mail.field_mail_thread_display_name -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_display_name -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_display_name -#: model:ir.model.fields,field_description:mail.field_publisher_warranty_contract_display_name -msgid "Display Name" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "" -"Display an option on related documents to open a composition wizard with " -"this template" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_auto_delete_message -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_auto_delete_message -msgid "" -"Do not keep a copy of the email in the document communication history (mass " -"mailing only)" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_followers -msgid "Document Followers" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Dynamic Placeholder Generator" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:114 -#, python-format -msgid "Edit Subscription of " -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:49 -#, python-format -msgid "Edit subscription" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -#: model:ir.ui.view,arch_db:mail.view_server_action_form_template -#: selection:mail.compose.message,message_type:0 -#: selection:mail.message,message_type:0 -#: selection:survey.mail.compose.message,message_type:0 -msgid "Email" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Email Alias" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_alias -msgid "Email Aliases" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Email Configuration" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_res_partner_notify_email -#: model:ir.model.fields,field_description:mail.field_res_users_notify_email -msgid "Email Messages and Notifications" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_preview_form -msgid "Email Preview" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Email Search" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_ir_act_server_template_id -msgid "Email Template" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_email_template_preview -msgid "Email Template Preview" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_template -msgid "Email Templates" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_thread -msgid "Email Thread" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_res_users_alias_id -msgid "" -"Email address internally associated with this user. Incoming emails will " -"appear in the user's notifications." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_email_from -#: model:ir.model.fields,help:mail.field_mail_mail_email_from -#: model:ir.model.fields,help:mail.field_mail_message_email_from -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_email_from -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 "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Email address to redirect replies..." -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_compose_message -msgid "Email composition wizard" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_mail_message_subtype_form -msgid "Email message" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_mail_mail -#: model:ir.ui.menu,name:mail.menu_mail_mail -#: model:ir.ui.view,arch_db:mail.view_mail_tree -msgid "Emails" -msgstr "" - -#. module: mail -#: code:addons/mail/models/update.py:96 -#, python-format -msgid "Error during communication with the publisher warranty server." -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_mail.py:247 -#, python-format -msgid "" -"Error without exception. Probably due do sending an email without computed " -"recipients." -msgstr "" - -#. module: mail -#: sql_constraint:mail.followers:0 -msgid "Error, a channel cannot follow twice the same object." -msgstr "" - -#. module: mail -#: sql_constraint:mail.followers:0 -msgid "Error, a partner cannot follow twice the same object." -msgstr "" - -#. module: mail -#: sql_constraint:mail.followers:0 -msgid "Error: A follower must be either a partner or a channel (but not both)." -msgstr "" - -#. module: mail -#: selection:mail.alias,alias_contact:0 selection:mail.channel,public:0 -msgid "Everyone" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Extended Filters..." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_base_config_settings_fail_counter -msgid "Fail Mail" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Failed" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_template.py:368 -#, python-format -msgid "Failed to render template %r using values %r" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_failure_reason -#: model:ir.ui.view,arch_db:mail.view_mail_form -msgid "Failure Reason" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_failure_reason -msgid "" -"Failure reason. This is usually the exception thrown by the email server, " -"stored to ease the debugging of mailing issues." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_starred_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_starred_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_starred_partner_ids -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_starred_partner_ids -msgid "Favorited By" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_model_object_field -#: model:ir.model.fields,field_description:mail.field_mail_template_model_object_field -msgid "Field" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_field_desc -msgid "Field Description" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_field_type -msgid "Field Type" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_relation_field -msgid "" -"Field used to link the related model to the subtype model when using " -"automatic subscription on a related document. The field is used to compute " -"getattr(related_document.relation_field)." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_copyvalue -#: model:ir.model.fields,help:mail.field_mail_template_copyvalue -msgid "" -"Final placeholder expression, to be copy-pasted in the desired template " -"field." -msgstr "" - -#. module: mail -#: selection:mail.channel.partner,fold_state:0 -msgid "Folded" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/models/mail_thread.py:683 -#: code:addons/mail/static/src/xml/followers.xml:20 -#, python-format -msgid "Follow" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_followers -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_blog_post_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_crm_team_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_event_event_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_event_registration_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_event_track_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_forum_post_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_department_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_job_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_note_note_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_product_product_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_product_template_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_project_issue_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_project_project_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_project_task_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_res_partner_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_res_users_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_sale_order_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_follower_ids -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_follower_ids -#: model:ir.ui.menu,name:mail.menu_email_followers -#: model:ir.ui.view,arch_db:mail.view_followers_tree -msgid "Followers" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_blog_post_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_crm_team_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_event_event_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_event_registration_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_event_track_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_forum_post_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_department_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_job_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_note_note_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_product_product_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_product_template_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_project_issue_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_project_project_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_project_task_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_res_partner_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_res_users_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_sale_order_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_channel_ids -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_channel_ids -msgid "Followers (Channels)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_blog_post_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_crm_team_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_event_event_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_event_registration_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_event_track_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_forum_post_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_department_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_job_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_note_note_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_product_product_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_product_template_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_project_issue_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_project_project_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_project_task_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_res_partner_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_res_users_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_sale_order_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_partner_ids -msgid "Followers (Partners)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_subscription_form -msgid "Followers Form" -msgstr "" - -#. module: mail -#: selection:mail.alias,alias_contact:0 -msgid "Followers only" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:24 -#, python-format -msgid "Following" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_email_from -#: model:ir.model.fields,field_description:mail.field_ir_act_server_email_from -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_email_from -#: model:ir.model.fields,field_description:mail.field_mail_mail_email_from -#: model:ir.model.fields,field_description:mail.field_mail_message_email_from -#: model:ir.model.fields,field_description:mail.field_mail_template_email_from -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_email_from -msgid "From" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_message_form -msgid "Gateway" -msgstr "" - -#. module: mail -#: code:addons/mail/models/res_users.py:50 -#, python-format -msgid "Go to the configuration panel" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_search -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Group By" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_email_template_search -msgid "Group by..." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_tree -msgid "Groups" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_message_search -msgid "Has attachments" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_headers -#: model:ir.ui.view,arch_db:mail.view_mail_form -msgid "Headers" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_hidden -msgid "Hidden" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_hidden -msgid "Hide the subtype in the follower options" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_id -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_id -#: model:ir.model.fields,field_description:mail.field_mail_followers_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_id -#: model:ir.model.fields,field_description:mail.field_mail_message_id -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_id -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_id -#: model:ir.model.fields,field_description:mail.field_mail_template_id -#: model:ir.model.fields,field_description:mail.field_mail_thread_id -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_id -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_id -#: model:ir.model.fields,field_description:mail.field_publisher_warranty_contract_id -msgid "ID" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_parent_thread_id -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_parent_thread_id -#: model:ir.model.fields,help:mail.field_mail_channel_alias_parent_thread_id -#: model:ir.model.fields,help:mail.field_res_users_alias_parent_thread_id -msgid "" -"ID of the parent record holding the alias (example: project holding the task " -"creation alias)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_followers_res_id -#: model:ir.model.fields,help:mail.field_mail_wizard_invite_res_id -msgid "Id of the followed resource" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:110 -#, python-format -msgid "Idle" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_account_analytic_account_message_unread -#: model:ir.model.fields,help:mail.field_account_asset_asset_message_unread -#: model:ir.model.fields,help:mail.field_account_bank_statement_message_unread -#: model:ir.model.fields,help:mail.field_account_invoice_message_unread -#: model:ir.model.fields,help:mail.field_account_voucher_message_unread -#: model:ir.model.fields,help:mail.field_blog_blog_message_unread -#: model:ir.model.fields,help:mail.field_blog_post_message_unread -#: model:ir.model.fields,help:mail.field_calendar_event_message_unread -#: model:ir.model.fields,help:mail.field_crm_lead_message_unread -#: model:ir.model.fields,help:mail.field_crm_team_message_unread -#: model:ir.model.fields,help:mail.field_crossovered_budget_message_unread -#: model:ir.model.fields,help:mail.field_event_event_message_unread -#: model:ir.model.fields,help:mail.field_event_registration_message_unread -#: model:ir.model.fields,help:mail.field_event_track_message_unread -#: model:ir.model.fields,help:mail.field_fleet_vehicle_message_unread -#: model:ir.model.fields,help:mail.field_forum_forum_message_unread -#: model:ir.model.fields,help:mail.field_forum_post_message_unread -#: model:ir.model.fields,help:mail.field_forum_tag_message_unread -#: model:ir.model.fields,help:mail.field_gamification_badge_message_unread -#: model:ir.model.fields,help:mail.field_gamification_challenge_message_unread -#: model:ir.model.fields,help:mail.field_hr_applicant_message_unread -#: model:ir.model.fields,help:mail.field_hr_contract_message_unread -#: model:ir.model.fields,help:mail.field_hr_department_message_unread -#: model:ir.model.fields,help:mail.field_hr_employee_message_unread -#: model:ir.model.fields,help:mail.field_hr_equipment_category_message_unread -#: model:ir.model.fields,help:mail.field_hr_equipment_message_unread -#: model:ir.model.fields,help:mail.field_hr_equipment_request_message_unread -#: model:ir.model.fields,help:mail.field_hr_expense_message_unread -#: model:ir.model.fields,help:mail.field_hr_holidays_message_unread -#: model:ir.model.fields,help:mail.field_hr_job_message_unread -#: model:ir.model.fields,help:mail.field_hr_timesheet_sheet_sheet_message_unread -#: model:ir.model.fields,help:mail.field_mail_channel_message_unread -#: model:ir.model.fields,help:mail.field_mail_mass_mailing_contact_message_unread -#: model:ir.model.fields,help:mail.field_mail_thread_message_unread -#: model:ir.model.fields,help:mail.field_mrp_bom_message_unread -#: model:ir.model.fields,help:mail.field_mrp_production_message_unread -#: model:ir.model.fields,help:mail.field_mrp_production_workcenter_line_message_unread -#: model:ir.model.fields,help:mail.field_mrp_repair_message_unread -#: model:ir.model.fields,help:mail.field_note_note_message_unread -#: model:ir.model.fields,help:mail.field_procurement_order_message_unread -#: model:ir.model.fields,help:mail.field_product_product_message_unread -#: model:ir.model.fields,help:mail.field_product_template_message_unread -#: model:ir.model.fields,help:mail.field_project_issue_message_unread -#: model:ir.model.fields,help:mail.field_project_project_message_unread -#: model:ir.model.fields,help:mail.field_project_task_message_unread -#: model:ir.model.fields,help:mail.field_purchase_order_message_unread -#: model:ir.model.fields,help:mail.field_purchase_requisition_message_unread -#: model:ir.model.fields,help:mail.field_res_partner_message_unread -#: model:ir.model.fields,help:mail.field_res_users_message_unread -#: model:ir.model.fields,help:mail.field_sale_order_message_unread -#: model:ir.model.fields,help:mail.field_slide_channel_message_unread -#: model:ir.model.fields,help:mail.field_slide_slide_message_unread -#: model:ir.model.fields,help:mail.field_stock_landed_cost_message_unread -#: model:ir.model.fields,help:mail.field_stock_picking_message_unread -#: model:ir.model.fields,help:mail.field_stock_picking_wave_message_unread -#: model:ir.model.fields,help:mail.field_stock_production_lot_message_unread -#: model:ir.model.fields,help:mail.field_survey_survey_message_unread -msgid "If checked new messages require your attention." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_account_analytic_account_message_needaction -#: model:ir.model.fields,help:mail.field_account_asset_asset_message_needaction -#: model:ir.model.fields,help:mail.field_account_bank_statement_message_needaction -#: model:ir.model.fields,help:mail.field_account_invoice_message_needaction -#: model:ir.model.fields,help:mail.field_account_voucher_message_needaction -#: model:ir.model.fields,help:mail.field_blog_blog_message_needaction -#: model:ir.model.fields,help:mail.field_blog_post_message_needaction -#: model:ir.model.fields,help:mail.field_calendar_event_message_needaction -#: model:ir.model.fields,help:mail.field_crm_lead_message_needaction -#: model:ir.model.fields,help:mail.field_crm_team_message_needaction -#: model:ir.model.fields,help:mail.field_crossovered_budget_message_needaction -#: model:ir.model.fields,help:mail.field_event_event_message_needaction -#: model:ir.model.fields,help:mail.field_event_registration_message_needaction -#: model:ir.model.fields,help:mail.field_event_track_message_needaction -#: model:ir.model.fields,help:mail.field_fleet_vehicle_message_needaction -#: model:ir.model.fields,help:mail.field_forum_forum_message_needaction -#: model:ir.model.fields,help:mail.field_forum_post_message_needaction -#: model:ir.model.fields,help:mail.field_forum_tag_message_needaction -#: model:ir.model.fields,help:mail.field_gamification_badge_message_needaction -#: model:ir.model.fields,help:mail.field_gamification_challenge_message_needaction -#: model:ir.model.fields,help:mail.field_hr_applicant_message_needaction -#: model:ir.model.fields,help:mail.field_hr_contract_message_needaction -#: model:ir.model.fields,help:mail.field_hr_department_message_needaction -#: model:ir.model.fields,help:mail.field_hr_employee_message_needaction -#: model:ir.model.fields,help:mail.field_hr_equipment_category_message_needaction -#: model:ir.model.fields,help:mail.field_hr_equipment_message_needaction -#: model:ir.model.fields,help:mail.field_hr_equipment_request_message_needaction -#: model:ir.model.fields,help:mail.field_hr_expense_message_needaction -#: model:ir.model.fields,help:mail.field_hr_holidays_message_needaction -#: model:ir.model.fields,help:mail.field_hr_job_message_needaction -#: model:ir.model.fields,help:mail.field_hr_timesheet_sheet_sheet_message_needaction -#: model:ir.model.fields,help:mail.field_mail_channel_message_needaction -#: model:ir.model.fields,help:mail.field_mail_mass_mailing_contact_message_needaction -#: model:ir.model.fields,help:mail.field_mail_thread_message_needaction -#: model:ir.model.fields,help:mail.field_mrp_bom_message_needaction -#: model:ir.model.fields,help:mail.field_mrp_production_message_needaction -#: model:ir.model.fields,help:mail.field_mrp_production_workcenter_line_message_needaction -#: model:ir.model.fields,help:mail.field_mrp_repair_message_needaction -#: model:ir.model.fields,help:mail.field_note_note_message_needaction -#: model:ir.model.fields,help:mail.field_procurement_order_message_needaction -#: model:ir.model.fields,help:mail.field_product_product_message_needaction -#: model:ir.model.fields,help:mail.field_product_template_message_needaction -#: model:ir.model.fields,help:mail.field_project_issue_message_needaction -#: model:ir.model.fields,help:mail.field_project_project_message_needaction -#: model:ir.model.fields,help:mail.field_project_task_message_needaction -#: model:ir.model.fields,help:mail.field_purchase_order_message_needaction -#: model:ir.model.fields,help:mail.field_purchase_requisition_message_needaction -#: model:ir.model.fields,help:mail.field_res_partner_message_needaction -#: model:ir.model.fields,help:mail.field_res_users_message_needaction -#: model:ir.model.fields,help:mail.field_sale_order_message_needaction -#: model:ir.model.fields,help:mail.field_slide_channel_message_needaction -#: model:ir.model.fields,help:mail.field_slide_slide_message_needaction -#: model:ir.model.fields,help:mail.field_stock_landed_cost_message_needaction -#: model:ir.model.fields,help:mail.field_stock_picking_message_needaction -#: model:ir.model.fields,help:mail.field_stock_picking_wave_message_needaction -#: model:ir.model.fields,help:mail.field_stock_production_lot_message_needaction -#: model:ir.model.fields,help:mail.field_survey_survey_message_needaction -msgid "If checked, new messages require your attention." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_wizard_invite_send_mail -msgid "" -"If checked, the partners will receive an email warning they have been added " -"in the document's followers." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_user_signature -#: model:ir.model.fields,help:mail.field_mail_template_user_signature -msgid "" -"If checked, the user's signature will be appended to the text version of the " -"message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_res_partner_opt_out -#: model:ir.model.fields,help:mail.field_res_users_opt_out -msgid "" -"If opt-out is checked, this contact has refused to receive emails for mass " -"mailing and marketing campaign. Filter 'Available for Mass Mailing' allows " -"users to filter the partners when performing mass mailing." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_scheduled_date -msgid "" -"If set, the queue manager will send the email after the date. If not set, " -"the email will be send as soon as possible." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_scheduled_date -#: model:ir.model.fields,help:mail.field_mail_template_scheduled_date -msgid "" -"If set, the queue manager will send the email after the date. If not set, " -"the email will be send as soon as possible. Jinja2 placeholders may be used." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_base_config_settings_alias_domain -msgid "" -"If you have setup a catch-all email domain redirected to the Odoo server, " -"enter the domain name here." -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_alias.py:141 -#, python-format -msgid "Inactive Alias" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:958 -#: code:addons/mail/static/src/xml/client_action.xml:22 -#: code:addons/mail/static/src/xml/systray.xml:6 -#, python-format -msgid "Inbox" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_parent_id -#: model:ir.model.fields,help:mail.field_mail_mail_parent_id -#: model:ir.model.fields,help:mail.field_mail_message_parent_id -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_parent_id -msgid "Initial thread message." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_internal -msgid "Internal Only" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_alias.py:99 -#, python-format -msgid "" -"Invalid expression, it must be a literal python dictionary definition e.g. " -"\"{'field': 'value'}\"" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:1718 -#, python-format -msgid "" -"Invalid record set: should be called as model (without records) or on single-" -"record recordset" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:577 -#, python-format -msgid "Invitation" -msgstr "" - -#. module: mail -#: code:addons/mail/wizard/invite.py:53 -#, python-format -msgid "Invitation to follow %s: %s" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:40 -#: code:addons/mail/static/src/xml/client_action.xml:132 -#, python-format -msgid "Invite" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:143 -#, python-format -msgid "Invite Follower" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:31 -#: code:addons/mail/static/src/xml/client_action.xml:132 -#, python-format -msgid "Invite people" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:638 -#, python-format -msgid "Invite people to #%s" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_wizard_invite -msgid "Invite wizard" -msgstr "" - -#. module: mail -#: selection:mail.channel,public:0 -msgid "Invited people only" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_is_follower -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_is_follower -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_is_follower -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_is_follower -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_is_follower -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_is_follower -#: model:ir.model.fields,field_description:mail.field_blog_post_message_is_follower -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_is_follower -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_is_follower -#: model:ir.model.fields,field_description:mail.field_crm_team_message_is_follower -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_is_follower -#: model:ir.model.fields,field_description:mail.field_event_event_message_is_follower -#: model:ir.model.fields,field_description:mail.field_event_registration_message_is_follower -#: model:ir.model.fields,field_description:mail.field_event_track_message_is_follower -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_is_follower -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_is_follower -#: model:ir.model.fields,field_description:mail.field_forum_post_message_is_follower -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_is_follower -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_is_follower -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_department_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_job_message_is_follower -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_is_follower -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_is_follower -#: model:ir.model.fields,field_description:mail.field_note_note_message_is_follower -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_is_follower -#: model:ir.model.fields,field_description:mail.field_product_product_message_is_follower -#: model:ir.model.fields,field_description:mail.field_product_template_message_is_follower -#: model:ir.model.fields,field_description:mail.field_project_issue_message_is_follower -#: model:ir.model.fields,field_description:mail.field_project_project_message_is_follower -#: model:ir.model.fields,field_description:mail.field_project_task_message_is_follower -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_is_follower -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_is_follower -#: model:ir.model.fields,field_description:mail.field_res_partner_message_is_follower -#: model:ir.model.fields,field_description:mail.field_res_users_message_is_follower -#: model:ir.model.fields,field_description:mail.field_sale_order_message_is_follower -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_is_follower -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_is_follower -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_is_follower -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_is_follower -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_is_follower -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_is_follower -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_is_follower -msgid "Is Follower" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_notification -msgid "Is Notification" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_is_subscribed -msgid "Is Subscribed" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_is_member -msgid "Is a member" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_is_pinned -msgid "Is pinned on the interface" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_kanban -msgid "Join" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.mail_channel_action_view -msgid "Join a group" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_lang -#: model:ir.model.fields,field_description:mail.field_mail_template_lang -msgid "Language" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_last_post -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_last_post -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_last_post -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_last_post -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_last_post -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_last_post -#: model:ir.model.fields,field_description:mail.field_blog_post_message_last_post -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_last_post -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_last_post -#: model:ir.model.fields,field_description:mail.field_crm_team_message_last_post -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_last_post -#: model:ir.model.fields,field_description:mail.field_event_event_message_last_post -#: model:ir.model.fields,field_description:mail.field_event_registration_message_last_post -#: model:ir.model.fields,field_description:mail.field_event_track_message_last_post -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_last_post -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_last_post -#: model:ir.model.fields,field_description:mail.field_forum_post_message_last_post -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_last_post -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_last_post -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_department_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_job_message_last_post -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_last_post -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_last_post -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_last_post -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_last_post -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_last_post -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_last_post -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_last_post -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_last_post -#: model:ir.model.fields,field_description:mail.field_note_note_message_last_post -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_last_post -#: model:ir.model.fields,field_description:mail.field_product_product_message_last_post -#: model:ir.model.fields,field_description:mail.field_product_template_message_last_post -#: model:ir.model.fields,field_description:mail.field_project_issue_message_last_post -#: model:ir.model.fields,field_description:mail.field_project_project_message_last_post -#: model:ir.model.fields,field_description:mail.field_project_task_message_last_post -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_last_post -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_last_post -#: model:ir.model.fields,field_description:mail.field_res_partner_message_last_post -#: model:ir.model.fields,field_description:mail.field_res_users_message_last_post -#: model:ir.model.fields,field_description:mail.field_sale_order_message_last_post -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_last_post -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_last_post -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_last_post -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_last_post -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_last_post -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_last_post -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_last_post -msgid "Last Message Date" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview___last_update -#: model:ir.model.fields,field_description:mail.field_mail_alias___last_update -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin___last_update -#: model:ir.model.fields,field_description:mail.field_mail_channel___last_update -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner___last_update -#: model:ir.model.fields,field_description:mail.field_mail_compose_message___last_update -#: model:ir.model.fields,field_description:mail.field_mail_followers___last_update -#: model:ir.model.fields,field_description:mail.field_mail_mail___last_update -#: model:ir.model.fields,field_description:mail.field_mail_message___last_update -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype___last_update -#: model:ir.model.fields,field_description:mail.field_mail_shortcode___last_update -#: model:ir.model.fields,field_description:mail.field_mail_template___last_update -#: model:ir.model.fields,field_description:mail.field_mail_thread___last_update -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value___last_update -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite___last_update -#: model:ir.model.fields,field_description:mail.field_publisher_warranty_contract___last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_last_seen_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_seen_message_id -msgid "Last Seen" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_channel_partner -msgid "Last Seen Many2many" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_alias_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_channel_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_mail_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_message_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_template_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_write_uid -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_write_date -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_write_date -#: model:ir.model.fields,field_description:mail.field_mail_alias_write_date -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_write_date -#: model:ir.model.fields,field_description:mail.field_mail_channel_write_date -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_write_date -#: model:ir.model.fields,field_description:mail.field_mail_mail_write_date -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_write_date -#: model:ir.model.fields,field_description:mail.field_mail_message_write_date -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_write_date -#: model:ir.model.fields,field_description:mail.field_mail_template_write_date -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_write_date -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_write_date -msgid "Last Updated on" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_kanban -msgid "Leave" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:99 -#, python-format -msgid "Leave this channel" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_wizard_invite_channel_ids -msgid "" -"List of channels that will be added as listeners of the current document." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_wizard_invite_partner_ids -msgid "" -"List of partners that will be added as follower of the current document." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_followers_channel_id -msgid "Listener" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_partner_ids -msgid "Listeners" -msgstr "" - -#. module: mail -#: selection:mail.channel,channel_type:0 -msgid "Livechat Conversation" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chatter.js:36 -#, python-format -msgid "Log" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:70 -#, python-format -msgid "Log a note. Followers will not be notified." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_is_log -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_is_log -msgid "Log an Internal Note" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:70 -#, python-format -msgid "Log an internal note" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:12 -#, python-format -msgid "" -"Log an internal note which will not be sent to followers, but which can be " -"read\n" -" by users accessing this document." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Mail Channel Form" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_mail.py:313 -#, python-format -msgid "Mail Delivery Failed" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_tracking_value -msgid "Mail Tracking Value" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_notification -msgid "Mail has been created to notify people of an existing mail.message" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_emails_partner_info_form -msgid "Mailing Opt-Out" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:133 -#, python-format -msgid "Mark all as read" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:133 -#, python-format -msgid "Mark all read" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:106 -#, python-format -msgid "Mark as Read" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:68 -#: code:addons/mail/static/src/xml/thread.xml:100 -#, python-format -msgid "Mark as Todo" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_image_medium -msgid "Medium-sized photo" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_image_medium -msgid "" -"Medium-sized photo of the group. It is automatically resized as a 128x128px " -"image, with aspect ratio preserved. Use this field in form views or some " -"kanban views." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Members" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_group_ids -msgid "" -"Members of those groups will automatically added as followers. Note that " -"they will be able to manage their subscription manually if necessary." -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_message -#: model:ir.model.fields,field_description:mail.field_mail_mail_mail_message_id -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_message -#: model:ir.ui.view,arch_db:mail.view_message_form -msgid "Message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_mail_message_id -msgid "Message ID" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_record_name -#: model:ir.model.fields,field_description:mail.field_mail_mail_record_name -#: model:ir.model.fields,field_description:mail.field_mail_message_record_name -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_record_name -msgid "Message Record Name" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_name -msgid "Message Type" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_email_to -msgid "Message recipients (emails)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_references -msgid "Message references, such as identifiers of previous messages" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:122 -#, python-format -msgid "Message sent in \"" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_name -msgid "" -"Message subtype gives a more precise type on the message, especially for " -"system notifications. For example, it can be a notification related to a new " -"record (New), or to a stage change in a process (Stage change). Message " -"subtypes allow to precisely tune the notifications the user want to receive " -"on its wall." -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_message_subtype -msgid "Message subtypes" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_followers_subtype_ids -msgid "" -"Message subtypes followed, meaning subtypes that will be pushed onto the " -"user's Wall." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_message_type -#: model:ir.model.fields,help:mail.field_mail_mail_message_type -#: model:ir.model.fields,help:mail.field_mail_message_message_type -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_message_type -msgid "" -"Message type: email for email message, notification for system message, " -"comment for other messages such as user replies" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_message_id -#: model:ir.model.fields,help:mail.field_mail_mail_message_id -#: model:ir.model.fields,help:mail.field_mail_message_message_id -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_message_id -msgid "Message unique identifier" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_message_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_message_id -#: model:ir.model.fields,field_description:mail.field_mail_message_message_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_message_id -msgid "Message-Id" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_mail_message -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_ids -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_ids -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_ids -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_ids -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_ids -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_ids -#: model:ir.model.fields,field_description:mail.field_blog_post_message_ids -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_ids -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_ids -#: model:ir.model.fields,field_description:mail.field_crm_team_message_ids -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_ids -#: model:ir.model.fields,field_description:mail.field_event_event_message_ids -#: model:ir.model.fields,field_description:mail.field_event_registration_message_ids -#: model:ir.model.fields,field_description:mail.field_event_track_message_ids -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_ids -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_ids -#: model:ir.model.fields,field_description:mail.field_forum_post_message_ids -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_ids -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_ids -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_department_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_job_message_ids -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_ids -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_ids -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_ids -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_ids -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_ids -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_ids -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_ids -#: model:ir.model.fields,field_description:mail.field_note_note_message_ids -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_ids -#: model:ir.model.fields,field_description:mail.field_product_product_message_ids -#: model:ir.model.fields,field_description:mail.field_product_template_message_ids -#: model:ir.model.fields,field_description:mail.field_project_issue_message_ids -#: model:ir.model.fields,field_description:mail.field_project_project_message_ids -#: model:ir.model.fields,field_description:mail.field_project_task_message_ids -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_ids -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_ids -#: model:ir.model.fields,field_description:mail.field_res_partner_message_ids -#: model:ir.model.fields,field_description:mail.field_res_users_message_ids -#: model:ir.model.fields,field_description:mail.field_sale_order_message_ids -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_ids -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_ids -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_ids -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_ids -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_ids -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_ids -#: model:ir.ui.menu,name:mail.menu_mail_message -#: model:ir.ui.view,arch_db:mail.view_message_tree -msgid "Messages" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_message_search -msgid "Messages Search" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_internal -msgid "" -"Messages with internal subtypes will be visible only by employees, aka " -"members of base_user group" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_users_form_mail -msgid "Messaging Alias" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_res_model -#: model:ir.ui.view,arch_db:mail.view_email_template_search -#: model:ir.ui.view,arch_db:mail.view_mail_alias_search -msgid "Model" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_followers_res_model -#: model:ir.model.fields,help:mail.field_mail_wizard_invite_res_model -msgid "Model of the followed resource" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_res_model -msgid "" -"Model the subtype applies to. If False, this subtype applies to all models." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Month" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_name -#: model:ir.model.fields,field_description:mail.field_mail_channel_name -#: model:ir.model.fields,field_description:mail.field_mail_template_name -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Name" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_record_name -#: model:ir.model.fields,help:mail.field_mail_mail_record_name -#: model:ir.model.fields,help:mail.field_mail_message_record_name -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_record_name -msgid "Name get of the related document." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_report_name -#: model:ir.model.fields,help:mail.field_mail_template_report_name -msgid "" -"Name to use for the generated report file (may contain placeholders)\n" -"The extension can be omitted and will then come from the report type." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_needaction -#: model:ir.model.fields,field_description:mail.field_mail_mail_needaction -#: model:ir.model.fields,field_description:mail.field_mail_message_needaction -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_needaction -#: model:ir.model.fields,help:mail.field_mail_compose_message_needaction -#: model:ir.model.fields,help:mail.field_mail_mail_needaction -#: model:ir.model.fields,help:mail.field_mail_message_needaction -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_needaction -#: model:ir.ui.view,arch_db:mail.view_message_search -msgid "Need Action" -msgstr "" - -#. module: mail -#: selection:res.partner,notify_email:0 -msgid "Never" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_char -msgid "New Value Char" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_datetime -msgid "New Value Datetime" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_float -msgid "New Value Float" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_integer -msgid "New Value Integer" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_monetary -msgid "New Value Monetary" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_new_value_text -msgid "New Value Text" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:53 -#: code:addons/mail/static/src/js/window_manager.js:140 -#: code:addons/mail/static/src/xml/chatter.xml:67 -#: code:addons/mail/static/src/xml/systray.xml:24 -#, python-format -msgid "New message" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:131 -#, python-format -msgid "New messages" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:25 -#, python-format -msgid "New messages appear here." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:79 -#, python-format -msgid "New people" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:218 -#, python-format -msgid "No follower" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:16 -#, python-format -msgid "No matches found" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:17 -#, python-format -msgid "No message matches your search. Try to change your search filters." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:28 -#, python-format -msgid "No starred message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_no_auto_thread -#: model:ir.model.fields,field_description:mail.field_mail_mail_no_auto_thread -#: model:ir.model.fields,field_description:mail.field_mail_message_no_auto_thread -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_no_auto_thread -msgid "No threading for answers" -msgstr "" - -#. module: mail -#: model:mail.message.subtype,name:mail.mt_note -msgid "Note" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:72 -#, python-format -msgid "Note by" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Notification" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_notify -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_notify -msgid "Notify followers" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_notify -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_notify -msgid "Notify followers of the document (mass post only)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_blog_post_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_crm_team_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_event_event_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_event_registration_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_event_track_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_forum_post_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_department_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_job_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_note_note_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_product_product_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_product_template_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_project_issue_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_project_project_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_project_task_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_res_partner_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_res_users_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_sale_order_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_needaction_counter -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_needaction_counter -msgid "Number of Actions" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_account_analytic_account_message_needaction_counter -#: model:ir.model.fields,help:mail.field_account_asset_asset_message_needaction_counter -#: model:ir.model.fields,help:mail.field_account_bank_statement_message_needaction_counter -#: model:ir.model.fields,help:mail.field_account_invoice_message_needaction_counter -#: model:ir.model.fields,help:mail.field_account_voucher_message_needaction_counter -#: model:ir.model.fields,help:mail.field_blog_blog_message_needaction_counter -#: model:ir.model.fields,help:mail.field_blog_post_message_needaction_counter -#: model:ir.model.fields,help:mail.field_calendar_event_message_needaction_counter -#: model:ir.model.fields,help:mail.field_crm_lead_message_needaction_counter -#: model:ir.model.fields,help:mail.field_crm_team_message_needaction_counter -#: model:ir.model.fields,help:mail.field_crossovered_budget_message_needaction_counter -#: model:ir.model.fields,help:mail.field_event_event_message_needaction_counter -#: model:ir.model.fields,help:mail.field_event_registration_message_needaction_counter -#: model:ir.model.fields,help:mail.field_event_track_message_needaction_counter -#: model:ir.model.fields,help:mail.field_fleet_vehicle_message_needaction_counter -#: model:ir.model.fields,help:mail.field_forum_forum_message_needaction_counter -#: model:ir.model.fields,help:mail.field_forum_post_message_needaction_counter -#: model:ir.model.fields,help:mail.field_forum_tag_message_needaction_counter -#: model:ir.model.fields,help:mail.field_gamification_badge_message_needaction_counter -#: model:ir.model.fields,help:mail.field_gamification_challenge_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_applicant_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_contract_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_department_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_employee_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_category_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_request_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_expense_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_holidays_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_job_message_needaction_counter -#: model:ir.model.fields,help:mail.field_hr_timesheet_sheet_sheet_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mail_channel_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mail_mass_mailing_contact_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mail_thread_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mrp_bom_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mrp_production_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mrp_production_workcenter_line_message_needaction_counter -#: model:ir.model.fields,help:mail.field_mrp_repair_message_needaction_counter -#: model:ir.model.fields,help:mail.field_note_note_message_needaction_counter -#: model:ir.model.fields,help:mail.field_procurement_order_message_needaction_counter -#: model:ir.model.fields,help:mail.field_product_product_message_needaction_counter -#: model:ir.model.fields,help:mail.field_product_template_message_needaction_counter -#: model:ir.model.fields,help:mail.field_project_issue_message_needaction_counter -#: model:ir.model.fields,help:mail.field_project_project_message_needaction_counter -#: model:ir.model.fields,help:mail.field_project_task_message_needaction_counter -#: model:ir.model.fields,help:mail.field_purchase_order_message_needaction_counter -#: model:ir.model.fields,help:mail.field_purchase_requisition_message_needaction_counter -#: model:ir.model.fields,help:mail.field_res_partner_message_needaction_counter -#: model:ir.model.fields,help:mail.field_res_users_message_needaction_counter -#: model:ir.model.fields,help:mail.field_sale_order_message_needaction_counter -#: model:ir.model.fields,help:mail.field_slide_channel_message_needaction_counter -#: model:ir.model.fields,help:mail.field_slide_slide_message_needaction_counter -#: model:ir.model.fields,help:mail.field_stock_landed_cost_message_needaction_counter -#: model:ir.model.fields,help:mail.field_stock_picking_message_needaction_counter -#: model:ir.model.fields,help:mail.field_stock_picking_wave_message_needaction_counter -#: model:ir.model.fields,help:mail.field_stock_production_lot_message_needaction_counter -#: model:ir.model.fields,help:mail.field_survey_survey_message_needaction_counter -msgid "Number of messages which requires an action" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_account_analytic_account_message_unread_counter -#: model:ir.model.fields,help:mail.field_account_asset_asset_message_unread_counter -#: model:ir.model.fields,help:mail.field_account_bank_statement_message_unread_counter -#: model:ir.model.fields,help:mail.field_account_invoice_message_unread_counter -#: model:ir.model.fields,help:mail.field_account_voucher_message_unread_counter -#: model:ir.model.fields,help:mail.field_blog_blog_message_unread_counter -#: model:ir.model.fields,help:mail.field_blog_post_message_unread_counter -#: model:ir.model.fields,help:mail.field_calendar_event_message_unread_counter -#: model:ir.model.fields,help:mail.field_crm_lead_message_unread_counter -#: model:ir.model.fields,help:mail.field_crm_team_message_unread_counter -#: model:ir.model.fields,help:mail.field_crossovered_budget_message_unread_counter -#: model:ir.model.fields,help:mail.field_event_event_message_unread_counter -#: model:ir.model.fields,help:mail.field_event_registration_message_unread_counter -#: model:ir.model.fields,help:mail.field_event_track_message_unread_counter -#: model:ir.model.fields,help:mail.field_fleet_vehicle_message_unread_counter -#: model:ir.model.fields,help:mail.field_forum_forum_message_unread_counter -#: model:ir.model.fields,help:mail.field_forum_post_message_unread_counter -#: model:ir.model.fields,help:mail.field_forum_tag_message_unread_counter -#: model:ir.model.fields,help:mail.field_gamification_badge_message_unread_counter -#: model:ir.model.fields,help:mail.field_gamification_challenge_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_applicant_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_contract_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_department_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_employee_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_category_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_equipment_request_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_expense_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_holidays_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_job_message_unread_counter -#: model:ir.model.fields,help:mail.field_hr_timesheet_sheet_sheet_message_unread_counter -#: model:ir.model.fields,help:mail.field_mail_channel_message_unread_counter -#: model:ir.model.fields,help:mail.field_mail_mass_mailing_contact_message_unread_counter -#: model:ir.model.fields,help:mail.field_mail_thread_message_unread_counter -#: model:ir.model.fields,help:mail.field_mrp_bom_message_unread_counter -#: model:ir.model.fields,help:mail.field_mrp_production_message_unread_counter -#: model:ir.model.fields,help:mail.field_mrp_production_workcenter_line_message_unread_counter -#: model:ir.model.fields,help:mail.field_mrp_repair_message_unread_counter -#: model:ir.model.fields,help:mail.field_note_note_message_unread_counter -#: model:ir.model.fields,help:mail.field_procurement_order_message_unread_counter -#: model:ir.model.fields,help:mail.field_product_product_message_unread_counter -#: model:ir.model.fields,help:mail.field_product_template_message_unread_counter -#: model:ir.model.fields,help:mail.field_project_issue_message_unread_counter -#: model:ir.model.fields,help:mail.field_project_project_message_unread_counter -#: model:ir.model.fields,help:mail.field_project_task_message_unread_counter -#: model:ir.model.fields,help:mail.field_purchase_order_message_unread_counter -#: model:ir.model.fields,help:mail.field_purchase_requisition_message_unread_counter -#: model:ir.model.fields,help:mail.field_res_partner_message_unread_counter -#: model:ir.model.fields,help:mail.field_res_users_message_unread_counter -#: model:ir.model.fields,help:mail.field_sale_order_message_unread_counter -#: model:ir.model.fields,help:mail.field_slide_channel_message_unread_counter -#: model:ir.model.fields,help:mail.field_slide_slide_message_unread_counter -#: model:ir.model.fields,help:mail.field_stock_landed_cost_message_unread_counter -#: model:ir.model.fields,help:mail.field_stock_picking_message_unread_counter -#: model:ir.model.fields,help:mail.field_stock_picking_wave_message_unread_counter -#: model:ir.model.fields,help:mail.field_stock_production_lot_message_unread_counter -#: model:ir.model.fields,help:mail.field_survey_survey_message_unread_counter -msgid "Number of unread messages" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,help:mail.action_contacts -msgid "" -"Odoo helps you easily track all activities related to\n" -" a customer: discussions, history of business opportunities,\n" -" documents, etc." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:11 -#, python-format -msgid "Odoo needs your permission to" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:111 -#, python-format -msgid "Offline" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_char -msgid "Old Value Char" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_datetime -msgid "Old Value DateTime" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_float -msgid "Old Value Float" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_integer -msgid "Old Value Integer" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_monetary -msgid "Old Value Monetary" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_old_value_text -msgid "Old Value Text" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:220 -#, python-format -msgid "One follower" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:109 -#, python-format -msgid "Online" -msgstr "" - -#. module: mail -#: selection:mail.channel.partner,fold_state:0 -msgid "Open" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_form -msgid "Open Document" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_form -msgid "Open Parent Document" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:136 -#, python-format -msgid "Open channel settings" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:46 -#, python-format -msgid "Open chat" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_res_partner_opt_out -#: model:ir.model.fields,field_description:mail.field_res_users_opt_out -msgid "Opt-Out" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_force_thread_id -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_force_thread_id -#: model:ir.model.fields,help:mail.field_mail_channel_alias_force_thread_id -#: model:ir.model.fields,help:mail.field_res_users_alias_force_thread_id -msgid "" -"Optional ID of a thread (record) to which all incoming messages will be " -"attached, even if they did not reply to it. If set, this will disable the " -"creation of new records completely." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_mail_server_id -#: model:ir.model.fields,help:mail.field_mail_template_mail_server_id -msgid "" -"Optional preferred server for outgoing mails. If not set, the highest " -"priority one will be used." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_report_template -#: model:ir.model.fields,field_description:mail.field_mail_template_report_template -msgid "Optional report to print and attach" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_lang -#: model:ir.model.fields,help:mail.field_mail_template_lang -msgid "" -"Optional translation language (ISO code) to select when sending out an " -"email. If not set, the english version will be used. This should usually be " -"a placeholder expression that provides the appropriate language, e.g. " -"${object.partner_id.lang}." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_null_value -#: model:ir.model.fields,help:mail.field_mail_template_null_value -msgid "Optional value to use if the target field is empty" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search selection:mail.mail,state:0 -msgid "Outgoing" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_mail_server_id -#: model:ir.model.fields,field_description:mail.field_mail_template_mail_server_id -msgid "Outgoing Mail Server" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_mail -msgid "Outgoing Mails" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_mail_server_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_mail_server_id -#: model:ir.model.fields,field_description:mail.field_mail_message_mail_server_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_mail_server_id -msgid "Outgoing mail server" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Override author's email" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_user_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_user_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_user_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_user_id -msgid "Owner" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_parent_id -msgid "Parent" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_parent_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_parent_id -#: model:ir.model.fields,field_description:mail.field_mail_message_parent_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_parent_id -msgid "Parent Message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_parent_model_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_parent_model_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_parent_model_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_parent_model_id -msgid "Parent Model" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_parent_thread_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_parent_thread_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_parent_thread_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_parent_thread_id -msgid "Parent Record Thread ID" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_parent_model_id -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_parent_model_id -#: model:ir.model.fields,help:mail.field_mail_channel_alias_parent_model_id -#: model:ir.model.fields,help:mail.field_res_users_alias_parent_model_id -msgid "" -"Parent model holding the alias. The model holding the alias reference is not " -"necessarily the model given by alias_model_id (example: project " -"(parent_model) and task (model))" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_parent_id -msgid "" -"Parent subtype, used for automatic subscription. This field is not correctly " -"named. For example on a project, the parent_id of project subtypes refers to " -"task-related subtypes." -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_res_partner -msgid "Partner" -msgstr "" - -#. module: mail -#: code:addons/mail/models/res_partner.py:37 -#, python-format -msgid "Partner Profile" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.res_partner_opt_out_search -msgid "Partners that did not ask not to be included in mass mailing campaigns" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_needaction_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_needaction_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_needaction_partner_ids -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_needaction_partner_ids -msgid "Partners with Need Action" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_auto_delete -#: model:ir.model.fields,help:mail.field_mail_mail_auto_delete -#: model:ir.model.fields,help:mail.field_mail_template_auto_delete -msgid "Permanently delete this email after sending it, to save space" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_image -msgid "Photo" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_copyvalue -#: model:ir.model.fields,field_description:mail.field_mail_template_copyvalue -msgid "Placeholder Expression" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chatter.js:191 -#, python-format -msgid "Please complete partner's informations" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/many2many_tags_email.js:68 -#, python-format -msgid "Please complete partner's informations and Email" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_server_action_form_template -msgid "Please set the Base Model before setting the action details." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/composer.js:578 -#, python-format -msgid "Please, wait while the file is uploading." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_contact -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_contact -#: model:ir.model.fields,help:mail.field_mail_channel_alias_contact -#: model:ir.model.fields,help:mail.field_res_users_alias_contact -msgid "" -"Policy to post a message on the document using the mailgateway.\n" -"- everyone: everyone can post\n" -"- partners: only authenticated partners\n" -"- followers: only followers of the related document or members of following " -"channels\n" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_res_partner_notify_email -#: model:ir.model.fields,help:mail.field_res_users_notify_email -msgid "" -"Policy to receive emails for new messages pushed to your personal Inbox:\n" -"- Never: no emails are sent\n" -"- All Messages: for every notification you receive in your Inbox" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Preferred reply address" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_reply_to -#: model:ir.model.fields,help:mail.field_mail_template_reply_to -msgid "Preferred response address (placeholders may be used here)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Preview" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_preview_form -msgid "Preview of" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_public -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Privacy" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:51 -#, python-format -msgid "Private Channels" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:138 -#, python-format -msgid "Public Channels" -msgstr "" - -#. module: mail -#: code:addons/mail/wizard/mail_compose_message.py:180 -#, python-format -msgid "Re:" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search selection:mail.mail,state:0 -msgid "Received" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_partner_partner_id -msgid "Recipient" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_partner_ids -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_partner_ids -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -#: model:ir.ui.view,arch_db:mail.view_message_form -msgid "Recipients" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_alias_alias_force_thread_id -#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin_alias_force_thread_id -#: model:ir.model.fields,field_description:mail.field_mail_channel_alias_force_thread_id -#: model:ir.model.fields,field_description:mail.field_res_users_alias_force_thread_id -msgid "Record Thread ID" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_references -msgid "References" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_res_id -#: model:ir.model.fields,field_description:mail.field_mail_followers_res_id -#: model:ir.model.fields,field_description:mail.field_mail_mail_res_id -#: model:ir.model.fields,field_description:mail.field_mail_message_res_id -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_res_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_res_id -msgid "Related Document ID" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_model -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_model -#: model:ir.model.fields,field_description:mail.field_mail_followers_res_model -#: model:ir.model.fields,field_description:mail.field_mail_mail_model -#: model:ir.model.fields,field_description:mail.field_mail_message_model -#: model:ir.model.fields,field_description:mail.field_mail_template_model -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_res_model -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_model -msgid "Related Document Model" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_form -msgid "Related Message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_followers_partner_id -msgid "Related Partner" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_relation_field -msgid "Relation field" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Remove the contextual action to use this template on related documents" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/followers.xml:51 -#, python-format -msgid "Remove this follower" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:103 -#: model:ir.ui.view,arch_db:mail.view_mail_form -#, python-format -msgid "Reply" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_reply_to -#: model:ir.model.fields,help:mail.field_mail_mail_reply_to -#: model:ir.model.fields,help:mail.field_mail_message_reply_to -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_reply_to -msgid "" -"Reply email address. Setting the reply_to bypasses the automatic thread " -"creation." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_reply_to -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_reply_to -#: model:ir.model.fields,field_description:mail.field_mail_mail_reply_to -#: model:ir.model.fields,field_description:mail.field_mail_message_reply_to -#: model:ir.model.fields,field_description:mail.field_mail_template_reply_to -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_reply_to -msgid "Reply-To" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_report_name -#: model:ir.model.fields,field_description:mail.field_mail_template_report_name -msgid "Report Filename" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_mail_tree -msgid "Retry" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_body_html -msgid "Rich-text Contents" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_mail_body_html -msgid "Rich-text/HTML message" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_email_template_search -msgid "SMTP Server" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_res_id -msgid "Sample Document" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Save as a new template" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Save as new template" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_window.js:35 -#, python-format -msgid "Say something" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_scheduled_date -#: model:ir.model.fields,field_description:mail.field_mail_template_scheduled_date -msgid "Scheduled Date" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_scheduled_date -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Scheduled Send Date" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_search -msgid "Search Alias" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_search -msgid "Search Groups" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_model_object_field -#: model:ir.model.fields,help:mail.field_mail_template_model_object_field -msgid "" -"Select target field from the related document model.\n" -"If it is a relationship field you will be able to select a target field at " -"the destination of the relationship." -msgstr "" - -#. module: mail -#: selection:mail.channel,public:0 -msgid "Selected group of users" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/composer.js:333 -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -#, python-format -msgid "Send" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite_send_mail -msgid "Send Email" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_template.py:252 -#, python-format -msgid "Send Mail (%s)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_mail_tree -msgid "Send Now" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:67 -#, python-format -msgid "Send a message" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_email_send -msgid "Send messages by email" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_email_from -#: model:ir.model.fields,help:mail.field_ir_act_server_email_from -#: model:ir.model.fields,help:mail.field_mail_template_email_from -msgid "" -"Sender address (placeholders may be used here). If not set, the default " -"value will be the author's email alias if configured, or email address." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:95 -#, python-format -msgid "Sends messages by email" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search selection:mail.mail,state:0 -msgid "Sent" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_sequence -msgid "Sequence" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:136 -#, python-format -msgid "Settings" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_shortcode_type -msgid "Shortcode type" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_shortcode_view_form -#: model:ir.ui.view,arch_db:mail.mail_shortcode_view_tree -msgid "Shortcodes" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_source -msgid "Shortcut" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_ref_ir_value -#: model:ir.model.fields,field_description:mail.field_mail_template_ref_ir_value -msgid "Sidebar Button" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_ref_ir_act_window -#: model:ir.model.fields,field_description:mail.field_mail_template_ref_ir_act_window -msgid "Sidebar action" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_ref_ir_act_window -#: model:ir.model.fields,help:mail.field_mail_template_ref_ir_act_window -msgid "" -"Sidebar action to make this template available on records of the related " -"document model" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_ref_ir_value -#: model:ir.model.fields,help:mail.field_mail_template_ref_ir_value -msgid "Sidebar button to open the sidebar action" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_author_avatar -#: model:ir.model.fields,help:mail.field_mail_mail_author_avatar -#: model:ir.model.fields,help:mail.field_mail_message_author_avatar -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_author_avatar -msgid "" -"Small-sized image of this contact. It is automatically resized as a 64x64px " -"image, with aspect ratio preserved. Use this field anywhere a small image is " -"required." -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_image_small -msgid "Small-sized photo" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_image_small -msgid "" -"Small-sized photo of the group. It is automatically resized as a 64x64px " -"image, with aspect ratio preserved. Use this field anywhere a small image is " -"required." -msgstr "" - -#. module: mail -#: selection:mail.shortcode,shortcode_type:0 -msgid "Smiley" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:964 -#: code:addons/mail/static/src/xml/client_action.xml:28 -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_starred -#: model:ir.model.fields,field_description:mail.field_mail_mail_starred -#: model:ir.model.fields,field_description:mail.field_mail_message_starred -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_starred -#, python-format -msgid "Starred" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_state -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Status" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_sub_model_object_field -#: model:ir.model.fields,field_description:mail.field_mail_template_sub_model_object_field -msgid "Sub-field" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_sub_object -#: model:ir.model.fields,field_description:mail.field_mail_template_sub_object -msgid "Sub-model" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/composer.xml:8 -#: model:ir.model.fields,field_description:mail.field_email_template_preview_subject -#: model:ir.model.fields,field_description:mail.field_ir_act_server_subject -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_subject -#: model:ir.model.fields,field_description:mail.field_mail_mail_subject -#: model:ir.model.fields,field_description:mail.field_mail_message_subject -#: model:ir.model.fields,field_description:mail.field_mail_template_subject -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_subject -#, python-format -msgid "Subject" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_subject -#: model:ir.model.fields,help:mail.field_ir_act_server_subject -#: model:ir.model.fields,help:mail.field_mail_template_subject -#: model:ir.ui.view,arch_db:mail.email_template_form -msgid "Subject (placeholders may be used here)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form -msgid "Subject..." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:115 -#, python-format -msgid "Subject:" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_shortcode_substitution -msgid "Substitution" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_subtype_id -#: model:ir.model.fields,field_description:mail.field_mail_followers_subtype_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_subtype_id -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_id_2200 -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_subtype_id -#: model:ir.ui.view,arch_db:mail.view_message_subtype_tree -msgid "Subtype" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_message_subtype -#: model:ir.ui.menu,name:mail.menu_message_subtype -msgid "Subtypes" -msgstr "" - -#. module: mail -#: selection:mail.compose.message,message_type:0 -#: selection:mail.message,message_type:0 -#: selection:survey.mail.compose.message,message_type:0 -msgid "System notification" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.wizard_email_template_preview -msgid "Template Preview" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_email_template_tree_all -#: model:ir.ui.menu,name:mail.menu_email_templates -#: model:ir.ui.view,arch_db:mail.email_template_form -#: model:ir.ui.view,arch_db:mail.email_template_tree -#: model:ir.ui.view,arch_db:mail.view_email_template_search -msgid "Templates" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_alias_id -msgid "" -"The email address associated with this group. New emails received will " -"automatically create new topics." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_shortcode_substitution -msgid "The escaped html code replacing the shortcut" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_model_id -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_model_id -#: model:ir.model.fields,help:mail.field_mail_channel_alias_model_id -#: model:ir.model.fields,help:mail.field_res_users_alias_model_id -msgid "" -"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " -"email that does not reply to an existing record will cause the creation of a " -"new record of this model (e.g. a Project Task)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_name -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_name -#: model:ir.model.fields,help:mail.field_mail_channel_alias_name -#: model:ir.model.fields,help:mail.field_res_users_alias_name -msgid "" -"The name of the email alias, e.g. 'jobs' if you want to catch emails for " -"<jobs@example.odoo.com>" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_alias_alias_user_id -#: model:ir.model.fields,help:mail.field_mail_alias_mixin_alias_user_id -#: model:ir.model.fields,help:mail.field_mail_channel_alias_user_id -#: model:ir.model.fields,help:mail.field_res_users_alias_user_id -msgid "" -"The owner of records created upon receiving emails on this alias. If this " -"field is not set the system will attempt to find the right owner based on " -"the sender (From) address, or will use the Administrator account if no " -"system user is found for that address." -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_message.py:728 -#: code:addons/mail/models/mail_message.py:823 -#, python-format -msgid "" -"The requested operation cannot be completed due to security restrictions. " -"Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_shortcode_source -msgid "The shortcut which must be replace in the Chat Messages" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_model_id -#: model:ir.model.fields,help:mail.field_mail_template_model_id -msgid "The type of document this template can be used with" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_server_action_form_template -msgid "" -"The values displayed hereunder are informative. When sending the email, the " -"values\n" -" will be taken from the email template." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_image -msgid "" -"This field holds the image used as photo for the group, limited to " -"1024x1024px." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_channel_public -msgid "" -"This group is visible by non members. Invisible groups can add members " -"through the invite button." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_search -msgid "Thread" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_mail_email_to -msgid "To" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_email_to -#: model:ir.model.fields,field_description:mail.field_ir_act_server_email_to -#: model:ir.model.fields,field_description:mail.field_mail_template_email_to -msgid "To (Emails)" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_email_template_preview_partner_to -#: model:ir.model.fields,field_description:mail.field_ir_act_server_partner_to -#: model:ir.model.fields,field_description:mail.field_mail_mail_recipient_ids -#: model:ir.model.fields,field_description:mail.field_mail_template_partner_to -msgid "To (Partners)" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/extended_chat_window.xml:7 -#, python-format -msgid "To:" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:30 -#, python-format -msgid "To: Followers of" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/thread.js:230 -#, python-format -msgid "Today" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:131 -#, python-format -msgid "Toggle Channels" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Topics discussed in this group..." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_tracking_value_ids -#: model:ir.model.fields,help:mail.field_mail_mail_tracking_value_ids -#: model:ir.model.fields,help:mail.field_mail_message_tracking_value_ids -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_tracking_value_ids -#, fuzzy -msgid "" -"Tracked values are stored in a separate model. This field allow to " -"reconstruct the tracking and to generate statistics on the model." -msgstr "" -"Tracked values are stored in a separate model. This field allow to " -"reconstruct the tracking and to generate statistics on the model." - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_message_form -msgid "Tracking" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_form -#: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_tree -msgid "Tracking Value" -msgstr "" - -#. module: mail -#: model:ir.actions.act_window,name:mail.action_view_mail_tracking_value -#: model:ir.ui.menu,name:mail.menu_mail_tracking_value -msgid "Tracking Values" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_tracking_value_ids -#: model:ir.model.fields,field_description:mail.field_mail_mail_tracking_value_ids -#: model:ir.model.fields,field_description:mail.field_mail_message_tracking_value_ids -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_tracking_value_ids -msgid "Tracking values" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_message_type -#: model:ir.model.fields,field_description:mail.field_mail_mail_message_type -#: model:ir.model.fields,field_description:mail.field_mail_message_message_type -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_message_type -msgid "Type" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_channel_uuid -msgid "UUID" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_message.py:43 -#, python-format -msgid "" -"Unable to send email, please configure the sender's email address or alias." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:117 -#, python-format -msgid "Undo" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/models/mail_thread.py:684 -#: code:addons/mail/static/src/xml/followers.xml:22 -#, python-format -msgid "Unfollow" -msgstr "" - -#. module: mail -#: sql_constraint:mail.alias:0 -msgid "" -"Unfortunately this email alias is already used, please choose a unique one" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_unread -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_unread -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_unread -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_unread -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_unread -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_unread -#: model:ir.model.fields,field_description:mail.field_blog_post_message_unread -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_unread -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_unread -#: model:ir.model.fields,field_description:mail.field_crm_team_message_unread -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_unread -#: model:ir.model.fields,field_description:mail.field_event_event_message_unread -#: model:ir.model.fields,field_description:mail.field_event_registration_message_unread -#: model:ir.model.fields,field_description:mail.field_event_track_message_unread -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_unread -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_unread -#: model:ir.model.fields,field_description:mail.field_forum_post_message_unread -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_unread -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_unread -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_department_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_job_message_unread -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_unread -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_unread -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_unread -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_unread -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_unread -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_unread -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_unread -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_unread -#: model:ir.model.fields,field_description:mail.field_note_note_message_unread -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_unread -#: model:ir.model.fields,field_description:mail.field_product_product_message_unread -#: model:ir.model.fields,field_description:mail.field_product_template_message_unread -#: model:ir.model.fields,field_description:mail.field_project_issue_message_unread -#: model:ir.model.fields,field_description:mail.field_project_project_message_unread -#: model:ir.model.fields,field_description:mail.field_project_task_message_unread -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_unread -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_unread -#: model:ir.model.fields,field_description:mail.field_res_partner_message_unread -#: model:ir.model.fields,field_description:mail.field_res_users_message_unread -#: model:ir.model.fields,field_description:mail.field_sale_order_message_unread -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_unread -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_unread -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_unread -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_unread -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_unread -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_unread -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_unread -msgid "Unread Messages" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_account_analytic_account_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_account_asset_asset_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_account_bank_statement_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_account_invoice_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_account_voucher_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_blog_blog_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_blog_post_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_calendar_event_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_crm_lead_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_crm_team_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_crossovered_budget_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_event_event_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_event_registration_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_event_track_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_fleet_vehicle_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_forum_forum_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_forum_post_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_forum_tag_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_gamification_badge_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_gamification_challenge_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_applicant_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_contract_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_department_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_employee_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_category_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_equipment_request_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_expense_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_holidays_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_job_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_hr_timesheet_sheet_sheet_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mail_channel_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mail_mass_mailing_contact_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mail_thread_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mrp_bom_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mrp_production_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mrp_production_workcenter_line_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_mrp_repair_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_note_note_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_procurement_order_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_product_product_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_product_template_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_project_issue_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_project_project_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_project_task_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_purchase_order_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_purchase_requisition_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_res_partner_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_res_users_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_sale_order_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_slide_channel_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_slide_slide_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_stock_landed_cost_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_stock_picking_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_stock_picking_wave_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_stock_production_lot_message_unread_counter -#: model:ir.model.fields,field_description:mail.field_survey_survey_message_unread_counter -msgid "Unread Messages Counter" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_message_search -msgid "Unread messages" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:134 -#, python-format -msgid "Unstar all" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:134 -#, python-format -msgid "Unstar all messages" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:135 -#, python-format -msgid "Unsubscribe" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:135 -#, python-format -msgid "Unsubscribe from channel" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:467 -#, python-format -msgid "Unsubscribed" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:169 -#, python-format -msgid "Uploading" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/composer.js:578 -#, python-format -msgid "Uploading error" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_use_active_domain -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_use_active_domain -msgid "Use active domain" -msgstr "" - -#. module: mail -#: model:ir.model.fields,field_description:mail.field_mail_compose_message_template_id -#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_template_id -msgid "Use template" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_message_subtype_sequence -msgid "Used to order subtypes." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_alias_search -#: model:ir.ui.view,arch_db:mail.view_mail_form -#: model:ir.ui.view,arch_db:mail.view_mail_tree -msgid "User" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_res_users -msgid "Users" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:671 -#: code:addons/mail/models/mail_thread.py:673 -#, python-format -msgid "View" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:328 -#, python-format -msgid "" -"Warning! \n" -" If you remove a follower, he won't be notified of any email or discussion " -"on this document. Do you really want to remove this follower ?" -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_sub_model_object_field -#: model:ir.model.fields,help:mail.field_mail_template_sub_model_object_field -msgid "" -"When a relationship field is selected as first field, this field lets you " -"select the target field within the destination document model (sub-model)." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_sub_object -#: model:ir.model.fields,help:mail.field_mail_template_sub_object -msgid "" -"When a relationship field is selected as first field, this field shows the " -"document model the relationship goes to." -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_mail_compose_message_is_log -#: model:ir.model.fields,help:mail.field_survey_mail_compose_message_is_log -msgid "Whether the message is an internal note (comment mode only)" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "Who can follow the group's activities?" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/composer.xml:18 -#, python-format -msgid "Write something..." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/thread.js:232 -#, python-format -msgid "Yesterday" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:78 -#, python-format -msgid "You added <b>%s</b> to the conversation." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:29 -#, python-format -msgid "You can mark any message as 'starred', and it shows up in this channel." -msgstr "" - -#. module: mail -#: code:addons/mail/models/res_users.py:49 -#, python-format -msgid "" -"You cannot create a new user from here.\n" -" To create new user please go to configuration panel." -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_channel.py:130 -#, python-format -msgid "" -"You cannot delete those groups, as the Whole Company group is required by " -"other modules." -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:354 -#, python-format -msgid "" -"You could also add a new %(document)s by sending an email to: %(email_link)s." -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/chat_manager.js:577 -#, python-format -msgid "You have been invited to: " -msgstr "" - -#. module: mail -#: model:ir.model.fields,help:mail.field_email_template_preview_attachment_ids -#: model:ir.model.fields,help:mail.field_mail_template_attachment_ids -msgid "" -"You may attach files to this template, to be added to all emails created " -"from this template" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/client_action.js:466 -#, python-format -msgid "You unsubscribed from <b>%s</b>." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_server_action_form_template -msgid "" -"Your template does not defined the email address of the sender. Please " -"update your template." -msgstr "" - -#. module: mail -#: code:addons/mail/models/ir_actions.py:32 -#, python-format -msgid "Your template should define email_from" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_base_config_settings -msgid "base.config.settings" -msgstr "" - -#. module: mail -#: model:mail.channel,name:mail.channel_2 -msgid "board-meetings" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_mail_form -msgid "by" -msgstr "" - -#. module: mail -#: code:addons/mail/models/mail_thread.py:320 -#, python-format -msgid "document" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:11 -#, python-format -msgid "enable desktop notifications" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/followers.js:222 -#, python-format -msgid "followers" -msgstr "" - -#. module: mail -#: model:mail.channel,name:mail.channel_all_employees -msgid "general" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_ir_actions_server -msgid "ir.actions.server" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_ir_autovacuum -msgid "ir.autovacuum" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_mail_alias_mixin -msgid "mail.alias.mixin" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.mail_channel_view_form -msgid "members" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/client_action.xml:116 -#, python-format -msgid "mention(s) marked as read." -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.view_general_configuration_mail_alias_domain -msgid "mycompany.odoo.com" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/thread.js:20 -#, python-format -msgid "now" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/thread.xml:91 -#: model:ir.ui.view,arch_db:mail.view_mail_form -#, python-format -msgid "on" -msgstr "" - -#. module: mail -#: model:ir.model,name:mail.model_publisher_warranty_contract -msgid "publisher_warranty.contract" -msgstr "" - -#. module: mail -#: model:mail.channel,name:mail.channel_3 -msgid "rd" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/thread.js:16 -#, python-format -msgid "read less" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/js/thread.js:15 -#, python-format -msgid "read more" -msgstr "" - -#. module: mail -#: model:ir.ui.view,arch_db:mail.email_template_preview_form -msgid "record:" -msgstr "" - -#. module: mail -#: model:mail.channel,name:mail.channel_1 -msgid "sales" -msgstr "" - -#. module: mail -#. openerp-web -#: code:addons/mail/static/src/xml/chatter.xml:35 -#, python-format -msgid "this document" -msgstr "" diff --git a/addons/mail/i18n/mail.pot b/addons/mail/i18n/mail.pot index 5c7b499ba97..85643f5c680 100644 --- a/addons/mail/i18n/mail.pot +++ b/addons/mail/i18n/mail.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -19,7 +19,7 @@ msgstr "" #: model:mail.template,body_html:mail.mail_template_data_notification_email_default msgid "\n" "<div>\n" -"% if ctx.get('button_access'):\n" +"% if ctx.get('has_button_access'):\n" "<div itemscope itemtype=\"http://schema.org/EmailMessage\">\n" " <div itemprop=\"potentialAction\" itemscope itemtype=\"http://schema.org/ViewAction\">\n" " <link itemprop=\"target\" href=\"${ctx['button_access']['url']}\"/>\n" @@ -28,31 +28,31 @@ msgid "\n" " </div>\n" "</div>\n" "% endif\n" -"% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx.get('button_access'):\n" -"<div summary=\"o_mail_notification\">\n" -"<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width: 100%; margin-top: 5px;\">\n" +"% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx.get('has_button_access'):\n" +"<div summary=\"o_mail_notification\" style=\"padding: 0px; width:600px;\">\n" +"<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width: 600px; margin-top: 5px;\">\n" "<tbody><tr>\n" " <td valign=\"center\">\n" -" % if ctx.get('button_access') or ctx.get('button_follow') or ctx.get('button_unfollow'):\n" -" <a href=\"${ctx['button_access']['url']}\" style=\"padding: 8px 12px; font-size: 12px; text-decoration: none; color: #FFFFFF; text-decoration:none !important; font-weight: 400; background-color: #a24689; border: 0px solid #a24689; border-radius:3px\">${ctx['button_access']['title']}</a>\n" +" % if ctx.get('has_button_access'):\n" +" <a href=\"${ctx['button_access']['url']}\" style=\"padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #a24689; border: 0px solid #a24689; border-radius:3px\">${ctx['button_access']['title']}</a>\n" " % endif\n" "\n" -" % if ctx.get('button_follow'):\n" -" % if ctx.get('actions'):\n" +" % if ctx.get('has_button_follow'):\n" +" % if ctx.get('has_button_access'):\n" " |\n" " % endif\n" -" <a href=\"${ctx['button_follow']['url']}\" style=\"text-decoration:none; color: #a24689; text-decoration:none !important;\">${ctx['button_follow']['title']}</a>\n" -" % elif ctx.get('button_unfollow'):\n" -" % if ctx.get('actions'):\n" +" <a href=\"${ctx['button_follow']['url']}\" style=\"color: #a24689; text-decoration: none !important;\">${ctx['button_follow']['title']}</a>\n" +" % elif ctx.get('has_button_unfollow'):\n" +" % if ctx.get('has_button_access'):\n" " |\n" " % endif\n" -" <a href=\"${ctx['button_unfollow']['url']}\" style=\"text-decoration:none; color: #a24689; text-decoration:none !important;\">${ctx['button_unfollow']['title']}</a>\n" +" <a href=\"${ctx['button_unfollow']['url']}\" style=\"color: #a24689; text-decoration: none !important;\">${ctx['button_unfollow']['title']}</a>\n" " % endif\n" "\n" " % if ctx.get('actions'):\n" " % for action in ctx['actions']:\n" " |\n" -" <a href=\"${action['url']}\" style=\"text-decoration:none; color: #a24689; text-decoration:none !important;\">${action['title']}</a>\n" +" <a href=\"${action['url']}\" style=\"color: #a24689; text-decoration:none !important;\">${action['title']}</a>\n" " % endfor\n" " % endif\n" " </td>\n" @@ -103,7 +103,7 @@ msgid "\n" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:639 +#: code:addons/mail/models/mail_channel.py:640 #, python-format msgid " This channel is private. People must be invited to join it." msgstr "" @@ -158,7 +158,7 @@ msgid "-------- Show older messages --------" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:643 +#: code:addons/mail/models/mail_channel.py:644 #, python-format msgid "<br><br>\n" " You can mention someone by typing <b>@username</b>, this will grab its attention.<br>\n" @@ -168,14 +168,14 @@ msgid "<br><br>\n" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:550 +#: code:addons/mail/models/mail_channel.py:551 #, python-format msgid "<div class=\"o_mail_notification\">created <a href=\"#\" class=\"o_channel_redirect\" data-oe-id=\"%s\">#%s</a></div>" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:473 -#: code:addons/mail/models/mail_channel.py:526 +#: code:addons/mail/models/mail_channel.py:474 +#: code:addons/mail/models/mail_channel.py:527 #, python-format msgid "<div class=\"o_mail_notification\">joined <a href=\"#\" class=\"o_channel_redirect\" data-oe-id=\"%s\">#%s</a></div>" msgstr "" @@ -1385,7 +1385,7 @@ msgstr "" #. module: mail #. openerp-web -#: code:addons/mail/models/mail_thread.py:658 +#: code:addons/mail/models/mail_thread.py:673 #: code:addons/mail/static/src/xml/followers.xml:21 #, python-format msgid "Follow" @@ -1900,7 +1900,7 @@ msgid "Invalid expression, it must be a literal python dictionary definition e.g msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:1746 +#: code:addons/mail/models/mail_thread.py:1763 #, python-format msgid "Invalid record set: should be called as model (without records) or on single-record recordset" msgstr "" @@ -2203,7 +2203,7 @@ msgstr "" #. module: mail #. openerp-web -#: code:addons/mail/models/mail_channel.py:652 +#: code:addons/mail/models/mail_channel.py:653 #: code:addons/mail/static/src/xml/client_action.xml:101 #, python-format msgid "Leave this channel" @@ -2220,7 +2220,7 @@ msgid "List of partners that will be added as follower of the current document." msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:663 +#: code:addons/mail/models/mail_channel.py:664 #, python-format msgid "List users in the current channel" msgstr "" @@ -3411,7 +3411,7 @@ msgid "Rich-text/HTML message" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:795 +#: code:addons/mail/models/mail_thread.py:807 #, python-format msgid "Routing mail with Message-Id %s: route %s: %s" msgstr "" @@ -3569,7 +3569,7 @@ msgid "Shortcut" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:632 +#: code:addons/mail/models/mail_channel.py:633 #, python-format msgid "Show an helper message" msgstr "" @@ -3695,7 +3695,7 @@ msgstr "" #: model:ir.model.fields,field_description:mail.field_mail_compose_message_subtype_id #: model:ir.model.fields,field_description:mail.field_mail_followers_subtype_ids #: model:ir.model.fields,field_description:mail.field_mail_mail_subtype_id -#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_id_2098 +#: model:ir.model.fields,field_description:mail.field_mail_message_subtype_id_2106 #: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_subtype_id #: model:ir.ui.view,arch_db:mail.view_message_subtype_tree msgid "Subtype" @@ -3924,7 +3924,7 @@ msgstr "" #. module: mail #. openerp-web -#: code:addons/mail/models/mail_thread.py:659 +#: code:addons/mail/models/mail_thread.py:677 #: code:addons/mail/static/src/xml/followers.xml:23 #, python-format msgid "Unfollow" @@ -4140,14 +4140,14 @@ msgid "Users" msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:676 +#: code:addons/mail/models/mail_channel.py:677 #, python-format msgid "Users in this channel: %s %s and you." msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:646 -#: code:addons/mail/models/mail_thread.py:648 +#: code:addons/mail/models/mail_thread.py:645 +#: code:addons/mail/models/mail_thread.py:647 #: model:ir.ui.view,arch_db:mail.message_user_assigned #, python-format msgid "View" @@ -4206,19 +4206,19 @@ msgid "You added <b>%s</b> to the conversation." msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:673 +#: code:addons/mail/models/mail_channel.py:674 #, python-format msgid "You are alone in this channel." msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:642 +#: code:addons/mail/models/mail_channel.py:643 #, python-format msgid "You are in a private conversation with <b>@%s</b>." msgstr "" #. module: mail -#: code:addons/mail/models/mail_channel.py:637 +#: code:addons/mail/models/mail_channel.py:638 #, python-format msgid "You are in channel <b>#%s</b>." msgstr "" @@ -4293,13 +4293,13 @@ msgid "Your template should define email_from" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:929 +#: code:addons/mail/models/mail_thread.py:941 #, python-format msgid "alias %s does not accept unknown author" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:925 +#: code:addons/mail/models/mail_thread.py:937 #, python-format msgid "alias %s restricted to internal followers" msgstr "" @@ -4310,6 +4310,11 @@ msgid "base.config.settings" msgstr "" #. module: mail +#: model:mail.channel,name:mail.channel_2 +msgid "board-meetings" +msgstr "" + +#. module: mail #: model:ir.ui.view,arch_db:mail.view_mail_form msgid "by" msgstr "" @@ -4382,19 +4387,19 @@ msgid "mention(s) marked as read." msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:904 +#: code:addons/mail/models/mail_thread.py:916 #, python-format msgid "model %s does not accept document creation" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:899 +#: code:addons/mail/models/mail_thread.py:911 #, python-format msgid "model %s does not accept document update" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:892 +#: code:addons/mail/models/mail_thread.py:904 #, python-format msgid "model %s does not accept document update, fall back on document creation" msgstr "" @@ -4425,13 +4430,13 @@ msgid "on" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:874 +#: code:addons/mail/models/mail_thread.py:886 #, python-format msgid "posting a message without model should be with a null res_id (private message), received %s" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:878 +#: code:addons/mail/models/mail_thread.py:890 #, python-format msgid "posting a message without model should be with a parent_id (private message)" msgstr "" @@ -4442,6 +4447,11 @@ msgid "publisher_warranty.contract" msgstr "" #. module: mail +#: model:mail.channel,name:mail.channel_3 +msgid "rd" +msgstr "" + +#. module: mail #. openerp-web #: code:addons/mail/static/src/js/thread.js:16 #, python-format @@ -4461,30 +4471,35 @@ msgid "record:" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:896 +#: code:addons/mail/models/mail_thread.py:908 #, python-format msgid "reply to missing document (%s,%s)" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:889 +#: code:addons/mail/models/mail_thread.py:901 #, python-format msgid "reply to missing document (%s,%s), fall back on new document creation" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:874 +#: code:addons/mail/models/mail_thread.py:886 #, python-format msgid "resetting thread_id" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:878 -#: code:addons/mail/models/mail_thread.py:896 -#: code:addons/mail/models/mail_thread.py:899 -#: code:addons/mail/models/mail_thread.py:904 -#: code:addons/mail/models/mail_thread.py:925 -#: code:addons/mail/models/mail_thread.py:929 +#: model:mail.channel,name:mail.channel_1 +msgid "sales" +msgstr "" + +#. module: mail +#: code:addons/mail/models/mail_thread.py:890 +#: code:addons/mail/models/mail_thread.py:908 +#: code:addons/mail/models/mail_thread.py:911 +#: code:addons/mail/models/mail_thread.py:916 +#: code:addons/mail/models/mail_thread.py:937 +#: code:addons/mail/models/mail_thread.py:941 #, python-format msgid "skipping" msgstr "" @@ -4497,7 +4512,7 @@ msgid "this document" msgstr "" #. module: mail -#: code:addons/mail/models/mail_thread.py:867 +#: code:addons/mail/models/mail_thread.py:879 #, python-format msgid "unknown target model %s" msgstr "" diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index a8bed5820f4..c2533edf6d4 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -172,15 +172,16 @@ class Channel(models.Model): return result @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): + def _notification_recipients(self, message, groups): """ All recipients of a message on a channel are considered as partners. This means they will receive a minimal email, without a link to access in the backend. Mailing lists should indeed send minimal emails to avoid the noise. """ - for recipient in recipients: - group_data['partner'] |= recipient - done_ids.add(recipient.id) - return super(Channel, self)._notification_group_recipients(message, recipients, done_ids, group_data) + groups = super(Channel, self)._notification_recipients(message, groups) + for (index, (group_name, group_func, group_data)) in enumerate(groups): + if group_name != 'customer': + groups[index] = (group_name, lambda partner: False, group_data) + return groups @api.multi def message_get_email_values(self, notif_mail=None): diff --git a/addons/mail/models/mail_template.py b/addons/mail/models/mail_template.py index 8508fa9f250..d87cad5fec7 100644 --- a/addons/mail/models/mail_template.py +++ b/addons/mail/models/mail_template.py @@ -488,7 +488,7 @@ class MailTemplate(models.Model): ) # Add report in attachments: generate once for all template_res_ids - if template.report_template and not 'report_template_in_attachment' in self.env.context: + if template.report_template: for res_id in template_res_ids: attachments = [] report_name = self.render_template(template.report_name, template.model, res_id) diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index d75011b92d7..71c196cd693 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -441,11 +441,14 @@ class MailThread(models.AbstractModel): - a set of updated column names - a list of changes (initial value, new value, column name, column info) """ self.ensure_one() - changes = set() + changes = set() # contains always and onchange tracked fields that changed + displays = set() # contains always tracked field that did not change but displayed for information tracking_value_ids = [] + display_values_ids = [] # generate tracked_values data structure: {'col_name': {col_info, new_value, old_value}} for col_name, col_info in tracked_fields.items(): + track_visibility = getattr(self._fields[col_name], 'track_visibility', 'onchange') initial_value = initial[col_name] new_value = getattr(self, col_name) @@ -456,6 +459,16 @@ class MailThread(models.AbstractModel): if col_name in tracked_fields: changes.add(col_name) + # 'always' tracked fields in separate variable; added if other changes + elif new_value == initial_value and track_visibility == 'always' and col_name in tracked_fields: + tracking = self.env['mail.tracking.value'].create_tracking_values(initial_value, initial_value, col_name, col_info) + if tracking: + display_values_ids.append([0, 0, tracking]) + displays.add(col_name) + + if changes and displays: + tracking_value_ids = display_values_ids + tracking_value_ids + return changes, tracking_value_ids @api.multi @@ -562,16 +575,15 @@ class MailThread(models.AbstractModel): 'message_id': kwargs.pop('message_id') } else: - self.ensure_one() base_params = { - 'model': self._name, - 'res_id': self.ids[0], + 'model': kwargs.pop('model', self._name), + 'res_id': kwargs.pop('res_id', self.ids and self.ids[0] or False), } link = False if link_type in ['view', 'assign', 'follow', 'unfollow']: params = dict(base_params) - link = '/mail/view?%s' % url_encode(params) + link = '/mail/%s?%s' % (link_type, url_encode(params)) elif link_type == 'workflow': params = dict(base_params, signal=kwargs['signal']) link = '/mail/workflow?%s' % url_encode(params) @@ -585,57 +597,57 @@ class MailThread(models.AbstractModel): return link @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Given the categories of partners to emails in group_data, set the - right group for the recipients. The basic behavior is simply to - distinguish users from partners. - - Inherit this method to group recipients according to specific criterions - allowing to tune the notification email. Generally this will be based - on user groups (res.groups), but not necessarily. - - Example: having defined a group_hr_user entry, store HR users and - officers. """ - # TDE note: recipients is normally sudo-ed - group_user = self.env['ir.model.data'].xmlid_to_res_id('base.group_user') - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and group_user in recipient.user_ids[0].groups_id.ids: - group_data['user'] |= recipient - else: - group_data['partner'] |= recipient - return group_data - - @api.multi - def _notification_get_recipient_groups(self, message, recipients): - """ Give the categories of recipients for notification emails. As emails - are generated once for group of recipients to work in batch, the first - thing to do is to categorize them. The basic behavior is simply - to distinguish users from partners. - - Specific values : - - - button_access: used to display 'View Document' in email, if set - - button_follow: used to display 'Follow' in email, if set - - button unfollow: used to display 'Unfollow' in email, if set + def _notification_recipients(self, message, groups): + """ Return groups used to classify recipients of a notification email. + Groups is a list of tuple containing of form (group_name, group_func, + group_data) where + + * group_name is an identifier used only to be able to override and manipulate + groups. Default groups are user (recipients linked to an employee user), + portal (recipients linked to a portal user) and customer (recipients not + linked to any user). An example of override use would be to add a group + linked to a res.groups like Hr Officers to set specific action buttons to + them. + * group_func is a function pointer taking a partner record as parameter. This + method will be applied on recipients to know whether they belong to a given + group or not. Only first matching group is kept. Evaluation order is the + list order. + * group_data is a dict containing parameters for the notification email + + * has_button_access: whether to display Access <Document> in email. True + by default for new groups, False for portal / customer. + * button_access: dict with url and title of the button + * has_button_follow: whether to display Follow in email (if recipient is + not currently following the thread). True by default for new groups, + False for portal / customer. + * button_follow: dict with url adn title of the button + * has_button_unfollow: whether to display Unfollow in email (if recipient + is currently following the thread). True by default for new groups, + False for portal / customer. + * button_unfollow: dict with url and title of the button + * actions: list of action buttons to display in the notification email. + Each action is a dict containing url and title of the button. + + Groups has a default value that you can find in mail_thread + _message_notification_recipients method. """ - # TDE note: recipients is normally sudo-ed - return { - 'partner': { - 'button_access': None, - 'button_follow': False, - 'button_unfollow': False, - }, - 'user': { - } - } + return groups @api.multi def _message_notification_recipients(self, message, recipients): # At this point, all access rights should be ok. We sudo everything to # access rights checks and speedup the computation. recipients_sudo = recipients.sudo() + result = {} + + doc_followers = self.env['mail.followers'] + if message.model and message.res_id: + doc_followers = self.env['mail.followers'].sudo().search([ + ('res_model', '=', message.model), + ('res_id', '=', message.res_id), + ('partner_id', 'in', recipients_sudo.ids)]) + partner_followers = doc_followers.mapped('partner_id') + if self._context.get('auto_delete', False): access_link = self._notification_link_helper('view') else: @@ -647,37 +659,50 @@ class MailThread(models.AbstractModel): else: view_title = _('View') - result = {} - group_data = {} - - for category, data in self._notification_get_recipient_groups(message, recipients).iteritems(): - result[category] = { - 'followers': self.env['res.partner'], - 'not_followers': self.env['res.partner'], - 'button_access': {'url': access_link, 'title': view_title}, - 'button_follow': {'url': '/mail/follow?%s' % url_encode({'model': message.model, 'res_id': message.res_id}), 'title': _('Follow')}, - 'button_unfollow': {'url': '/mail/unfollow?%s' % url_encode({'model': message.model, 'res_id': message.res_id}), 'title': _('Unfollow')}, - 'actions': list(), - } - group_data[category] = self.env['res.partner'] - result[category].update(data) + default_groups = [ + ('user', lambda partner: bool(partner.user_ids) and not any(user.share for user in partner.user_ids), {}), + ('portal', lambda partner: bool(partner.user_ids) and all(user.share for user in partner.user_ids), { + 'has_button_access': False, + 'has_button_follow': False, + 'has_button_unfollow': False, + }), + ('customer', lambda partner: True, { + 'has_button_access': False, + 'has_button_follow': False, + 'has_button_unfollow': False, + }) + ] + + groups = self._notification_recipients(message, default_groups) + + for group_name, group_func, group_data in groups: + group_data.setdefault('has_button_access', True) + group_data.setdefault('button_access', { + 'url': access_link, + 'title': view_title}) + group_data.setdefault('has_button_follow', True) + group_data.setdefault('button_follow', { + 'url': self._notification_link_helper('follow', model=message.model, res_id=message.res_id), + 'title': _('Follow')}) + group_data.setdefault('has_button_unfollow', True) + group_data.setdefault('button_unfollow', { + 'url': self._notification_link_helper('unfollow', model=message.model, res_id=message.res_id), + 'title': _('Unfollow')}) + group_data.setdefault('actions', list()) + group_data.setdefault('followers', self.env['res.partner']) + group_data.setdefault('not_followers', self.env['res.partner']) - doc_followers = self.env['mail.followers'] - if message.model and message.res_id: - doc_followers = self.env['mail.followers'].sudo().search([ - ('res_model', '=', message.model), - ('res_id', '=', message.res_id), - ('partner_id', 'in', recipients_sudo.ids)]) - partner_followers = doc_followers.mapped('partner_id') + for recipient in recipients: + for group_name, group_func, group_data in groups: + if group_func(recipient): + if recipient in partner_followers: + group_data['followers'] |= recipient + else: + group_data['not_followers'] |= recipient + break - # classify recipients, then set them in followers / not followers - group_data = self._notification_group_recipients(message, recipients, set(), group_data) - for category, recipients in group_data.iteritems(): - for recipient in recipients: - if recipient in partner_followers: - result[category]['followers'] |= recipient - else: - result[category]['not_followers'] |= recipient + for group_name, group_method, group_data in groups: + result[group_name] = group_data return result @@ -1680,12 +1705,14 @@ class MailThread(models.AbstractModel): m2m_attachment_ids += [(4, id) for id in attachment_ids] # Handle attachments parameter, that is a dictionary of attachments for attachment in attachments: + cid = False if len(attachment) == 2: name, content = attachment elif len(attachment) == 3: name, content, info = attachment if info and info.get('cid'): - cid_mapping[info['cid']] = name + cid = info['cid'] + cid_mapping[cid] = name else: continue if isinstance(content, unicode): @@ -1693,7 +1720,7 @@ class MailThread(models.AbstractModel): data_attach = { 'name': name, 'datas': base64.b64encode(str(content)), - 'datas_fname': name, + 'datas_fname': cid or name, 'description': name, 'res_model': message_data['model'], 'res_id': message_data['res_id'], @@ -1706,8 +1733,11 @@ class MailThread(models.AbstractModel): postprocessed = False for node in root.iter('img'): if node.get('src', '').startswith('cid:'): - fname = cid_mapping.get(node.get('src').split('cid:')[1], node.get('data-filename', '')) - attachment = parameter_attachments.filtered(lambda attachment: attachment.name == fname) + cid = node.get('src').split('cid:')[1] + fname = cid_mapping.get(cid, node.get('data-filename', '')) + attachment = parameter_attachments.filtered(lambda attachment: attachment.datas_fname == cid) + if not attachment: + attachment = parameter_attachments.filtered(lambda attachment: attachment.datas_fname == fname) if attachment: node.set('src', '/web/image/%s' % attachment.ids[0]) postprocessed = True diff --git a/addons/mail/models/mail_tracking_value.py b/addons/mail/models/mail_tracking_value.py index ce8bdc7ec48..da38a678d06 100644 --- a/addons/mail/models/mail_tracking_value.py +++ b/addons/mail/models/mail_tracking_value.py @@ -10,6 +10,7 @@ class MailTracking(models.Model): _name = 'mail.tracking.value' _description = 'Mail Tracking Value' + # TDE CLEANME: why not a m2o to ir model field ? field = fields.Char('Changed Field', required=True, readonly=1) field_desc = fields.Char('Field Description', required=True, readonly=1) field_type = fields.Char('Field Type') diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index 78404ed8ec5..c75752416be 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -193,7 +193,7 @@ class Partner(models.Model): if recipient_template_values['followers']: # generate notification email content template_fol_values = dict(base_template_ctx, **recipient_template_values) # fixme: set button_unfollow to none - template_fol_values['button_follow'] = False + template_fol_values['has_button_follow'] = False template_fol = base_template.with_context(**template_fol_values) # generate templates for followers and not followers fol_values = template_fol.generate_email(message.id, fields=['body_html', 'subject']) @@ -207,7 +207,7 @@ class Partner(models.Model): if recipient_template_values['not_followers']: # generate notification email content template_not_values = dict(base_template_ctx, **recipient_template_values) # fixme: set button_follow to none - template_not_values['button_unfollow'] = False + template_not_values['has_button_unfollow'] = False template_not = base_template.with_context(**template_not_values) # generate templates for followers and not followers not_values = template_not.generate_email(message.id, fields=['body_html', 'subject']) diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js index 90fbb6ed801..0b7b37ec49f 100644 --- a/addons/mail/static/src/js/chat_manager.js +++ b/addons/mail/static/src/js/chat_manager.js @@ -128,7 +128,8 @@ function make_message (data) { subtype_description: data.subtype_description, is_author: data.author_id && data.author_id[0] === session.partner_id, is_note: data.is_note, - is_system_notification: data.message_type === 'notification' && data.model === 'mail.channel', + is_system_notification: (data.message_type === 'notification' && data.model === 'mail.channel') + || data.info === 'transient_message', attachment_ids: data.attachment_ids || [], subject: data.subject, email_from: data.email_from, diff --git a/addons/mail/static/src/js/systray.js b/addons/mail/static/src/js/systray.js index aa8c10a0c04..cd49e72042b 100644 --- a/addons/mail/static/src/js/systray.js +++ b/addons/mail/static/src/js/systray.js @@ -42,8 +42,6 @@ var InboxItem = Widget.extend({ }, 1000, true), }); -SystrayMenu.Items.push(InboxItem); - /** * Menu item appended in the systray part of the navbar * @@ -148,5 +146,6 @@ var MessagingMenu = Widget.extend({ }); SystrayMenu.Items.push(MessagingMenu); +SystrayMenu.Items.push(InboxItem); }); diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml index 47e84e38f60..b5ed0081d74 100644 --- a/addons/mail/static/src/xml/thread.xml +++ b/addons/mail/static/src/xml/thread.xml @@ -154,9 +154,11 @@ <t t-esc="value.changed_field"/>: <t t-if="value.old_value"> <span> <t t-esc="value.old_value || ((value.field_type !== 'boolean') and '')"/> </span> - <span class="fa fa-long-arrow-right"/> + <span t-if="value.old_value != value.new_value" class="fa fa-long-arrow-right"/> </t> - <span> <t t-esc="value.new_value || ((value.field_type !== 'boolean') and '')"/> </span> + <span t-if="value.old_value != value.new_value"> + <t t-esc="value.new_value || ((value.field_type !== 'boolean') and '')"/> + </span> </li> </t> </ul> diff --git a/addons/mail/tests/test_message_track.py b/addons/mail/tests/test_message_track.py index 77204336e0d..e97b840cda4 100644 --- a/addons/mail/tests/test_message_track.py +++ b/addons/mail/tests/test_message_track.py @@ -122,10 +122,10 @@ class TestTracking(TestMail): self.assertEqual(len(self.group_pigs.message_ids), 3) last_msg = self.group_pigs.message_ids[0] self.assertEqual(last_msg.subtype_id, mt_group_public_set) - self.assertEqual(len(last_msg.tracking_value_ids), 2) - self.assertEqual(set(last_msg.tracking_value_ids.mapped('field')), set(['group_public_id', 'public'])) - self.assertEqual(set(last_msg.tracking_value_ids.mapped('field_desc')), set(['Authorized Group', 'Privacy'])) - self.assertEqual(set(last_msg.tracking_value_ids.mapped('old_value_char')), set([group_user.name_get()[0][1], 'Invited people only'])) - self.assertEqual(set(last_msg.tracking_value_ids.mapped('new_value_char')), set([group_system.name_get()[0][1], 'Everyone'])) + self.assertEqual(len(last_msg.tracking_value_ids), 3) + self.assertEqual(set(last_msg.tracking_value_ids.mapped('field')), set(['group_public_id', 'public', 'name'])) + self.assertEqual(set(last_msg.tracking_value_ids.mapped('field_desc')), set(['Authorized Group', 'Privacy', 'Name'])) + self.assertEqual(set(last_msg.tracking_value_ids.mapped('old_value_char')), set([group_user.name_get()[0][1], 'Invited people only', 'supername'])) + self.assertEqual(set(last_msg.tracking_value_ids.mapped('new_value_char')), set([group_system.name_get()[0][1], 'Everyone', 'supername'])) self.assertEqual(set(last_msg.tracking_value_ids.mapped('old_value_integer')), set([0, group_user.id])) self.assertEqual(set(last_msg.tracking_value_ids.mapped('new_value_integer')), set([0, group_system.id])) diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index acaf1825348..9cf1c22e482 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -192,7 +192,7 @@ class MailComposer(models.TransientModel): @api.multi def send_mail_action(self): # TDE/ ??? - return self.with_context(report_template_in_attachment=True).send_mail() + return self.send_mail() @api.multi def send_mail(self, auto_commit=False): @@ -358,20 +358,6 @@ class MailComposer(models.TransientModel): if template.user_signature and 'body_html' in values: signature = self.env.user.signature values['body_html'] = tools.append_content_to_html(values['body_html'], signature, plaintext=False) - if template.report_template: - attachment = self.env['ir.attachment'] - attach = self.generate_attachment_from_report(template_id, res_id) - for attach_fname, attach_datas in attach[res_id].pop('attachments', []): - data_attach = { - 'name': attach_fname, - 'datas': attach_datas, - 'datas_fname': attach_fname, - 'res_model': 'mail.compose.message', - 'res_id': 0, - 'type': 'binary', - } - values.setdefault('attachment_ids', list()).append(attachment.create(data_attach).id) - elif template_id: values = self.generate_email_for_composer(template_id, [res_id])[res_id] # transform attachments into attachment_ids; not attached to the document because this will @@ -403,13 +389,6 @@ class MailComposer(models.TransientModel): return {'value': values} @api.multi - def generate_attachment_from_report(self, template_id, res_id): - fields = ['attachment_ids'] - result = self.env['mail.template'].with_context(tpl_partners_only=True).browse(template_id).generate_email([res_id], fields=fields) - return result - - - @api.multi def save_as_template(self): """ hit save as template button: current form value will be a new template attached to the current document. """ diff --git a/addons/maintenance/data/maintenance_data.xml b/addons/maintenance/data/maintenance_data.xml index cc4174756ca..051b72c05e0 100644 --- a/addons/maintenance/data/maintenance_data.xml +++ b/addons/maintenance/data/maintenance_data.xml @@ -69,30 +69,8 @@ <field name="parent_id" eval="ref('mt_mat_assign')"/> <field name="relation_field">category_id</field> </record> - - <record id="equipment_computer" model="maintenance.equipment.category"> - <field name="name">Computers</field> - <field name="alias_id" ref="mail_alias_equipment"/> - </record> - <record id="equipment_software" model="maintenance.equipment.category"> - <field name="name">Software</field> - <field name="alias_id" ref="mail_alias_equipment"/> - </record> - <record id="equipment_printer" model="maintenance.equipment.category"> - <field name="name">Printers</field> - <field name="alias_id" ref="mail_alias_equipment"/> - </record> - <record id="equipment_team_maintenance" model="maintenance.team"> <field name="name">Internal Maintenance</field> </record> - - <record id="equipment_team_metrology" model="maintenance.team"> - <field name="name">Metrology</field> - </record> - - <record id="equipment_team_subcontractor" model="maintenance.team"> - <field name="name">Subcontractor</field> - </record> </data> </odoo> diff --git a/addons/maintenance/data/maintenance_demo.xml b/addons/maintenance/data/maintenance_demo.xml index 1abdeb31c83..a5bc8bb02e9 100644 --- a/addons/maintenance/data/maintenance_demo.xml +++ b/addons/maintenance/data/maintenance_demo.xml @@ -2,7 +2,28 @@ <odoo> <data noupdate="1"> + + <!-- Maintenance teams --> + <record id="equipment_team_metrology" model="maintenance.team"> + <field name="name">Metrology</field> + </record> + <record id="equipment_team_subcontractor" model="maintenance.team"> + <field name="name">Subcontractor</field> + </record> + <!-- Equipment categories --> + <record id="equipment_computer" model="maintenance.equipment.category"> + <field name="name">Computers</field> + <field name="alias_id" ref="mail_alias_equipment"/> + </record> + <record id="equipment_software" model="maintenance.equipment.category"> + <field name="name">Software</field> + <field name="alias_id" ref="mail_alias_equipment"/> + </record> + <record id="equipment_printer" model="maintenance.equipment.category"> + <field name="name">Printers</field> + <field name="alias_id" ref="mail_alias_equipment"/> + </record> <record id="equipment_monitor" model="maintenance.equipment.category"> <field name="name">Monitors</field> <field name="technician_user_id" ref="base.user_root"/> diff --git a/addons/maintenance/i18n/en_US.po b/addons/maintenance/i18n/en_US.po deleted file mode 100644 index e0504151f60..00000000000 --- a/addons/maintenance/i18n/en_US.po +++ /dev/null @@ -1,934 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * hr_equipment -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2015-09-29 10:27+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_kanban -msgid "<b>Category:</b>" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "<b>Model Number:</b>" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_kanban -msgid "<b>Request to:</b>" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "<b>Serial Number:</b>" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_defaults -msgid "" -"A Python dictionary that will be evaluated to provide default values when " -"creating new records for this alias." -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment,name:hr_equipment.hr_equipment_computer3 -#: model:hr.equipment,name:hr_equipment.hr_equipment_computer5 -msgid "Acer Laptop" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_active -msgid "Active" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_id -msgid "Alias" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_contact -msgid "Alias Contact Security" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_alias_domain -msgid "Alias Domain" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_name -msgid "Alias Name" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_domain -msgid "Alias domain" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_model_id -msgid "Aliased Model" -msgstr "" - -#. module: hr_equipment -#: sql_constraint:hr.equipment:0 -msgid "Another asset already exists with this serial number!" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_config_settings_view_form -msgid "Apply" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_equipment_id -msgid "Asset" -msgstr "" - -#. module: hr_equipment -#: model:ir.model,name:hr_equipment.model_hr_equipment_category -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_id_5764 -msgid "Asset Category" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_name -msgid "Asset Name" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_tree -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_tree -msgid "Assign To Employee" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Assigned" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_assign_date -msgid "Assigned Date" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_user_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Assigned to" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_department_id -msgid "Assigned to Department" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Assigned to Departments" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_employee_id -msgid "Assigned to Employee" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Assigned to Employees" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Assigned to Employees and Departments" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Available" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,kanban_state:0 -msgid "Blocked" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_config_settings_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Cancel" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_category_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Category" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_name -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_search -msgid "Category Name" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_action_from_category_form -msgid "Click to add a new Engine." -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_category_action -msgid "Click to add a new equipment category." -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_action -msgid "Click to add a new equipment." -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_request_action -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_request_action_link -msgid "Click to add a new maintenance request." -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_stage_action -msgid "Click to add a stage in the maintenance request." -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_close_date -msgid "Close Date" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_color -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_color -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_color -msgid "Color Index" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_note -msgid "Comments" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.category,name:hr_equipment.hr_equipment_computer -msgid "Computers" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.menu,name:hr_equipment.menu_equipment_configuration -msgid "Configuration" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,name:hr_equipment.action_hr_equipment_configuration -msgid "Configure Equipments" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_config_settings_view_form -msgid "Configure Equipments Settings" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_cost -msgid "Cost" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_create_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_create_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_create_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_create_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_create_uid -msgid "Created by" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_create_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_create_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_create_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_create_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_create_date -msgid "Created on" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_maintenance_open_count -msgid "Current Maintenance" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_defaults -msgid "Default Values" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_kanban -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "Delete" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment,equipment_assign_to:0 -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_department_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_tree -msgid "Department" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_description -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Description" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_display_name -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_display_name -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_display_name -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_display_name -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_display_name -msgid "Display Name" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_kanban -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "Edit..." -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_form -msgid "Email Alias" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_id -msgid "" -"Email alias for this equipment category. New emails will automatically " -"create new maintenance request for this equipment category." -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment,equipment_assign_to:0 -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_employee_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_tree -msgid "Employee" -msgstr "" - -#. module: hr_equipment -#: model:ir.model,name:hr_equipment.model_hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_equipment_count -msgid "Equipment" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,description:hr_equipment.mt_mat_assign -#: model:mail.message.subtype,name:hr_equipment.mt_cat_mat_assign -#: model:mail.message.subtype,name:hr_equipment.mt_mat_assign -msgid "Equipment Assigned" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_category_action -#: model:ir.ui.menu,name:hr_equipment.menu_equipment_cat -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_form -msgid "Equipment Categories" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Equipment Name" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_action -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_action_from_category_form -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_equipment_ids -#: model:ir.ui.menu,name:hr_equipment.menu_equipment_title -#: model:ir.ui.menu,name:hr_equipment.menu_hr_equipment_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Equipments" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_fold -msgid "Folded in Maintenance Pipe" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_fold -msgid "Folded in Recruitment Pipe" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_request_action -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_request_action_link -msgid "" -"Follow the process of the request and communicate with the collaborator." -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Group by..." -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment,name:hr_equipment.hr_equipment_printer1 -msgid "HP Inkjet printer" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment,name:hr_equipment.hr_equipment_computer11 -#: model:hr.equipment,name:hr_equipment.hr_equipment_computer9 -msgid "HP Laptop" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,priority:0 -msgid "High" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_id -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_id -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_id -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_id -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_id -msgid "ID" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_parent_thread_id -msgid "" -"ID of the parent record holding the alias (example: project holding the task " -"creation alias)" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,kanban_state:0 -#: model:hr.equipment.stage,name:hr_equipment.stage_1 -msgid "In Progress" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Internal Note ......." -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_kanban_state -msgid "Kanban State" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment___last_update -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category___last_update -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings___last_update -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request___last_update -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage___last_update -msgid "Last Modified on" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_write_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_write_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_write_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_write_uid -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_write_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_write_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_write_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_write_date -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_write_date -msgid "Last Updated on" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_location -msgid "Location" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,priority:0 -msgid "Low" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_maintenance_count -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_maintenance_count -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_form -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Maintenance" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Maintenance Request" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,name:hr_equipment.mt_cat_req_created -msgid "Maintenance Request Created" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_stage_view_tree -msgid "Maintenance Request Stage" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_stage_view_search -msgid "Maintenance Request Stages" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,description:hr_equipment.mt_req_created -msgid "Maintenance Request created" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_request_action -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_request_action_from_equipment -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_request_action_link -#: model:ir.model,name:hr_equipment.model_hr_equipment_request -#: model:ir.ui.menu,name:hr_equipment.menu_m_request_form -msgid "Maintenance Requests" -msgstr "" - -#. module: hr_equipment -#: model:ir.model,name:hr_equipment.model_hr_equipment_stage -msgid "Maintenance Stage" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Maintenance Subject" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_maintenance_ids -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_maintenance_ids -msgid "Maintenance ids" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_model -msgid "Model" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.category,name:hr_equipment.hr_equipment_monitor -msgid "Monitors" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "My Equipments" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -msgid "My Requests" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_name -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_tree -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Name" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.stage,name:hr_equipment.stage_0 -msgid "New Request" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,priority:0 -msgid "Normal" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_note -msgid "Note" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_force_thread_id -msgid "" -"Optional ID of a thread (record) to which all incoming messages will be " -"attached, even if they did not reply to it. If set, this will disable the " -"creation of new records completely." -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_user_id -msgid "Owner" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_parent_model_id -msgid "Parent Model" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_parent_thread_id -msgid "Parent Record Thread ID" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_parent_model_id -msgid "" -"Parent model holding the alias. The model holding the alias reference is not " -"necessarily the model given by alias_model_id (example: project " -"(parent_model) and task (model))" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.category,name:hr_equipment.hr_equipment_phone -msgid "Phones" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_contact -msgid "" -"Policy to post a message on the document using the mailgateway.\n" -"- everyone: everyone can post\n" -"- partners: only authenticated partners\n" -"- followers: only followers of the related document or members of following " -"channels\n" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.category,name:hr_equipment.hr_equipment_printer -msgid "Printers" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_priority -msgid "Priority" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_form -msgid "Product Information" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,kanban_state:0 -msgid "Ready for next stage" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_alias_force_thread_id -msgid "Record Thread ID" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Repair Responsible" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.stage,name:hr_equipment.stage_3 -msgid "Repaired" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "Request" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,name:hr_equipment.mt_req_created -msgid "Request Created" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_request_date -msgid "Request Date" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_done -msgid "Request Done" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_config_settings_view_form -msgid "Requests Alias" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Reset Request" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_category_user_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_search -msgid "Responsible" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment,name:hr_equipment.hr_equipment_monitor1 -#: model:hr.equipment,name:hr_equipment.hr_equipment_monitor4 -#: model:hr.equipment,name:hr_equipment.hr_equipment_monitor6 -msgid "Samsung Monitor 15\"" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.stage,name:hr_equipment.stage_4 -msgid "Scrap" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_scrap_date -msgid "Scrap Date" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_category_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Search" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Sender" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_stage_sequence -msgid "Sequence" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_serial_no -msgid "Serial Number" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_request_active -msgid "" -"Set active to false to hide the maintenance request without deleting it." -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.menu,name:hr_equipment.menu_equipment_global_settings -msgid "Settings" -msgstr "" - -#. module: hr_equipment -#: model:hr.equipment.category,name:hr_equipment.hr_equipment_software -msgid "Software" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_stage_id -msgid "Stage" -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,name:hr_equipment.hr_equipment_stage_action -#: model:ir.ui.menu,name:hr_equipment.menu_equipment_stage_configuration -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -msgid "Stages" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,name:hr_equipment.mt_req_status -msgid "Status Changed" -msgstr "" - -#. module: hr_equipment -#: model:mail.message.subtype,description:hr_equipment.mt_req_status -msgid "Status changed" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_form -msgid "Subject" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_request_name -msgid "Subjects" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_user_id -msgid "Technician" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_model_id -msgid "" -"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " -"email that does not reply to an existing record will cause the creation of a " -"new record of this model (e.g. a Project Task)" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_name -msgid "" -"The name of the email alias, e.g. 'jobs' if you want to catch emails for " -"<jobs@example.odoo.com>" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,help:hr_equipment.field_hr_equipment_category_alias_user_id -msgid "" -"The owner of records created upon receiving emails on this alias. If this " -"field is not set the system will attempt to find the right owner based on " -"the sender (From) address, or will use the Administrator account if no " -"system user is found for that address." -msgstr "" - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_action -#, fuzzy -msgid "" -"This application helps you to track equipments used by employees.\n" -" Create some laptop, printer or phone and link each equipment " -"to\n" -" an employee or departement. You will manage allocations, " -"issues\n" -" and maintenance of equipment." -msgstr "" -"This application helps you to track equipments used by employees.\n" -" Create some laptop, printer or phone and link each equipment " -"to an employee or departement.\n" -" You will manage allocations, issues and maintenance of " -"equipment." - -#. module: hr_equipment -#: model:ir.actions.act_window,help:hr_equipment.hr_equipment_action_from_category_form -#, fuzzy -msgid "" -"This application helps you to track equipments used by employees.\n" -" Create some laptop, printer or phone and link each equipment " -"to an employee or departement.\n" -" You will manage allocations, issues and maintenance of " -"equipment." -msgstr "" -"This application helps you to track equipments used by employees.\n" -" Create some laptop, printer or phone and link each equipment " -"to an employee or departement.\n" -" You will manage allocations, issues and maintenance of " -"equipment." - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_config_settings_view_form -msgid "Track Equipments" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_kanban -msgid "Unassigned" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Under Maintenance" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_kanban -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Unread Messages" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_config_settings_equipment_alias_prefix -msgid "Use the following alias to report internal equipment issue" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_equipment_assign_to -msgid "Used By" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Users" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_partner_id -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_view_search -msgid "Vendor" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_partner_ref -msgid "Vendor Reference" -msgstr "" - -#. module: hr_equipment -#: selection:hr.equipment.request,priority:0 -msgid "Very Low" -msgstr "" - -#. module: hr_equipment -#: model:ir.model.fields,field_description:hr_equipment.field_hr_equipment_warranty -msgid "Warranty" -msgstr "" - -#. module: hr_equipment -#: code:addons/hr_equipment/models/hr_equipment.py:71 -#, python-format -msgid "" -"You cannot delete an equipment category containing equipments or maintenance " -"requests." -msgstr "" - -#. module: hr_equipment -#: model:ir.model,name:hr_equipment.model_hr_equipment_config_settings -msgid "hr.equipment.config.settings" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_tree -msgid "maintenance Request" -msgstr "" - -#. module: hr_equipment -#: model:ir.ui.view,arch_db:hr_equipment.hr_equipment_request_view_search -msgid "maintenance Request Search" -msgstr "" diff --git a/addons/marketing_campaign/i18n/en_US.po b/addons/marketing_campaign/i18n/en_US.po deleted file mode 100644 index e7e4be03cce..00000000000 --- a/addons/marketing_campaign/i18n/en_US.po +++ /dev/null @@ -1,1150 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * marketing_campaign -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-07 14:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: marketing_campaign -#: model:mail.template,body_html:marketing_campaign.email_template_3 -msgid "" -"\n" -"<p>Hello,</p>\n" -"<p>We are delighted to let you know that you have entered the select circle " -"of our Gold Partners!</p>\n" -"<p>Thank you,</p>\n" -msgstr "" - -#. module: marketing_campaign -#: model:mail.template,body_html:marketing_campaign.email_template_2 -msgid "" -"\n" -"<p>Hello,</p>\n" -"<p>We are delighted to welcome you among our Silver Partners as of today!</" -"p>\n" -"<p>Thank you,</p>\n" -msgstr "" - -#. module: marketing_campaign -#: model:mail.template,body_html:marketing_campaign.email_template_1 -msgid "" -"\n" -"<p>Hello,</p>\n" -"<p>You will receive your welcome pack via email shortly.</p>\n" -"<p>Thank you,</p>\n" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_count -msgid "# of Actions" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "" -"<span class=\"o_stat_text\">Campaign</span>\n" -" <span class=\"o_stat_text\">Statistics</span>" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form -msgid "" -"A campaign can have many activities like sending an email, printing\n" -" a letter, assigning to a team, etc. These activities are " -"triggered\n" -" from specific situations; contact form, 10 days after first\n" -" contact, if a lead is not closed yet, etc." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_server_action_id -msgid "Action" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_ids -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_tree -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "Activities" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_activity_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_activity_id -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Activity" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:479 -#, python-format -msgid "After %(interval_nbr)d %(interval_type)s" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "All" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.segment,sync_mode:0 -msgid "All records (no duplicates)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_signal -msgid "" -"An activity with a signal can be called programmatically. Be careful, the " -"workitem is always created when a signal is sent" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "April" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "August" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,trigger:0 -msgid "Automatic" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:478 -#, python-format -msgid "Automatic transition" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_keep_if_condition_not_met -msgid "" -"By activating this option, workitems that aren't executed because the " -"condition is not met are marked as cancelled instead of being deleted." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_campaign_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_campaign_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_campaign_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_campaign_id -#: model:ir.ui.menu,name:marketing_campaign.menu_action_campaign_analysis_all -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Campaign" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity -msgid "Campaign Activity" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.action_campaign_analysis_all -#: model:ir.model,name:marketing_campaign.model_campaign_analysis -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -msgid "Campaign Analysis" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_diagram -msgid "Campaign Editor" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_stat -msgid "Campaign Follow-up" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_marketing_campaign_segment -msgid "Campaign Segment" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition -msgid "Campaign Transition" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem -msgid "Campaign Workitem" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_form -#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_campaigns -#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_tree -msgid "Campaigns" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_tree -msgid "Cancel" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "Cancel Campaign" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Cancel Segment" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -msgid "Cancel Workitem" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,state:0 selection:marketing.campaign,state:0 -#: selection:marketing.campaign.segment,state:0 -#: selection:marketing.campaign.workitem,state:0 -msgid "Cancelled" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_object_id -msgid "Choose the resource on which you want this campaign to be run" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form -msgid "Click to create a marketing campaign." -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Close" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_condition -msgid "Condition" -msgstr "" - -#. module: marketing_campaign -#: model:mail.template,subject:marketing_campaign.email_template_2 -msgid "Congratulations! You are now a Silver Partner!" -msgstr "" - -#. module: marketing_campaign -#: model:mail.template,subject:marketing_campaign.email_template_3 -msgid "Congratulations! You are now one of our Gold Partners!" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:480 -#: selection:marketing.campaign.transition,trigger:0 -#, python-format -msgid "Cosmetic" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_total_cost -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_tree -msgid "Cost" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_country_id -msgid "Country" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_create_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_create_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_create_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_create_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_create_uid -msgid "Created by" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_create_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_create_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_create_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_create_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_create_date -msgid "Created on" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.activity,type:0 -msgid "Custom Action" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_sync_last_date -msgid "" -"Date on which this segment was synchronized last time (automatically or " -"manually)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_date_done -msgid "Date this segment was last closed or cancelled." -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,interval_type:0 -msgid "Day(s)" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "December" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_sync_mode -msgid "" -"Determines an additional criterion to add to the filter when selecting new " -"records to inject in the campaign. \"No duplicates\" prevents selecting " -"records which have already entered the campaign previously.If the campaign " -"has a \"unique field\" set, \"no duplicates\" will also prevent selecting " -"records which have the same value for the unique field as other records that " -"already entered the campaign." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_display_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_display_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_display_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_display_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_display_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_display_name -msgid "Display Name" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_keep_if_condition_not_met -msgid "Don't Delete Workitems" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,state:0 -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -#: selection:marketing.campaign,state:0 -#: selection:marketing.campaign.segment,state:0 -#: selection:marketing.campaign.workitem,state:0 -msgid "Done" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Draft" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:170 -#, python-format -msgid "Duplicating campaigns is not supported." -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.activity,type:0 -msgid "Email" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:752 -#, python-format -msgid "Email Preview" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_email_template_id -msgid "Email Template" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_email_template_preview -msgid "Email Template Preview" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_mail_template -msgid "Email Templates" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_date_done -msgid "End Date" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_error_msg -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -msgid "Error Message" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,state:0 -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -#: selection:marketing.campaign.workitem,state:0 -msgid "Exception" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -msgid "Exceptions" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_date -msgid "Execution Date" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_day -msgid "Execution Day" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_month -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Execution Month" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_year -msgid "Execution Year" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "February" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_ir_filter_id -msgid "Filter" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_ir_filter_id -msgid "" -"Filter to select the matching resource records that belong to this segment. " -"New filters can be created and saved using the advanced search on the list " -"view of the Resource. If no filter is set, all records are selected without " -"filtering. The synchronization mode may also add a criterion to the filter." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_fixed_cost -msgid "Fixed Cost" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_fixed_cost -msgid "" -"Fixed cost for running this campaign. You may also specify variable cost and " -"revenue on each campaign activity. Cost and Revenue statistics are included " -"in Campaign Reporting." -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "Follow-Up" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem -#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem -msgid "Follow-up" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Group By" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,interval_type:0 -msgid "Hour(s)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_transition_trigger -msgid "How is the destination workitem triggered" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_id -msgid "ID" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_workitem_date -msgid "If date is not set, this workitem has to be run manually" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_unique_field_id -msgid "" -"If set, this field will help segments that work in \"no duplicates\" mode to " -"avoid selecting similar records twice. Similar records are records that have " -"the same value for this unique field. For example by choosing the " -"\"email_from\" field for CRM Leads you would prevent sending the same " -"campaign to the same email address again. If not set, the \"no duplicates\" " -"segments will only avoid selecting the same record again if it entered the " -"campaign previously. Only easily comparable fields like textfields, " -"integers, selections or single relationships may be used." -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_form -msgid "Incoming Transitions" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_date_run -msgid "Initial start date of this segment." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_interval_type -msgid "Interval Unit" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_interval_nbr -msgid "Interval Value" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "January" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "July" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "June" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis___last_update -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign___last_update -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity___last_update -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment___last_update -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition___last_update -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem___last_update -msgid "Last Modified on" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_sync_last_date -msgid "Last Synchronization" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_write_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_write_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_write_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_write_uid -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_write_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_write_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_write_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_write_date -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_write_date -msgid "Last Updated on" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_date_run -msgid "Launch Date" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Launch Month" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_root -msgid "Lead Automation" -msgstr "" - -#. module: marketing_campaign -#: model:res.groups,name:marketing_campaign.group_lead_automation_manager -msgid "Manager" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -msgid "Manual Mode" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "March" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "Marketing Campaign" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_tree -msgid "Marketing Campaign Activities" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Marketing Campaign Activity" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Marketing Campaign Segment" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -msgid "Marketing Campaign Statistics" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_tree -#: model:ir.ui.view,arch_db:marketing_campaign.view_report_campaign_analysis_graph -#: model:ir.ui.view,arch_db:marketing_campaign.view_report_campaign_analysis_pivot -msgid "Marketing Reports" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "May" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_mode -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -msgid "Mode" -msgstr "" - -#. module: marketing_campaign -#: constraint:marketing.campaign.segment:0 -msgid "Model of filter must be same as resource model of Campaign " -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,interval_type:0 -msgid "Month(s)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_name -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_name -msgid "Name" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign,state:0 -#: selection:marketing.campaign.segment,state:0 -msgid "New" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Newly Created" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Newly Modified" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_to_ids -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_form -msgid "Next Activities" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_activity_to_id -msgid "Next Activity" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_date_next_sync -msgid "Next Synchronization" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_segment_date_next_sync -msgid "Next time the synchronization job is scheduled to run automatically" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign,mode:0 -msgid "Normal" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "November" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_object_id -msgid "Object" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "October" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form -#, fuzzy -msgid "" -"Odoo's marketing campaign allows you to automate communication\n" -" to your prospects. You can define a segment (set of conditions) " -"on\n" -" your leads and partners to fulfill the campaign." -msgstr "" -"Odoo's marketing campaign allows you to automate communication\n" -" to your prospects. You can define a segment (set of conditions) " -"on\n" -" your leads and partners to fulfill the campaign." - -#. module: marketing_campaign -#: selection:marketing.campaign.segment,sync_mode:0 -msgid "Only records created after last sync" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.segment,sync_mode:0 -msgid "Only records modified after last sync (no duplicates)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_form -msgid "Outgoing Transitions" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_partner_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_partner_id -msgid "Partner" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_partner_field_id -msgid "Partner Field" -msgstr "" - -#. module: marketing_campaign -#: model:ir.filters,name:marketing_campaign.filter0 -msgid "Partners" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_tree -msgid "Preview" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_from_ids -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_activity_form -msgid "Previous Activities" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_activity_from_id -msgid "Previous Activity" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_tree -msgid "Process" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_condition -msgid "" -"Python expression to decide whether the activity can be executed, otherwise " -"it will be deleted or cancelled.The expression may use the following " -"[browsable] variables:\n" -" - activity: the campaign activity\n" -" - workitem: the campaign workitem\n" -" - resource: the resource object this campaign item represents\n" -" - transitions: list of campaign transitions outgoing from this activity\n" -"...- re: Python regular expression module" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_report_id -#: selection:marketing.campaign.activity,type:0 -msgid "Report" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.menu,name:marketing_campaign.report_marketing_campaign -msgid "Reports" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_form -msgid "Reset" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_res_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_object_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_object_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_object_id -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Resource" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_res_id -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Resource ID" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_res_name -msgid "Resource Name" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_revenue -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_revenue -msgid "Revenue" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Run" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: selection:marketing.campaign,state:0 -#: selection:marketing.campaign.segment,state:0 -msgid "Running" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_segment_id -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_segment_id -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Segment" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened -#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_segment_form -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_ids -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segments_count -#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_segment_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_tree -msgid "Segments" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,month:0 -msgid "September" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_variable_cost -msgid "" -"Set a variable cost if you consider that every campaign item that has " -"reached this point has entailed a certain cost. You can get cost statistics " -"in the Reporting section" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_revenue -msgid "" -"Set an expected revenue if you consider that every campaign item that has " -"reached this point has generated a certain revenue. You can get revenue " -"statistics in the Reporting section" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_form -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Set to Draft" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_signal -msgid "Signal" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_start -msgid "Start" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_campaign_analysis_state -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_state -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_state -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_workitem_state -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -msgid "Status" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Sync mode: all records" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Sync mode: only records created after last sync" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_search -msgid "Sync mode: only records updated after last sync" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_segment_sync_mode -msgid "Synchronization mode" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_segment_form -msgid "Synchronize Manually" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_mode -msgid "" -"Test - It creates and process all the activities directly (without waiting " -"for the delay on transitions) but does not send emails or produce reports.\n" -"Test in Realtime - It creates and processes all the activities directly but " -"does not send emails or produce reports.\n" -"With Manual Confirmation - the campaigns runs normally, but the user has to " -"validate all workitem manually.\n" -"Normal - the campaign runs normally and automatically sends all emails and " -"reports (be very careful with this mode, you're live!)" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign,mode:0 -msgid "Test Directly" -msgstr "" - -#. module: marketing_campaign -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_search -msgid "Test Mode" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign,mode:0 -msgid "Test in Realtime" -msgstr "" - -#. module: marketing_campaign -#: constraint:marketing.campaign.transition:0 -msgid "The To/From Activity of transition must be of the same Campaign " -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_server_action_id -msgid "The action to perform when this activity is activated" -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:114 -#, python-format -msgid "The campaign cannot be marked as done before all segments are closed." -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:104 -#, python-format -msgid "" -"The campaign cannot be started. It does not have any starting activity. " -"Modify campaign's activities to mark one as the starting point." -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:92 -#, python-format -msgid "The campaign cannot be started. There are no activities in it." -msgstr "" - -#. module: marketing_campaign -#: code:addons/marketing_campaign/marketing_campaign.py:777 -#, python-format -msgid "The current step for this item has no email or report to preview." -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_email_template_id -msgid "The email to send when this activity is activated" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_partner_field_id -msgid "" -"The generated workitems will be linked to the partner related to the record. " -"If the record is the partner itself leave this field empty. This is useful " -"for reporting purposes, via the Campaign Analysis or Campaign Follow-up " -"views." -msgstr "" - -#. module: marketing_campaign -#: sql_constraint:marketing.campaign.transition:0 -msgid "The interval must be positive or zero" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_report_id -msgid "The report to generate when this activity is activated" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_type -msgid "" -"The type of action to execute when an item enters this activity, such as:\n" -" - Email: send an email using a predefined email template\n" -" - Report: print an existing Report defined on the resource item and save " -"it into a specific directory\n" -" - Custom Action: execute a predefined action, e.g. to modify the fields " -"of the resource record\n" -" " -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,help:marketing_campaign.field_marketing_campaign_activity_start -msgid "This activity is launched when the campaign starts." -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,trigger:0 -msgid "Time" -msgstr "" - -#. module: marketing_campaign -#: selection:campaign.analysis,state:0 -#: model:ir.ui.view,arch_db:marketing_campaign.view_campaign_analysis_search -#: model:ir.ui.view,arch_db:marketing_campaign.view_marketing_campaign_workitem_search -#: selection:marketing.campaign.workitem,state:0 -msgid "To Do" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_transition_trigger -msgid "Trigger" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_type -msgid "Type" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_unique_field_id -msgid "Unique Field" -msgstr "" - -#. module: marketing_campaign -#: model:res.groups,name:marketing_campaign.group_lead_automation_user -msgid "User" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model.fields,field_description:marketing_campaign.field_marketing_campaign_activity_variable_cost -msgid "Variable Cost" -msgstr "" - -#. module: marketing_campaign -#: model:mail.template,subject:marketing_campaign.email_template_1 -msgid "Welcome to the Odoo Partner Channel!" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign,mode:0 -msgid "With Manual Confirmation" -msgstr "" - -#. module: marketing_campaign -#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_followup -msgid "Workitems" -msgstr "" - -#. module: marketing_campaign -#: selection:marketing.campaign.transition,interval_type:0 -msgid "Year(s)" -msgstr "" - -#. module: marketing_campaign -#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml -msgid "ir.actions.report.xml" -msgstr "" diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py index 40a8207648d..cd73918224e 100644 --- a/addons/mass_mailing/controllers/main.py +++ b/addons/mass_mailing/controllers/main.py @@ -3,7 +3,7 @@ import werkzeug -from odoo import http +from odoo import http, _ from odoo.http import request diff --git a/addons/mass_mailing/i18n/mass_mailing.pot b/addons/mass_mailing/i18n/mass_mailing.pot index f09d49fae08..625739ff65a 100644 --- a/addons/mass_mailing/i18n/mass_mailing.pot +++ b/addons/mass_mailing/i18n/mass_mailing.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:12+0000\n" -"PO-Revision-Date: 2016-09-05 14:12+0000\n" +"POT-Creation-Date: 2016-09-29 14:01+0000\n" +"PO-Revision-Date: 2016-09-29 14:01+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,6 +16,16 @@ msgstr "" "Plural-Forms: \n" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "$18" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "$20" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_campaign_kanban msgid "% <br/>\n" " <strong>Clicks</strong>" @@ -34,47 +44,63 @@ msgid "%s (copy)" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social_left +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_tag_line +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_header_social +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_header_text_social msgid "&nbsp;" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps msgid "&nbsp;\n" -" <span class=\"fa fa-10x fa-music\"/>\n" -" &nbsp;" +" <span class=\"fa fa-compass fa-2x text-delta\"/>\n" +" &nbsp;" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps msgid "&nbsp;\n" -" <span class=\"fa fa-10x fa-music\"/>\n" -" &nbsp;" +" <span class=\"fa fa-credit-card fa-2x text-delta\"/>\n" +" &nbsp;" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps msgid "&nbsp;\n" -" <span class=\"fa fa-check fa-3x\"/>\n" -" &nbsp;" +" <span class=\"fa fa-smile-o fa-2x text-delta\"/>\n" +" &nbsp;" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "&nbsp;\n" -" <span class=\"fa fa-truck fa-3x\"/>\n" -" &nbsp;" +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "1958 Royal" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "&nbsp;\n" -" <span class=\"fa fa-usd fa-3x\"/>\n" -" &nbsp;" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "20%" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "21 Jul" +msgstr "" + +#. module: mass_mailing +#: model:mail.template,body_html:mass_mailing.newsletter_template +msgid "<div class=\"snippet_row bg-color\" style=\"padding:0px;width:600px;margin:auto;background: #ffffff repeat top /100%\">\n" +" <table cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse:collapse\" width=\"100%\"><tbody><tr><td style=\"padding:10px 10px 10px 5px\" valign=\"center\" width=\"270\"> <a style=\"text-decoration:none\" href=\"http://www.example.com\"><strong>My Company</strong></a> </td><td style=\"padding:10px 15px 10px 10px;vertical-align:middle\" valign=\"center\" width=\"270\"><table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse:collapse\"><tbody><tr><td align=\"right\"><a href=\"https://www.facebook.com/Odoo\"><span class=\"fa fa-facebook-square fa-2x\" style=\"color:#44B7B7;\"></span></a></td><td align=\"right\" style=\"padding-left:5px\"><a href=\"https://www.facebook.com/Odoo\"><span class=\"fa fa-google-plus-square fa-2x\" style=\"color:#44B7B7;\"></span></a></td><td align=\"right\" style=\"padding-left:5px\"><a href=\"https://www.facebook.com/Odoo\"><span class=\"fa fa-linkedin-square fa-2x\" style=\"color:#44B7B7;\"></span></a></td><td align=\"right\" style=\"padding-left:5px\"><a href=\"https://www.facebook.com/Odoo\"><span class=\"fa fa-twitter-square fa-2x\" style=\"color:#44B7B7;\"></span></a></td></tr></tbody></table></td></tr></tbody></table></div><div style=\"padding:0px;width:600px;margin:auto;background-color:#44B7B7;color:#168484\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%;background-color:inherit;border-collapse:collapse;color:inherit\"><tbody><tr><td class=\"col_mv bg-color\" style=\"text-align:left; padding-left:20px;vertical-align:middle;font-size:14px\"><p style=\"margin:0;font-size:20px;color:#fff\">You get a 20% discount for signing up!</p><p style=\"margin:0\">Discount Code: <strong>45A9E77DGW8455</strong></p></td><td class=\"col_mv bg-color\" style=\"padding:20px;text-align:center;vertical-align:middle\"> <span class=\"fa fa-6x fa-ticket\"></span> </td></tr></tbody></table></div><div class=\"snippet_row bg-color\" style=\"padding:0;width:600px;max-width:600px;margin:0 auto;background: #fff repeat top /100%;color:#168484\"><table style=\"width:100%;text-align:justify;margin:0 auto;inherit;border-collapse:collapse;color:inherit\"><tbody><tr><td style=\"padding:10px 30px;font-size:14px;line-height:20px\"><p style=\"margin:0\">Dear ${object.name}</p><p style=\"margin:0\">Great stories have personality. Consider telling a great story that provides personality. Writing a story with personality for potential clients will assist with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience.<br></p><p style=\"margin:0\">Great stories are for everyone even when only written for just one person. If you try to write with a wide general audience in mind, your story will ring false and be bland. No one will be interested. Write for one person. If it’s genuine for the one, it’s genuine for the rest.</p><p style=\"margin:0\">Kind Regards,</p><p style=\"margin:0\">Michael Fletcher</p></td></tr></tbody></table></div><div style=\"padding:0;width:600px;max-width:600px;margin:0 auto\"><table style=\"width:100%;text-align:justify;margin:0 auto;background-color:inherit;border-collapse:collapse\"><tbody><tr><td class=\"col_mv bg-color\" style=\"padding:10px 0;background-color:#168484;color:#fff\"><table style=\"border-collapse:collapse;background-color:inherit\"><tbody><tr><td rowspan=\"2\" style=\"padding-left:10px\"> <span class=\"fa fa-check fa-3x\"></span> </td><td style=\"padding-left:10px;color:#fff;font-size:14px\"><p style=\"font-weight:bold;font-size:18px;margin:0 0 3px 0\">Step 1:</p><p style=\"margin:0\">Place Order</p></td></tr></tbody></table></td><td class=\"col_mv bg-color\" style=\"padding:10px 0;background-color:#FFFFFF;color:#808080\"><table style=\"border-collapse:collapse;background-color:inherit\"><tbody><tr><td rowspan=\"2\" style=\"padding-left:10px\"> <span class=\"fa fa-truck fa-3x\"></span> </td><td style=\"padding-left:10px;color:#808080;font-size:14px\"><p style=\"font-weight:bold;font-size:18px;margin:0 0 3px 0\">Step 2:</p><p style=\"margin:0\">Shipping</p></td></tr></tbody></table></td><td class=\"col_mv bg-color\" style=\"padding:10px 0;background-color:#FFFFFF;color:#808080\"><table style=\"border-collapse:collapse;background-color:inherit\"><tbody><tr><td rowspan=\"2\" style=\"padding-left:10px\"> <span class=\"fa fa-dollar fa-3x\"></span> </td><td style=\"padding-left:10px;color:#808080;font-size:14px\"><p style=\"font-weight:bold;font-size:18px;margin:0 0 3px 0\">Step 3:</p><p style=\"margin:0\">Payment</p></td></tr></tbody></table></td></tr></tbody></table></div><div class=\"snippet_row bg-color\" style=\"padding:0px;width:600px;margin:auto;background: #414141 repeat top /100%;color:#44B7B7\"><div style=\"padding:10px\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0 auto;width:100%;border-collapse:collapse;color:inherit;color:inherit\"><tbody><tr><td style=\"text-align:center\"> <a style=\"text-decoration: none;\" href=\"https://www.facebook.com/Odoo\"><span class=\"fa fa-facebook-square fa-2x\"></span></a><a style=\"text-decoration: none;\" href=\"https://plus.google.com/+Odooapps\"><span class=\"fa fa-google-plus-square fa-2x\"></span></a><a style=\"text-decoration: none;\" href=\"https://www.linkedin.com/company/odoo\"><span class=\"fa fa-linkedin-square fa-2x\"></span></a><a style=\"text-decoration: none;\" href=\"https://twitter.com/Odoo\"><span class=\"fa fa-twitter-square fa-2x\"></span></a> </td></tr><tr><td style=\"font-size:12px;text-align:center;padding-top:10px;padding-bottom:5px\"> <a href=\"/unsubscribe_from_list\" style=\"color:#44B7B7\">Unsubscribe</a>|<a href=\"/page/contactus\" style=\"color:#44B7B7\">Contact</a> </td></tr></tbody></table></div>\n" +" </div>" msgstr "" #. module: mass_mailing #: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_1 +#: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_2 msgid "<font>7</font>\n" " <strong>Business Hacks</strong>\n" " <span> to<br>boost your marketing</span>" @@ -82,44 +108,88 @@ msgstr "" #. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "<span class=\"fa-stack\">\n" -" <i class=\"fa fa-align-justify fa-stack-1x\" style=\" margin-top: 0.7em; height: 0.9em; display: inline-block; overflow: hidden;\"/>\n" -" <i class=\"fa fa-arrow-down fa-stack-1x\" style=\"display: inline-block; font-size: 0.6em; margin-top: -0.15em;\"/>\n" -" </span> Footers" +msgid "<i class=\"fa fa-angle-double-down\"/> Footers" msgstr "" #. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "<span class=\"fa-stack\">\n" -" <i class=\"fa fa-align-justify fa-stack-1x\" style=\"margin-top: -0.15em; height: 0.9em; display: inline-block; overflow: hidden;\"/>\n" -" <i class=\"fa fa-arrow-up fa-stack-1x\" style=\"margin-top: 0.25em; display: inline-block; font-size: 0.6em;\"/>\n" -" </span> Headers" +msgid "<i class=\"fa fa-angle-double-up\"/> Headers" msgstr "" #. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "<span class=\"fa-stack\">\n" -" <i class=\"fa fa-align-left fa-stack-1x\" style=\"display: inline-block; height: 0.93em; margin-top: 0.3em; overflow: hidden;\"/>\n" -" </span> Extra" +msgid "<i class=\"fa fa-clone\"/> Body" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.snippet_options +msgid "<i class=\"fa fa-eyedropper\"/>Background Color" msgstr "" #. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "<span class=\"fa-stack\">\n" -" <i class=\"fa fa-align-left fa-stack-1x\"/>\n" -" </span> Body" +msgid "<i class=\"fa fa-plus\"/> Marketing Content" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -msgid "<span id=\"choose_template\" class=\"o_not_editable o_css_editor\">\n" -" <span class=\"btn btn-primary\">Theme</span>\n" -" <span class=\"btn btn-primary hidden\">Cancel selection</span>\n" -" </span>" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "<small>\n" +" <strong>Michael Fletcher</strong><br/>\n" +" <small>Community Manager</small>\n" +" </small>" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "<small>CODE</small>: <strong class=\"o_code h3\">45A9E77DGW8455</strong>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "<small>Step 1:</small>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "<small>Step 2:</small>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "<small>Step 3:</small>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "<small>user / month (billed annually)</small>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social_left +msgid "<span class=\"fa fa-copyright\"/> 2016 All Rights Reserved" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "<strong>24/7 Support</strong>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "<strong>Advanced</strong> features" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "<strong>Fully customizable</strong>" +msgstr "" + +#. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "<strong>My Company</strong>" msgstr "" @@ -129,6 +199,26 @@ msgid "<strong>Opened</strong>" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "<strong>Total</strong> management" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "A delicious soup made of one or more seasonal vegetables, without added fat, starches and lactose." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_three_cols +msgid "A short description" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_text_image +msgid "A unique value" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_contact_ab_pc msgid "A/B Testing percentage" msgstr "" @@ -139,6 +229,12 @@ msgid "AB Testing" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "ALL DAY" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_active #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_list_active msgid "Active" @@ -160,11 +256,16 @@ msgid "Apply" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_tag_line msgid "Apps That Help You Grow Your Business" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_sub +msgid "Apps That Help You Grow Your Business!" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_list_search #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_search msgid "Archived" @@ -191,8 +292,18 @@ msgid "Attendee" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.mass_mail_theme_list -msgid "Basic Theme" +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "BBQ Mix" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "Basic features" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "Basic management" msgstr "" #. module: mass_mailing @@ -228,7 +339,12 @@ msgid "Bounced ratio" msgstr "" #. module: mass_mailing -#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_id_3673 +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Call for Speakers" +msgstr "" + +#. module: mass_mailing +#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_id_3681 #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form msgid "Campaign" msgstr "" @@ -266,18 +382,36 @@ msgid "Cancel" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Captain’s Salad" +msgstr "" + +#. module: mass_mailing +#. openerp-web +#: code:addons/mass_mailing/static/src/xml/mass_mailing.xml:5 +#, python-format +msgid "Change Style" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Check the top electric guitar brands and their models!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_sub msgid "Check this out!" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -msgid "Choose a Template" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Choose" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.snippet_options -msgid "Choose a background image" +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Classic D8 Skate" msgstr "" #. module: mass_mailing @@ -328,8 +462,13 @@ msgid "Color Index" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Come check out my stuff!" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_three_cols +msgid "Column Title" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_two_cols +msgid "Column title" msgstr "" #. module: mass_mailing @@ -350,7 +489,9 @@ msgid "Configure Mass Mailing" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social_left +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Contact" msgstr "" @@ -360,11 +501,6 @@ msgid "Contact List" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Contact Us" -msgstr "" - -#. module: mass_mailing #: model:ir.ui.menu,name:mass_mailing.menu_email_mass_mailing_contacts msgid "Contacts" msgstr "" @@ -420,6 +556,22 @@ msgid "Creation Month" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +msgid "Cyber-threats continue to increase.<br/>\n" +" The discussion will examine how to develop new norms and integrate them into EU" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +msgid "Cybersecurity" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "DEFAULT" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,help:mass_mailing.field_mail_mail_statistics_exception msgid "Date of technical error leading to the email not being sent" msgstr "" @@ -450,22 +602,11 @@ msgid "Date when this email has bounced." msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Dear ${object.name}" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Dear Bob," -msgstr "" - -#. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Dear Bob,<br/>\n" -" We would like you to know that your order has shipped! To track your order or make any changes please click the \"my order\" button below." -msgstr "" - -#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_email_template_kanban #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_campaign_kanban #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_kanban @@ -481,11 +622,31 @@ msgid "Delivered" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "Demo Signature" +msgstr "" + +#. module: mass_mailing #: model:mail.mass_mailing.stage,name:mass_mailing.campaign_stage_2 msgid "Design" msgstr "" #. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Discount Code: <strong>45A9E77DGW8455</strong>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Discover" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Discover the new version of our software, with a great overview on all the new features." +msgstr "" + +#. module: mass_mailing #: model:ir.model,name:mass_mailing.model_mail_channel msgid "Discussion channel" msgstr "" @@ -579,6 +740,17 @@ msgid "Employee" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Enjoy!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "Enjoy," +msgstr "" + +#. module: mass_mailing #: model:ir.model,name:mass_mailing.model_maintenance_equipment msgid "Equipment" msgstr "" @@ -610,8 +782,9 @@ msgid "Extended Filters..." msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Facebook" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "FROM YOUR NEXT ORDER!" msgstr "" #. module: mass_mailing @@ -621,6 +794,12 @@ msgid "Failed" msgstr "" #. module: mass_mailing +#: model:mail.mass_mailing,name:mass_mailing.mass_mail_1 +#: model:utm.source,name:mass_mailing.mass_mail_1_utm_source +msgid "First Newsletter" +msgstr "" + +#. module: mass_mailing #: selection:mail.mass_mailing,reply_to_mode:0 msgid "Followers of leads/applicants" msgstr "" @@ -642,13 +821,23 @@ msgid "Gamification challenge" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image_text +msgid "Get your inside sales (CRM) fully integrated with online sales (eCommerce), in-store sales (Point of Sale) and marketplaces like eBay and Amazon." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Gibson Les Paul Junior" +msgstr "" + +#. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Great stories are for everyone even when only written for just one person. If you try to write with a wide general audience in mind, your story will ring false and be bland. No one will be interested. Write for one person. If it’s genuine for the one, it’s genuine for the rest." msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Great stories have personality. Consider telling a great story that provides personality. Writing a story with personality for potential clients will assists with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience.<br/>" +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Great stories have personality. Consider telling a great story that provides personality. Writing a story with personality for potential clients will assist with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience.<br>" msgstr "" #. module: mass_mailing @@ -666,8 +855,13 @@ msgid "Group By..." msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -msgid "Here you can design your own template from scratch by selecting your favorite theme." +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Heat up the popcorn and get ready for an immersive experience." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Hi there!" msgstr "" #. module: mass_mailing @@ -718,6 +912,7 @@ msgstr "" #. module: mass_mailing #: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_1 +#: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_2 msgid "Join our Marketing newsletter and get <strong>this white paper instantly</strong>" msgstr "" @@ -727,11 +922,16 @@ msgid "Keep Archives" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Kind Regards," msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "LOGIN" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mail_statistics___last_update #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing___last_update #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign___last_update @@ -902,6 +1102,11 @@ msgid "Mailings" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Mains" +msgstr "" + +#. module: mass_mailing #: model:ir.model,name:mass_mailing.model_maintenance_request msgid "Maintenance Requests" msgstr "" @@ -1042,21 +1247,38 @@ msgid "Message-ID" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Michael Fletcher" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Mini Hamburgers" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "More" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template #: model:ir.ui.view,arch_db:mass_mailing.view_mass_mailing_configuration msgid "More Info" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_tag_line msgid "My Account" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_header_text_social +msgid "My Company" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_contact_name #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_stage_name #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_tag_name @@ -1064,13 +1286,35 @@ msgid "Name" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "New 45Hc-270A laptop" +msgstr "" + +#. module: mass_mailing +#: model:mail.mass_mailing.campaign,name:mass_mailing.mass_mail_campaign_1 +#: model:mail.template,subject:mass_mailing.newsletter_template +#: model:utm.campaign,name:mass_mailing.mass_mail_campaign_1_utm_campaign +msgid "Newsletter" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_next_departure msgid "Next Departure" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.snippet_options -msgid "No background image" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "No customization" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "No support" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "Normally mirrorless cameras have always sat slightly above entry-level in terms of price.." msgstr "" #. module: mass_mailing @@ -1089,11 +1333,33 @@ msgid "Number of clicks" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "OFF" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "OFF YOUR NEXT ORDER!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Odoo Experience is the place to be to showcase your expertize." +msgstr "" + +#. module: mass_mailing #: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_1 +#: model:mail.mass_mailing.list,popup_content:mass_mailing.mass_mail_list_2 msgid "Odoo Presents" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image_text +msgid "Omnichannel sales" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mail_statistics_search msgid "Open Date" msgstr "" @@ -1128,6 +1394,12 @@ msgid "Options" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_steps +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Order" +msgstr "" + +#. module: mass_mailing #: selection:mail.mail.statistics,state:0 msgid "Outgoing" msgstr "" @@ -1138,16 +1410,31 @@ msgid "Outgoing Mails" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_comparison_table +msgid "PRO" +msgstr "" + +#. module: mass_mailing #: model:ir.model,name:mass_mailing.model_res_partner msgid "Partner" msgstr "" #. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Payment" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_contact_ab_pc msgid "Percentage of the contacts that will be mailed. Recipients will be taken randomly." msgstr "" #. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Place Order" +msgstr "" + +#. module: mass_mailing #: code:addons/mass_mailing/models/mass_mailing.py:557 #, python-format msgid "Please select recipients." @@ -1159,11 +1446,37 @@ msgid "Preferred Reply-To Address" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Premium Pass" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.email_template_form_minimal msgid "Preview" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Puccini Jar" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Read More" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image_text +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_text_image +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_three_cols +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_two_cols +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "Read More..." +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mail_statistics_search #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_campaign_form #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form @@ -1177,6 +1490,11 @@ msgid "Received Ratio" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Recipe of the day" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mail_statistics_recipient msgid "Recipient" msgstr "" @@ -1195,6 +1513,22 @@ msgid "Recipients Model" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +msgid "Redeem Discount!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Register Now!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "Registration" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_campaign_form msgid "Related Mailing(s)" msgstr "" @@ -1287,14 +1621,14 @@ msgid "Scheduled date" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -#: model:ir.ui.view,arch_db:mass_mailing.mass_mail_theme_list -msgid "Select" +#: model:mail.mass_mailing,name:mass_mailing.mass_mail_2 +#: model:utm.source,name:mass_mailing.mass_mail_2_utm_source +msgid "Second Newsletter" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -msgid "Select a theme" +#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +msgid "Select a template" msgstr "" #. module: mass_mailing @@ -1395,6 +1729,16 @@ msgid "Settings" msgstr "" #. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Shipping" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "Sony BDVE210" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_source_id msgid "Source" msgstr "" @@ -1416,6 +1760,11 @@ msgid "Stage" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Starters" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mail_statistics_state #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mail_statistics_search #: model:ir.ui.view,arch_db:mass_mailing.view_mail_statistics_report_search @@ -1446,18 +1795,18 @@ msgid "Status" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Step 1" +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Step 1:" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Step 2" +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Step 2:" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Step 3" +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "Step 3:" msgstr "" #. module: mass_mailing @@ -1467,13 +1816,13 @@ msgid "Subject" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Support" +#: sql_constraint:mail.mass_mailing.tag:0 +msgid "Tag name already exists !" msgstr "" #. module: mass_mailing -#: sql_constraint:mail.mass_mailing.tag:0 -msgid "Tag name already exists !" +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Tagliatelle Boscaiola" msgstr "" #. module: mass_mailing @@ -1505,11 +1854,53 @@ msgid "Tested" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "Thank you for joining us!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_paragraph +msgid "That way, Odoo evolves much faster than any other solution." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "The Rise Of The Drone" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_contact_opt_out msgid "The contact has chosen not to receive mails anymore from this list" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "The new laptops look nearly identical to the original models, but closer inspection reveals a refined design." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "The next edition of Odoo Experience looks very promising. More than 150 talks are scheduled during those 3 days!\n" +" Find below some stand-out talks for the Business tracks." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_paragraph +msgid "The open source model of Odoo has allowed us to leverage thousands of developers and\n" +" business experts to build hundreds of apps in just a few years." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_text_image +msgid "The open source model of Odoo has allowed us to leverage thousands of developers and business experts to build hundreds of apps in just a few years." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "They sit at terminals at Holloman Air Force Base, watching grainy images from a drone video feed." +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_campaign_medium_id #: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_medium_id msgid "This is the delivery method, e.g. Postcard, Email, or Banner Ad" @@ -1532,16 +1923,31 @@ msgstr "" #. module: mass_mailing #: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_campaign_campaign_id -#: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_campaign_id_3673 +#: model:ir.model.fields,help:mass_mailing.field_mail_mass_mailing_campaign_id_3681 msgid "This name helps you tracking your different campaign efforts, e.g. Fall_Drive, Christmas_Special" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "This pass gives you access to the catering and evening activities!" +msgstr "" + +#. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form msgid "This will send the email to all recipients. Do you still want to proceed ?" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +msgid "To stir up your curiosity, have a look at all the great talks scheduled and highlighted in our agenda!" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +msgid "Tomato Soup" +msgstr "" + +#. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_total #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_total msgid "Total" @@ -1558,12 +1964,14 @@ msgid "Tracking" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Twitter" +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "Two-lens phone cameras" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_social_left +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 msgid "Unsubscribe" msgstr "" @@ -1573,18 +1981,62 @@ msgid "Unsubscription Date" msgstr "" #. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_paragraph +msgid "Usability improvements made on Odoo will automatically apply to all\n" +" of our fully integrated apps." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "Use This Promo Code BEFORE 1st of August" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "Use now" +msgstr "" + +#. module: mass_mailing #: model:res.groups,name:mass_mailing.group_mass_mailing_user msgid "User" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in." +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1 +msgid "We are continuing to grow and we miss seeing you be a part of it! We've increased store hours and have lot's of new brands available. To welcome you back please accept this 20% discount on you next purchase by clicking the button." msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "We would like you to know that your order has shipped! To track your order or make any changes please click the \"my order\" button below." +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +msgid "We are continuing to grow and we miss seeing you be a part of it! We've increased store hours and have lot's of new brands available.<br/>To welcome you back please accept this 20% discount on you next purchase by clicking the button." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "We want to take this opportunity to welcome you to our ever-growing community!<br/>" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_paragraph +msgid "With strong technical foundations, Odoo's framework is unique.\n" +" It provides top notch usability that scales across all apps." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image +msgid "With strong technical foundations, Odoo's framework is unique. It provides <strong>top notch usability that scales across all apps</strong>." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_two_cols +msgid "Write one paragraph describing your product,\n" +" services or a specific feature. To be successful\n" +" your content needs to be useful to your readers." +msgstr "" + +#. module: mass_mailing +#: model:mail.mass_mailing,body_html:mass_mailing.mass_mail_1 +msgid "You get a 20% discount for signing up!" msgstr "" #. module: mass_mailing @@ -1594,18 +2046,46 @@ msgid "You have been unsubscribed successfully" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_banner +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "Your Banner Image" +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_header_logo +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_header_social +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_default_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template msgid "Your Logo" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Your Order" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_event +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_image_text +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_text_image +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_three_cols +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_two_cols +#: model:ir.ui.view,arch_db:mass_mailing.theme_airmail_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_newsletter_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_resto_template +#: model:ir.ui.view,arch_db:mass_mailing.theme_tech_template +msgid "Your Picture" msgstr "" #. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "Your order has shipped!" +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_title_text +msgid "Your platform is ready for work. It will help you reduce the costs of digital signage, attract new customers and increase sales." +msgstr "" + +#. module: mass_mailing +#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount2 +msgid "and save $20 on your next order!" msgstr "" #. module: mass_mailing @@ -1643,18 +2123,3 @@ msgstr "" msgid "mass.mailing.config.settings" msgstr "" -#. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "social icon" -msgstr "" - -#. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.FieldTextHtmlInline -msgid "template" -msgstr "" - -#. module: mass_mailing -#: model:ir.ui.view,arch_db:mass_mailing.email_designer_snippets -msgid "© 2014 All Rights Reserved" -msgstr "" - diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_banner.jpg Binary files differdeleted file mode 100755 index 59e90bc0046..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_banner.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_event.jpg Binary files differdeleted file mode 100755 index 2af23b4f136..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_event.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image.jpg Binary files differdeleted file mode 100755 index f3003107735..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image_text.jpg Binary files differdeleted file mode 100755 index 85c6795bc0a..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_image_text.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_text_image.jpg Binary files differdeleted file mode 100755 index 46ac685df6c..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_text_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_1.jpg Binary files differdeleted file mode 100755 index ba47973b427..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_2.jpg Binary files differdeleted file mode 100755 index c1e48ec82ae..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_3.jpg Binary files differdeleted file mode 100755 index adf7686eaa9..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_3.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_1.jpg Binary files differdeleted file mode 100755 index 2b76274d3df..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_2.jpg Binary files differdeleted file mode 100755 index c3c644ceacc..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_logo.png Binary files differdeleted file mode 100755 index 1396468359d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_airmail/s_default_image_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_large.png Binary files differdeleted file mode 100755 index 0546e634929..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_large.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_logo.png b/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_logo.png Binary files differdeleted file mode 100755 index 7101775ff34..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_small.png Binary files differdeleted file mode 100755 index 221540bf7f4..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/airmail_thumb_small.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_large.png Binary files differindex d93ecd63550..d93ecd63550 100755..100644 --- a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_large.png +++ b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_large.png diff --git a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_logo.png b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_logo.png Binary files differindex 157ab85588c..157ab85588c 100755..100644 --- a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_logo.png +++ b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_logo.png diff --git a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_small.png Binary files differindex 5c85179781b..5c85179781b 100755..100644 --- a/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_small.png +++ b/addons/mass_mailing/static/src/img/theme_imgs/default_thumb_small.png diff --git a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_large.png Binary files differdeleted file mode 100755 index 0b2c469aa9f..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_large.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_logo.png b/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_logo.png Binary files differdeleted file mode 100755 index 60b3d2fcb9d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_small.png Binary files differdeleted file mode 100755 index 1cc74a20574..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/newsletter_thumb_small.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_large.png Binary files differdeleted file mode 100755 index 4b5f3d01781..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_large.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_logo.png b/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_logo.png Binary files differdeleted file mode 100755 index 9e45931bbdc..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_small.png Binary files differdeleted file mode 100755 index 68c0f3495b2..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/resto_thumb_small.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_large.png Binary files differdeleted file mode 100755 index dc992cd423e..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_large.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_logo.png b/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_logo.png Binary files differdeleted file mode 100755 index 2bcf3a62349..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_small.png Binary files differdeleted file mode 100755 index 0d189dd2299..00000000000 --- a/addons/mass_mailing/static/src/img/theme_imgs/tech_thumb_small.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_banner.jpg Binary files differdeleted file mode 100755 index 8f837a55b19..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_banner.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_event.jpg Binary files differdeleted file mode 100755 index 0b11910b534..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_event.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image.jpg Binary files differdeleted file mode 100755 index 09f4e2f5e8d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image_text.jpg Binary files differdeleted file mode 100755 index cbee8e6dcc0..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image_text.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_text_image.jpg Binary files differdeleted file mode 100755 index 32a2c86d1bd..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_text_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_1.jpg Binary files differdeleted file mode 100755 index 2d2c7a07cf5..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_2.jpg Binary files differdeleted file mode 100755 index 264ff911794..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_3.jpg Binary files differdeleted file mode 100755 index 6ce7085e354..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_three_cols_3.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_1.jpg Binary files differdeleted file mode 100755 index a8b2283e08f..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_2.jpg Binary files differdeleted file mode 100755 index 461f62d25f2..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_two_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_logo.png Binary files differdeleted file mode 100644 index 064f09c1a0a..00000000000 --- a/addons/mass_mailing/static/src/img/theme_newsletter/s_default_image_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_banner.jpg Binary files differdeleted file mode 100755 index ff792179ae0..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_banner.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_event.jpg Binary files differdeleted file mode 100755 index f6e5b5e5a0d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_event.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image.jpg Binary files differdeleted file mode 100755 index 3baa1c2c054..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image_text.jpg Binary files differdeleted file mode 100755 index 12202654a54..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_image_text.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_text_image.jpg Binary files differdeleted file mode 100755 index da0628f3e7e..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_text_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_1.jpg Binary files differdeleted file mode 100755 index 04865427530..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_2.jpg Binary files differdeleted file mode 100755 index 98f3e5dd916..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_3.jpg Binary files differdeleted file mode 100755 index 1d0ca076cd0..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_3.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_1.jpg Binary files differdeleted file mode 100755 index de516297c59..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_2.jpg Binary files differdeleted file mode 100755 index 1f00cfad6c3..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_resto/s_default_image_logo.png Binary files differdeleted file mode 100755 index 6aab7fc27e2..00000000000 --- a/addons/mass_mailing/static/src/img/theme_resto/s_default_image_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_banner.jpg Binary files differdeleted file mode 100755 index 0c571542311..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_banner.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_event.jpg Binary files differdeleted file mode 100644 index 65eafe14ac6..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_event.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image.jpg Binary files differdeleted file mode 100755 index 729547cb164..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image_text.jpg Binary files differdeleted file mode 100755 index 4dc41edd353..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_image_text.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_text_image.jpg Binary files differdeleted file mode 100755 index 3c86e53e822..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_text_image.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_1.jpg Binary files differdeleted file mode 100755 index 5f49e2a8f0d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_2.jpg Binary files differdeleted file mode 100755 index adfa8c9f5e4..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_3.jpg Binary files differdeleted file mode 100755 index 8bfd0a93a2d..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_three_cols_3.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_1.jpg Binary files differdeleted file mode 100755 index eaf6bc21d50..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_1.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_2.jpg Binary files differdeleted file mode 100755 index fbaa3d3ee81..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_block_two_cols_2.jpg +++ /dev/null diff --git a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_tech/s_default_image_logo.png Binary files differdeleted file mode 100644 index 53b2f37da96..00000000000 --- a/addons/mass_mailing/static/src/img/theme_tech/s_default_image_logo.png +++ /dev/null diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index e2bcb8a09ad..55e21e02f66 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -1,12 +1,10 @@ odoo.define('mass_mailing.mass_mailing', function (require) { -var core = require('web.core'); var FieldTextHtml = require('web_editor.backend').FieldTextHtml; var KanbanRecord = require('web_kanban.Record'); +var KanbanColumn = require("web_kanban.Column"); var KanbanView = require('web_kanban.KanbanView'); -var _t = core._t; - KanbanRecord.include({ on_card_clicked: function (event) { if (this.model === 'mail.mass_mailing.campaign') { @@ -17,10 +15,23 @@ KanbanRecord.include({ }, }); +KanbanColumn.include({ + start: function () { + var def = this._super.apply(this, arguments); + var parent = this.getParent(); + if (!parent || parent.model !== "mail.mass_mailing") return def; + + var self = this; + return $.when(def).done(function () { + self.$el.sortable("destroy"); + }); + }, +}); + KanbanView.include({ on_groups_started: function() { this._super.apply(this, arguments); - if (this.dataset.model === 'mail.mass_mailing') { + if (this.dataset.model === 'mail.mass_mailing') { this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle'); } }, diff --git a/addons/mass_mailing/static/src/js/mass_mailing_editor.js b/addons/mass_mailing/static/src/js/mass_mailing_editor.js index 1448611b5c3..1ad2cf2c784 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing_editor.js +++ b/addons/mass_mailing/static/src/js/mass_mailing_editor.js @@ -9,25 +9,21 @@ var options = require('web_editor.snippets.options'); var snippets_editor = require('web_editor.snippet.editor'); var $editable_area = $("#editable_area"); -if ($editable_area.length === 0 || !$editable_area.is(".o_mail_area")) { - return; -} +var odoo_top = window.top.odoo; // Snippet option for resizing image and column width inline like excel options.registry["width-x"] = options.Class.extend({ start: function () { - this.container_width = 600; - var parent = this.$target.closest('[data-max-width]'); - if (parent.length) { - this.container_width = parseInt(parent.attr('data-max-width')); - } + this.container_width = this.$target.parent().closest("td, table, div").width(); + var self = this; var offset, sib_offset, target_width, sib_width; + var $body = $(document.body); this.is_image = false; - this._super(); + this._super.apply(this, arguments); this.$overlay.find(".oe_handle.e, .oe_handle.w").removeClass("readonly"); - if (this.$target.is('img')) { + if (this.$target.is("img")) { this.$overlay.find(".oe_handle.w").addClass("readonly"); this.$overlay.find(".oe_snippet_move, .oe_snippet_clone").addClass("hidden"); this.is_image=true; @@ -44,88 +40,95 @@ options.registry["width-x"] = options.Class.extend({ if (self.is_image) { compass = "image"; } self.buildingBlock.editor_busy = true; - var $body = $(document.body); - - var body_mousemove = function (event) { + $body.on("mousemove.mass_mailing_width_x", function (event) { event.preventDefault(); offset = self.$target.offset().left; target_width = self.get_max_width(self.$target); if (compass === 'e' && self.$target.next().offset()) { sib_width = self.get_max_width(self.$target.next()); sib_offset = self.$target.next().offset().left; - self.change_width(event, self.$target, target_width, offset ,'plus'); - self.change_width(event, self.$target.next(), sib_width, sib_offset ,'minus'); + self.change_width(event, self.$target, target_width, offset, true); + self.change_width(event, self.$target.next(), sib_width, sib_offset, false); } if (compass === 'w' && self.$target.prev().offset()) { sib_width = self.get_max_width(self.$target.prev()); sib_offset = self.$target.prev().offset().left; - self.change_width(event, self.$target, target_width, offset ,'minus'); - self.change_width(event, self.$target.prev(), sib_width, sib_offset, 'plus'); + self.change_width(event, self.$target, target_width, offset, false); + self.change_width(event, self.$target.prev(), sib_width, sib_offset, true); } if (compass === 'image') { - self.change_width(event, self.$target, target_width, offset ,'plus'); + self.change_width(event, self.$target, target_width, offset, true); } - }; - var body_mouseup = function () { - $body.unbind('mousemove', body_mousemove); - $body.unbind('mouseup', body_mouseup); + }); + $body.on("mouseup.mass_mailing_width_x", function () { + $body.off('.mass_mailing_width_x'); self.buildingBlock.editor_busy = false; self.$target.removeClass("resize_editor_busy"); - }; - $body.mousemove(body_mousemove); - $body.mouseup(body_mouseup); + }); }); }, - change_width: function (event, target ,target_width, offset, type) { - var self = this; - var width; - if (type === 'plus') { - width = event.pageX-offset; - } else { - width = offset + target_width - event.pageX; - } - target.css("width", width + "px"); - self.buildingBlock.cover_target(self.$overlay, self.$target); - return; + change_width: function (event, target, target_width, offset, grow) { + target.css("width", grow ? (event.pageX - offset) : (offset + target_width - event.pageX)); + this.buildingBlock.cover_target(this.$overlay, this.$target); }, - get_int_width: function ($el) { - var el_width = $el.css('width'); - return parseInt(el_width); + get_int_width: function (el) { + return parseInt($(el).css("width"), 10); }, get_max_width: function ($el) { - var max_width = 0; - var self = this; - _.each($el.siblings(),function(sib){ - max_width += self.get_int_width($(sib)); - }); - return this.container_width - max_width; + return this.container_width - _.reduce(_.map($el.siblings(), this.get_int_width), function (memo, w) { return memo + w; }); + }, + on_focus: function () { + this._super.apply(this, arguments); + + if (this.$target.is("td, th")) { + this.$overlay.find(".oe_handle.e, .oe_handle.w").toggleClass("readonly", this.$target.siblings().length === 0); + } }, +}); + +options.registry.table_item = options.Class.extend({ on_clone: function ($clone) { - var clone_index = $(this.$target).index(); - var $table = this.$target.parents('table[data-max-width]'); - if ($table.length === 1){ - _.each($table.find('tbody>tr'),function(row){ - var clone_selector = 'td:eq(' + clone_index + ')'; - var $col_to_clone = $(row).find(clone_selector); - if ($col_to_clone.length !== 0){ - $col_to_clone.after($col_to_clone.clone()); - } + this._super.apply(this, arguments); + + // If we cloned a td or th element... + if (this.$target.is("td, th")) { + // ... and that the td or th element was alone on its row ... + if (this.$target.siblings().length === 1) { + var $tr = $clone.parent(); + $tr.clone().empty().insertAfter($tr).append($clone); // ... move the clone in a new row instead + return; + } + + // ... if not, if the clone neighbor is an empty cell, remove this empty cell (like if the clone content had been put in that cell) + var $next = $clone.next(); + if ($next.length && $next.text().trim() === "") { + $next.remove(); + return; + } + + // ... if not, insert an empty col in each other row, at the index of the clone + var width = $clone.width(); + var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent()); + _.each($trs.children(":nth-child(" + this.$target.index() + ")"), function (col) { + $(col).after($("<td/>", {style: "width: " + width + "px;"})); }); } - this._super($clone); - this.buildingBlock.cover_target(this.$overlay, this.$target); }, on_remove: function () { - var remove_index = $(this.$target).index(); - var $table = this.$target.parents('table[data-max-width]'); - if ($table.length === 1){ - _.each($table.find('tbody>tr'),function(row){ - var remove_selector = 'td:eq(' + remove_index + ')'; - $(row).find(remove_selector).remove(); - }); - } this._super.apply(this, arguments); - this.buildingBlock.cover_target(this.$overlay, this.$target); + + // If we are removing a td or th element which was not alone on its row ... + if (this.$target.is("td, th") && this.$target.siblings().length > 0) { + var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent()); + if ($trs.length) { // ... if there are other rows in the table ... + var $last_tds = $trs.children(":last-child"); + if (_.reduce($last_tds, function (memo, td) { return memo + (td.innerHTML || ""); }, "").trim() === "") { + $last_tds.remove(); // ... remove the potential full empty column in the table + } else { + this.$target.parent().append("<td/>"); // ... else, if there is no full empty column, append an empty col in the current row + } + } + } }, }); @@ -160,7 +163,7 @@ snippets_editor.Class.include({ all_classes += " " + classname; var images_info = _.defaults($theme.data("imagesInfo") || {}, {all: {}}); _.each(images_info, function (info) { - info = _.defaults(info, {module: "mass_mailing", format: "jpg"}); + info = _.defaults(info, images_info.all, {module: "mass_mailing", format: "jpg"}); }); return { name: name, @@ -179,6 +182,7 @@ snippets_editor.Class.include({ var $body = $(document.body); var $snippets = this.$(".oe_snippet"); + var $snippets_menu = this.$el.find("#snippets_menu"); /** * Create theme selection screen and check if it must be forced opened. @@ -191,6 +195,16 @@ snippets_editor.Class.include({ check_if_must_force_theme_choice(); /** + * Add proposition to install enterprise themes if not installed. + */ + var $mail_themes_upgrade = $dropdown.find(".o_mass_mailing_themes_upgrade"); + $mail_themes_upgrade.on("click", "> a", function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + odoo_top[window.callback+"_do_action"]("mass_mailing.action_mass_mailing_configuration"); + }); + + /** * Switch theme when a theme button is hovered. Confirm change if the theme button * is pressed. */ @@ -208,13 +222,19 @@ snippets_editor.Class.include({ switch_theme(theme_params); $body.removeClass("o_force_mail_theme_choice"); first_choice = false; - } else { - switch_images(theme_params, $snippets); + + if ($mail_themes_upgrade.length) { + $dropdown.remove(); + $snippets_menu.empty(); + } } + + switch_images(theme_params, $snippets); + selected_theme = theme_params; // Notify form view - window.top.odoo[window.callback+"_downup"]($editable_area.addClass("o_dirty").html()); + odoo_top[window.callback+"_downup"]($editable_area.addClass("o_dirty").html()); }); /** @@ -240,7 +260,7 @@ snippets_editor.Class.include({ check_selected_theme(); $body.addClass(selected_theme.className); - $dropdown.insertAfter(this.$el.find("#snippets_menu")); + $dropdown.insertAfter($snippets_menu); return ret; @@ -327,10 +347,10 @@ snippets_editor.Class.include({ }, }); -var odoo_top = window.top.odoo; -window.top.odoo[window["callback"]+"_updown"] = function (value, fields_values, field_name) { +var callback = window ? window["callback"] : undefined; +odoo_top[callback+"_updown"] = function (value, fields_values, field_name) { if (!window) { - delete odoo_top[window["callback"]+"_updown"]; + delete odoo_top[callback+"_updown"]; return; } @@ -360,7 +380,7 @@ window.top.odoo[window["callback"]+"_updown"] = function (value, fields_values, if (fields_values.mailing_model && web_editor.editor_bar) { if (value.indexOf('on_change_model_and_list') !== -1) { - odoo_top[window["callback"]+"_downup"](_val); + odoo_top[callback+"_downup"](_val); } } }; diff --git a/addons/mass_mailing/static/src/less/mass_mailing.ui.less b/addons/mass_mailing/static/src/less/mass_mailing.ui.less index fd16ddb4ca2..d0c64d62636 100644 --- a/addons/mass_mailing/static/src/less/mass_mailing.ui.less +++ b/addons/mass_mailing/static/src/less/mass_mailing.ui.less @@ -116,6 +116,30 @@ body.o_force_mail_theme_choice { box-shadow: 0 5px 30px 1px fade(black, 60%); } } + + &.o_mass_mailing_themes_upgrade > a .o_thumb { + position: relative; + display: block; + border: 1px dashed white; + opacity: 0.2; + + > .fa { + .o-position-absolute(0, 0, 0, 0); + text-align: center; + font-size: 50px; + color: white; + + &::before { + vertical-align: middle; + } + &::after { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; + } + } + } } } } diff --git a/addons/mass_mailing/static/src/less/themes/theme_airmail.less b/addons/mass_mailing/static/src/less/themes/theme_airmail.less deleted file mode 100644 index 513f3dc57c2..00000000000 --- a/addons/mass_mailing/static/src/less/themes/theme_airmail.less +++ /dev/null @@ -1,206 +0,0 @@ -// lessc@1.4.2 - -// ============================ -// Mass Mailing "Theme Airmail" -// ============================ - -@o_mm_airmail_color_alpha: #EAECED; -@o_mm_airmail_color_beta: white; -@o_mm_airmail_color_gamma: #FB3C6B; -@o_mm_airmail_color_delta: darken(@o_mm_airmail_color_gamma, 5%); -@o_mm_airmail_color_epsilon: black; -@o_mm_airmail_color_zeta: #a17e92; - -.o_airmail_theme { - // ===== Colors ===== - .bg-beta { - background-color: @o_mm_airmail_color_gamma; - - .btn.btn-primary { - color: @o_mm_airmail_color_beta; - background-color: @o_mm_airmail_color_zeta; - } - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_airmail_color_beta; - } - } - .text-beta { - color: @o_mm_airmail_color_gamma; - } - .bg-delta { - background-color: @o_mm_airmail_color_zeta; - } - - // ===== Layout ===== - &.o_layout { - background-color: @o_mm_airmail_color_alpha; - - > .o_mail_wrapper { - background: rgba(0, 0, 0, 0); - background: transparent; - border: none; - - > * { - margin-bottom: 16px; - } - } - } - - // ===== Snippets (general) ===== - .o_mail_snippet_general { - background-color: @o_mm_airmail_color_beta; - color: @o_mm_airmail_color_epsilon; - - .btn.btn-primary { - color: @o_mm_airmail_color_beta; - background-color: @o_mm_airmail_color_gamma; - } - - a, .o_mail_link { - color: @o_mm_airmail_color_delta; - } - } - - // ===== Snippets (specific) ===== - .o_mail_block_header_social, .o_mail_block_header_text_social, .o_mail_block_header_logo { - margin-bottom: 0; - - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - } - - .o_mail_h_padding { - padding-left: 0; - padding-right: 0; - } - - .o_mail_header_social { - margin-right: 0px; - a { - color: darken(@o_mm_airmail_color_alpha, 40%); - } - } - } - - .o_mail_block_event { - margin-left: 0; - margin-right: 0; - } - - .o_mail_block_footer_separator { - margin-left: 0; - margin-right: 0; - } - - .o_mail_block_image { - .o_mail_h_padding { - padding: 0; - .o_mail_col_mv { - padding-left: 20px; - padding-right: 20px; - } - > img { - padding: 0; - margin-bottom: 15px; - } - } - } - - .o_mail_block_footer_separator { - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - - .separator { - height: 3px; - background-color: darken(@o_mm_airmail_color_alpha, 10%); - border-bottom: 2px solid darken(white, 3%); - } - } - } - - .o_mail_block_two_cols, .o_mail_block_three_cols { - @tmp-gap: 10px; - - table { - width: 110%; - max-width: (600+(@tmp-gap*2)); - margin: auto (@tmp-gap*-1); - } - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - } - .o_mail_col_container { - padding: 0 0 (@tmp-gap*2); - margin: 0 @tmp-gap; - border-top: 1px solid darken(@o_mm_airmail_color_beta, 10%); - border-bottom: 1px solid darken(@o_mm_airmail_color_alpha, 5%); - background-color: @o_mm_airmail_color_beta; - - > * { - padding: 0 (@tmp-gap*2); - } - - img { - padding: 0!important; - } - } - } - - .o_mail_block_footer_tag_line { - table.o_mail_h_padding { - padding-left: 0; - padding-right: 0; - } - } - - .o_mail_block_image_text { - .o_mail_img_container { - padding: 0 - } - } - - .o_mail_block_text_image { - .o_mail_img_container { - padding: 0 - } - } - - .o_mail_block_footer_social { - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - margin-top: 30px; - border-top: 1px solid darken(@o_mm_airmail_color_alpha, 10%); - } - - .o_mail_footer_social { - border: none; - a { - color: darken(@o_mm_airmail_color_alpha, 40%); - } - } - - .o_mail_footer_links a { - color: darken(@o_mm_airmail_color_alpha, 40%); - } - - .o_mail_footer_copy { - font-weight: bold; - font-size: 9px; - color: darken(@o_mm_airmail_color_alpha, 30%); - } - - &.o_mail_footer_social_left { - .o_mail_footer_description { - padding-left: 0; - } - .o_mail_footer_social { - padding-right: 0; - } - } - } -} diff --git a/addons/mass_mailing/static/src/less/themes/theme_default.less b/addons/mass_mailing/static/src/less/themes/theme_default.less index 80a8e523d48..8999132c2ae 100644 --- a/addons/mass_mailing/static/src/less/themes/theme_default.less +++ b/addons/mass_mailing/static/src/less/themes/theme_default.less @@ -35,10 +35,6 @@ .bg-beta { background-color: @o_mm_def_color_zeta; color: @o_mm_def_color_beta; - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_def_color_beta; - } } .text-beta { color: @o_mm_def_color_zeta; @@ -112,6 +108,24 @@ height: 2px; background-color: @o_mm_def_color_alpha; } + + .bg-beta { + h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { + color: @o_mm_def_color_beta; + } + + .btn.btn-primary { + background-color: @o_mm_def_color_eta; + } + + a, .btn.btn-link { + color: @o_mm_def_color_eta; + } + } + + td, th { + vertical-align: top; + } } // ===== Snippets (specific) ===== @@ -123,6 +137,9 @@ } .o_mail_header_social { margin-right: 20px; + a { + display: inline-block; + } } } diff --git a/addons/mass_mailing/static/src/less/themes/theme_newsletter.less b/addons/mass_mailing/static/src/less/themes/theme_newsletter.less deleted file mode 100644 index 317116d970c..00000000000 --- a/addons/mass_mailing/static/src/less/themes/theme_newsletter.less +++ /dev/null @@ -1,38 +0,0 @@ -// lessc@1.4.2 - -// =============================== -// Mass Mailing "Theme Newsletter" -// =============================== - -@o_mm_news_color_alpha: #f5f5f5; -@o_mm_news_color_beta: #ffffff; -@o_mm_news_color_gamma: #1cc1a9; -@o_mm_news_color_delta: #464646; -@o_mm_news_color_epsilon: darken(@o_mm_news_color_gamma, 5%); -@o_mm_news_color_zeta: #906784; -@o_mm_news_color_eta: #87a6b5; - -.o_newsletter_theme { - // ===== Colors ===== - .bg-beta { - background-color: @o_mm_news_color_zeta; - color: @o_mm_news_color_beta; - } - .text-beta { - color: @o_mm_news_color_zeta; - } - .bg-delta { - background-color: @o_mm_news_color_eta; - } - - // ===== Snippets (general) ===== - .o_mail_snippet_general { - .btn.btn-primary { - color: @o_mm_news_color_beta; - background-color: @o_mm_news_color_gamma; - } - a, .btn.btn-link { - color: @o_mm_news_color_epsilon; - } - } -} diff --git a/addons/mass_mailing/static/src/less/themes/theme_resto.less b/addons/mass_mailing/static/src/less/themes/theme_resto.less deleted file mode 100644 index 591850a4e3b..00000000000 --- a/addons/mass_mailing/static/src/less/themes/theme_resto.less +++ /dev/null @@ -1,115 +0,0 @@ -// lessc@1.4.2 - -// ========================== -// Mass Mailing "Theme Resto" -// ========================== - -@o_mm_resto_color_alpha: #f0ede0; -@o_mm_resto_color_beta: #ffffff; -@o_mm_resto_color_gamma: #E96D1F; -@o_mm_resto_color_delta: #712b22; -@o_mm_resto_color_epsilon: darken(@o_mm_resto_color_gamma, 5%); -@o_mm_resto_color_zeta: #795745; - -.o_resto_theme { - // ===== Editor ===== - &#web_editor_inside_iframe { - background-color: @o_mm_resto_color_alpha; - } - - // ===== Colors ===== - .bg-beta { - background-color: @o_mm_resto_color_zeta; - color: @o_mm_resto_color_beta; - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_resto_color_beta; - } - } - .text-beta { - color: @o_mm_resto_color_zeta; - } - .bg-delta { - background-color: @o_mm_resto_color_gamma; - color: @o_mm_resto_color_beta; - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_resto_color_beta; - } - } - .text-delta { - color: @o_mm_resto_color_epsilon; - } - - // ===== Layout ===== - &.o_layout { - background-color: @o_mm_resto_color_alpha; - - > .o_mail_wrapper { - border: none; - background-color:transparent; - } - } - - // ===== Snippets (general) ===== - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - color: @o_mm_resto_color_delta; - - .btn.btn-primary { - color: @o_mm_resto_color_beta; - background-color: @o_mm_resto_color_gamma; - } - - a, .o_mail_link { - font-weight: normal; - color: @o_mm_resto_color_epsilon; - } - - .separator { - background-color: lighten(@o_mm_resto_color_zeta, 20%); - } - } - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: darken(@o_mm_resto_color_zeta, 10%); - font-weight: bold; - } - - // ===== Snippets (specific) ===== - .o_mail_block_header_social, .o_mail_block_header_text_social, .o_mail_block_header_logo { - .o_mail_snippet_general { - border-bottom: 5px solid @o_mm_resto_color_gamma; - } - - .o_mail_header_social { - a { - color: @o_mm_resto_color_gamma; - } - } - } - - .o_mail_block_steps { - border-top: 2px solid @o_mm_resto_color_gamma; - background: @o_mm_resto_color_beta; - } - - .o_mail_block_event { - .o_mail_snippet_general{ - background: darken(@o_mm_resto_color_beta, 2%); - } - } - - .o_mail_block_header_social, .o_mail_block_header_text_social, .o_mail_block_header_logo, .o_mail_block_steps, .o_mail_block_event, .o_mail_block_banner { - margin-left: 20px; - margin-right: 20px; - } - - .o_mail_block_footer_social { - .o_mail_table_styles { - border-top: 2px solid lighten(@o_mm_resto_color_zeta, 20%); - padding-top: 20px; - } - } -} diff --git a/addons/mass_mailing/static/src/less/themes/theme_tech.less b/addons/mass_mailing/static/src/less/themes/theme_tech.less deleted file mode 100644 index 7b7a91ae475..00000000000 --- a/addons/mass_mailing/static/src/less/themes/theme_tech.less +++ /dev/null @@ -1,165 +0,0 @@ -// lessc@1.4.2 - -// ========================= -// Mass Mailing "Theme Tech" -// ========================= - -@o_mm_tech_color_alpha: #333; -@o_mm_tech_color_beta: white; -@o_mm_tech_color_gamma: #59cdcd; -@o_mm_tech_color_delta: #bdbdbd; -@o_mm_tech_color_epsilon: black; -@o_mm_tech_color_zeta: #a17e92; - -.o_tech_theme { - // ===== Colors ===== - .bg-beta { - background-color: @o_mm_tech_color_gamma; - - .btn.btn-primary { - color: @o_mm_tech_color_beta; - background-color: @o_mm_tech_color_zeta; - } - } - .text-beta { - color: @o_mm_tech_color_gamma; - } - .bg-delta { - background-color: @o_mm_tech_color_zeta; - } - - // ===== Layout ===== - &.o_layout { - background-color: @o_mm_tech_color_alpha; - - > .o_mail_wrapper { - background-color: transparent; - color: @o_mm_tech_color_delta; - border: none; - } - } - - // ===== Snippets (general) ===== - .o_mail_snippet_general { - .btn.btn-primary { - color: @o_mm_tech_color_beta; - background-color: @o_mm_tech_color_gamma; - } - - .o_mail_full_width_padding { - padding-left: 20px; - padding-right: 20px; - } - - a, .o_mail_link { - font-weight: normal; - color: @o_mm_tech_color_gamma; - } - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: darken(@o_mm_tech_color_beta, 10%); - } - } - - // ===== Snippets (specific) ===== - .o_mail_block_header_social, .o_mail_block_header_text_social, .o_mail_block_header_logo { - .o_mail_snippet_general { - margin-top: 10px; - margin-bottom: 25px; - padding-left: 20px; - padding-right: 20px; - - > table { - max-width: 560px; - border-bottom: 1px solid darken(@o_mm_tech_color_beta, 60%); - } - } - - .o_mail_h_padding.o_mail_v_padding { - padding: 10px 0 5px; - } - - .o_mail_header_social { - margin-right: 0px; - a { - color: darken(@o_mm_tech_color_beta, 40%); - } - } - } - - .o_mail_block_footer_separator { - .separator { - height: 1px; - background-color: darken(@o_mm_tech_color_beta, 60%); - } - } - - .o_mail_block_event { - margin-left: 20px; - margin-right: 20px; - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_tech_color_alpha; - } - } - - .o_mail_block_discount2 { - .o_code { - color: @o_mm_tech_color_alpha; - } - } - - .o_mail_block_footer_separator { - margin-left: 0; - margin-right: 0; - } - - .o_mail_block_steps { - background-color: transparent; - - h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - color: @o_mm_tech_color_alpha; - } - - .o_mail_full_width_padding > tbody > tr { - background-color: @o_mm_tech_color_beta; - color: @o_mm_tech_color_alpha; - } - } - - .o_mail_block_footer_social { - .o_mail_snippet_general { - background: rgba(0,0,0,0); - background: transparent; - } - - .o_mail_table_styles { - border-top: none; - } - - .o_mail_footer_social { - a { - color: darken(@o_mm_tech_color_beta, 40%); - } - } - - .o_mail_footer_links a { - color: darken(@o_mm_tech_color_beta, 40%); - } - - .o_mail_footer_copy { - font-weight: bold; - font-size: 9px; - color: darken(@o_mm_tech_color_beta, 30%); - } - - &.o_mail_footer_social_left { - .o_mail_footer_description { - padding-left: 0; - } - .o_mail_footer_social { - padding-right: 0; - } - } - } -} diff --git a/addons/mass_mailing/static/src/xml/mass_mailing.xml b/addons/mass_mailing/static/src/xml/mass_mailing.xml index 1d41f2a3b74..71f00f2937d 100644 --- a/addons/mass_mailing/static/src/xml/mass_mailing.xml +++ b/addons/mass_mailing/static/src/xml/mass_mailing.xml @@ -12,6 +12,11 @@ <div class="o_thumb logo" t-attf-style="background-image: url(#{theme.img}_logo.png)"/> </a> </li> + <li t-if="themes.length === 1" class="o_mass_mailing_themes_upgrade"> + <a href="#"> + <div class="o_thumb"><i class="fa fa-plus"/></div> + </a> + </li> </div> </div> </templates> diff --git a/addons/mass_mailing/views/editor_field_html.xml b/addons/mass_mailing/views/editor_field_html.xml index 175e557a733..fdbb7da5473 100644 --- a/addons/mass_mailing/views/editor_field_html.xml +++ b/addons/mass_mailing/views/editor_field_html.xml @@ -1,12 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <template id="assets_mail_themes"> - <link rel="stylesheet" href="/mass_mailing/static/src/less/themes/theme_default.less" type="text/less"/> - - <link rel="stylesheet" href="/mass_mailing/static/src/less/themes/theme_airmail.less" type="text/less"/> - <link rel="stylesheet" href="/mass_mailing/static/src/less/themes/theme_newsletter.less" type="text/less"/> - <link rel="stylesheet" href="/mass_mailing/static/src/less/themes/theme_resto.less" type="text/less"/> - <link rel="stylesheet" href="/mass_mailing/static/src/less/themes/theme_tech.less" type="text/less"/> + <link rel="stylesheet" type="text/less" href="/mass_mailing/static/src/less/themes/theme_default.less"/> </template> <template id="FieldTextHtmlInline" name="Editor layout"> @@ -14,6 +9,7 @@ <t t-set="head_mm_field_text_html_inline"> <t t-if="enable_editor"> <t t-call-assets="mass_mailing.assets_mail_themes"/> + <script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing_editor.js"></script> </t> </t> <t t-set="head" t-value="head_mm_field_text_html_inline + (head or '')"/> diff --git a/addons/mass_mailing/views/mass_mailing_template.xml b/addons/mass_mailing/views/mass_mailing_template.xml index 5e7037c805b..1f7b224ae78 100644 --- a/addons/mass_mailing/views/mass_mailing_template.xml +++ b/addons/mass_mailing/views/mass_mailing_template.xml @@ -12,8 +12,5 @@ <xpath expr="//link[last()]" position="after"> <link type="text/less" rel="stylesheet" href="/mass_mailing/static/src/less/mass_mailing.ui.less"/> </xpath> - <xpath expr="//script[last()]" position="after"> - <script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing_editor.js"></script> - </xpath> </template> </odoo> diff --git a/addons/mass_mailing/views/snippets_themes.xml b/addons/mass_mailing/views/snippets_themes.xml index 0f35177295a..f6d2f3991ee 100644 --- a/addons/mass_mailing/views/snippets_themes.xml +++ b/addons/mass_mailing/views/snippets_themes.xml @@ -13,26 +13,6 @@ data-images-info='{"logo": {"format": "png"}}'> <t t-call="mass_mailing.theme_default_template"/> </div> - <div data-name="newsletter" - data-img="/mass_mailing/static/src/img/theme_imgs/newsletter_thumb" - data-images-info='{"logo": {"format": "png"}}'> - <t t-call="mass_mailing.theme_newsletter_template"/> - </div> - <div data-name="airmail" - data-img="/mass_mailing/static/src/img/theme_imgs/airmail_thumb" - data-images-info='{"logo": {"format": "png"}}'> - <t t-call="mass_mailing.theme_airmail_template"/> - </div> - <div data-name="tech" - data-img="/mass_mailing/static/src/img/theme_imgs/tech_thumb" - data-images-info='{"logo": {"format": "png"}}'> - <t t-call="mass_mailing.theme_tech_template"/> - </div> - <div data-name="resto" - data-img="/mass_mailing/static/src/img/theme_imgs/resto_thumb" - data-images-info='{"logo": {"format": "png"}}'> - <t t-call="mass_mailing.theme_resto_template"/> - </div> </div> <div id="email_designer_default_headers" class="o_panel"> <div class="o_panel_header"> @@ -97,46 +77,36 @@ <div class="o_mail_snippet_general"> <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> <tr> - <td width="80%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> + <td width="70%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> &nbsp; <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;float:none;"> <img border="0" src="/web/image/mass_mailing.s_default_image_logo" style="height:auto;max-width:400px;" alt="Your Logo" /> </a> &nbsp; </td> - <td width="20%"> - <table t-if="website" class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tr> - <t t-if="website.social_facebook"> - <td align="right"> - <a t-att-href="website.social_facebook"> - <span class="fa fa-facebook"></span> - </a> - </td> - </t> - <t t-if="website.social_googleplus"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_googleplus"> - <span class="fa fa-google-plus"></span> - </a> - </td> - </t> - <t t-if="website.social_linkedin"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_linkedin"> - <span class="fa fa-linkedin"></span> - </a> - </td> - </t> - <t t-if="website.social_twitter"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_twitter"> - <span class="fa fa-twitter"></span> - </a> - </td> - </t> - </tr> - </table> + <td width="30%" class="text-right o_mail_no_resize"> + <div t-if="website" class="o_mail_header_social"> + <t t-if="website.social_facebook"> + <a t-att-href="website.social_facebook"> + <span class="fa fa-facebook"></span> + </a> + </t> + <t t-if="website.social_googleplus"> + <a t-att-href="website.social_googleplus" style="margin-left:10px"> + <span class="fa fa-google-plus"></span> + </a> + </t> + <t t-if="website.social_linkedin"> + <a t-att-href="website.social_linkedin" style="margin-left:10px"> + <span class="fa fa-linkedin"></span> + </a> + </t> + <t t-if="website.social_twitter"> + <a t-att-href="website.social_twitter" style="margin-left:10px"> + <span class="fa fa-twitter"></span> + </a> + </t> + </div> </td> </tr> </table> @@ -149,7 +119,7 @@ <div class="o_mail_snippet_general"> <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> <tr> - <td width="80%" class="o_mail_h_padding o_mail_v_padding"> + <td width="70%" class="o_mail_h_padding o_mail_v_padding"> &nbsp; <h3> <a t-att-href="(company_id.website) or '#'"> @@ -158,39 +128,29 @@ </h3> &nbsp; </td> - <td valign="center" width="20%"> - <table t-if="website" class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tr> - <t t-if="website.social_facebook"> - <td align="right"> - <a t-att-href="website.social_facebook"> - <span class="fa fa-facebook"></span> - </a> - </td> - </t> - <t t-if="website.social_googleplus"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_googleplus"> - <span class="fa fa-google-plus"></span> - </a> - </td> - </t> - <t t-if="website.social_linkedin"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_linkedin"> - <span class="fa fa-linkedin"></span> - </a> - </td> - </t> - <t t-if="website.social_twitter"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_twitter"> - <span class="fa fa-twitter"></span> - </a> - </td> - </t> - </tr> - </table> + <td width="30%" class="text-right o_mail_no_resize"> + <div t-if="website" class="o_mail_header_social"> + <t t-if="website.social_facebook"> + <a t-att-href="website.social_facebook"> + <span class="fa fa-facebook"></span> + </a> + </t> + <t t-if="website.social_googleplus"> + <a t-att-href="website.social_googleplus" style="margin-left:10px"> + <span class="fa fa-google-plus"></span> + </a> + </t> + <t t-if="website.social_linkedin"> + <a t-att-href="website.social_linkedin" style="margin-left:10px"> + <span class="fa fa-linkedin"></span> + </a> + </t> + <t t-if="website.social_twitter"> + <a t-att-href="website.social_twitter" style="margin-left:10px"> + <span class="fa fa-twitter"></span> + </a> + </t> + </div> </td> </tr> </table> @@ -205,7 +165,9 @@ <tr> <td width="20%"/> <td valign="center" width="60%" class="text-center o_mail_v_padding"> - <img border="0" src="/web/image/mass_mailing.s_default_image_logo" style="height:auto;max-width:400px;width:auto" alt="Your Logo" /> + <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;"> + <img border="0" src="/web/image/mass_mailing.s_default_image_logo" style="height:auto;max-width:400px;width:auto" alt="Your Logo" /> + </a> </td> <td width="20%" style="text-align:right"/> </tr> @@ -302,7 +264,7 @@ </div> </template> -<template id="s_mail_block_comparison_table" name="Comparison Table"> +<template id="s_mail_block_comparison_table" name="Comparison"> <div class="o_mail_block_comparison_table"> <div class="o_mail_snippet_general"> <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> @@ -604,7 +566,7 @@ </template> <template id="s_mail_block_footer_tag_line" name="Tag Line"> - <div class="o_mail_block_footer_tag_line"> + <div class="o_mail_block_footer_tag_line o_mail_no_colorpicker"> <div class="o_mail_snippet_general"> <table class="o_mail_table_styles o_mail_full_width_padding" align="center" cellpadding="0" cellspacing="0"> <tbody> @@ -633,8 +595,8 @@ </div> </template> -<template id="s_mail_block_discount2" name="Discount Coupon"> - <div class="o_mail_block_discount2 mb16"> +<template id="s_mail_block_discount2" name="Promo Code"> + <div class="o_mail_block_discount2 mb32"> <div class="o_mail_snippet_general"> <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_h_padding"> <tbody> @@ -644,7 +606,7 @@ <p class="o_mail_display_coupon o_mail_no_margin text-center text-beta" style="font-weight:800;"> $20 </p> - <h3 class="o_mail_no_margin">FROM YOUR NEXT ORDER!</h3> + <h3 class="o_mail_no_margin">OFF YOUR NEXT ORDER!</h3> </div> </td> </tr> @@ -657,10 +619,15 @@ <small>CODE</small>: <strong class="o_code h3">45A9E77DGW8455</strong> </p> <p class="text-center"> - to receive $20 from your next purchase! + and save $20 on your next order! </p> </td> </tr> + <tr> + <td class="mb16 mt16 text-center"> + <a class="btn btn-primary">Use now</a> + </td> + </tr> </tbody> </table> </div> @@ -705,7 +672,7 @@ </template> <template id="s_mail_block_event" name="Event"> - <div class="o_mail_block_event"> + <div class="o_mail_block_event o_mail_no_colorpicker"> <div class="o_mail_snippet_general"> <table align="center" cellpadding="0" cellspacing="0" class="o_mail_table_styles"> <tr> @@ -736,7 +703,7 @@ </template> <template id="s_mail_block_steps" name="Steps"> - <div class="o_mail_block_steps"> + <div class="o_mail_block_steps o_mail_no_colorpicker"> <div class="o_mail_snippet_general"> <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> <tbody> @@ -831,7 +798,7 @@ </tr> <tr> <td> - <p class="o_mail_footer_copy">© 2014 All Rights Reserved</p> + <p class="o_mail_footer_copy"><span class="fa fa-copyright"/> 2016 All Rights Reserved</p> </td> </tr> </tbody> @@ -854,7 +821,7 @@ <a href="/unsubscribe_from_list" class="btn btn-link">Unsubscribe</a> | <a href="/page/contactus" class="btn btn-link">Contact</a> </div> <div> - <p class="o_mail_footer_copy">© 2016 All Rights Reserved</p> + <p class="o_mail_footer_copy"><span class="fa fa-copyright"/> 2016 All Rights Reserved</p> </div> </td> <td t-if="website" class="o_mail_footer_social"> diff --git a/addons/mass_mailing/views/snippets_themes_options.xml b/addons/mass_mailing/views/snippets_themes_options.xml index 4247da7d62c..34d973369e8 100644 --- a/addons/mass_mailing/views/snippets_themes_options.xml +++ b/addons/mass_mailing/views/snippets_themes_options.xml @@ -6,9 +6,11 @@ <t t-raw="0"/> <div data-js="width-x" - data-selector="img, .mv, .col_mv, td, th"> + data-selector="img, .mv, .col_mv, td:not(.o_mail_no_resize), th"> </div> + <div data-js="table_item" data-selector="td, th"/> + <div data-js="table_row" data-selector="tr:has(> .row), tr:has(> .col_mv)" data-drop-near="tr:has(> .row), tr:has(> .col_mv)"> @@ -35,13 +37,13 @@ </div> <div data-js="margin-y" - data-selector="[data-oe-field='body_html'] > div:not(.o_layout), [data-oe-field='body_html'] .oe_structure > div, td, th"> + data-selector="[data-oe-field='body_html'] > div:not(.o_layout), [data-oe-field='body_html'] .oe_structure > div, td:not(.o_mail_no_resize), th"> </div> <div data-js="colorpicker" data-selector=" - [data-oe-field='body_html'] > div:not(.o_layout):not(.o_mail_block_event):not(.o_mail_block_steps), - [data-oe-field='body_html'] .oe_structure > div:not(.o_mail_block_event):not(.o_mail_block_steps), + [data-oe-field='body_html'] > div:not(.o_layout):not(.o_mail_no_colorpicker), + [data-oe-field='body_html'] .oe_structure > div:not(.o_mail_no_colorpicker), td, th "> <li class="dropdown-submenu"> diff --git a/addons/mass_mailing/views/themes_templates.xml b/addons/mass_mailing/views/themes_templates.xml index e708f11ad8f..6d938ed4ab1 100644 --- a/addons/mass_mailing/views/themes_templates.xml +++ b/addons/mass_mailing/views/themes_templates.xml @@ -8,7 +8,9 @@ <tr> <td width="20%"/> <td valign="center" width="60%" class="o_mail_logo_container text-center o_mail_v_padding"> - <img border="0" src="/mass_mailing/static/src/img/theme_default/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo" /> + <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;"> + <img border="0" src="/mass_mailing/static/src/img/theme_default/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo" /> + </a> </td> <td width="20%" style="text-align:right"/> </tr> @@ -18,719 +20,4 @@ <t t-call="mass_mailing.s_mail_block_title_text" /> <t t-call="mass_mailing.s_mail_block_footer_social_left"/> </template> - - <!-- Newsletter Theme (based on 'Default' style) --> - <template id="theme_newsletter_template"> - <div class="o_mail_block_header_social"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td width="80%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> - <a style="text-decoration:none;float:none;" href="http://www.example.com"> - <img border="0" src="/mass_mailing/static/src/img/theme_newsletter/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo"/> - </a> - </td> - <td width="20%"> - <table class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tbody> - <tr> - <td align="right"> - <a href="https://www.facebook.com/Odoo"> - <span class="fa fa-facebook"></span> - </a> - </td> - - <td align="right" style="padding-left:10px"> - <a href="https://plus.google.com/+Odooapps"> - <span class="fa fa-google-plus"></span> - </a> - </td> - <td align="right" style="padding-left:10px"> - <a href="https://www.linkedin.com/company/odoo"> - <span class="fa fa-linkedin"></span> - </a> - </td> - <td align="right" style="padding-left:10px"> - <a href="https://twitter.com/Odoo"> - <span class="fa fa-twitter"></span> - </a> - </td> - </tr> - </tbody> - </table> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_footer_separator"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> - <tbody> - <tr> - <td valign="top" style="width:100%;"> - <div style="width:100%;" class="separator"></div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_paragraph"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td width="100%" class="o_mail_h_padding o_mail_v_padding"> - <p> Hi there!</p> - <p> The next edition of Odoo Experience looks very promising. More than 150 talks are scheduled during those 3 days! - Find below some stand-out talks for the Business tracks.</p> - <p> To stir up your curiosity, have a look at all the great talks scheduled and highlighted in our agenda!</p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_event mb32"> - <div class="o_mail_snippet_general"> - <table align="center" cellpadding="0" cellspacing="0" class="o_mail_table_styles"> - <tbody><tr> - <td style="width:25%;min-height: 150px;vertical-align:middle;" class="o_mail_h_padding o_mail_v_padding bg-beta text-center o_mail_col_mv"> - <h3 class="o_mail_no_margin ">21 Jul</h3> - <p class="o_mail_no_margin ">ALL DAY</p> - </td> - <td style="width:25%;min-height: 150px;" class="text-center bg-delta o_mail_col_mv"> - <img src="/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_event.jpg" class="center-block" alt="Your Picture"/> - </td> - <td class="o_mail_h_padding o_mail_v_padding o_mail_col_mv" style="min-height: 150px;"> - <div style="min-height: 111px"> - <h4>Register Now!</h4> - <p class="o_mail_no_margin "> - Discover the new version of our software, with a great overview on all the new features. - </p> - </div> - <div class="small mt16"> - <a href="#" class="btn btn-sm btn-primary ">Registration</a> - <a href="#" class="btn btn-sm btn-link " style="margin-left:10px">More Info</a> - </div> - </td> - </tr> - </tbody></table> - </div> - </div> - <div class="o_mail_block_footer_separator"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> - <tbody> - <tr> - <td valign="top" style="width:100%;" class="o_mail_v_padding"> - <div style="width:100%;" class="separator"></div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_image_text"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width: 250px; text-align: center; vertical-align: middle;" class="o_mail_col_mv o_mail_img_container o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_text_image.jpg" class="center-block" alt="Your Picture" style=""/> - </td> - <td style="width: 350px; vertical-align: middle; text-align: center;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h3 class="text-left mt0">Premium Pass</h3> - <p class="o_mail_no_margin " style="text-align:justify;">This pass gives you access to the catering and evening activities! </p> - <div class="text-left" style="margin-top:15px;"> - <a href="#" class="btn btn-sm btn-primary ">Read More</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_image_text"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width: 250px; text-align: center; vertical-align: middle;" class="o_mail_col_mv o_mail_img_container o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_newsletter/s_default_image_block_image_text.jpg" class="center-block" alt="Your Picture" style=""/> - </td> - <td style="width: 350px; vertical-align: middle; text-align: center;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h3 class="text-left mt0">Call for Speakers</h3> - <p class="o_mail_no_margin " style="text-align:justify;">Odoo Experience is the place to be to showcase your expertize.</p> - <div class="text-left" style="margin-top:15px;"> - <a href="#" class="btn btn-sm btn-primary ">Read More</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <t t-call="mass_mailing.s_mail_block_footer_social_left"/> - </template> - - <template id="theme_airmail_template"> - <div class="o_mail_block_header_social"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tr> - <td width="80%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> - <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;float:none;"> - <img border="0" src="/mass_mailing/static/src/img/theme_airmail/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo" /> - </a> - </td> - <td width="20%"> - <table t-if="website" class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tr> - <t t-if="website.social_facebook"> - <td align="right"> - <a t-att-href="website.social_facebook"> - <span class="fa fa-facebook"></span> - </a> - </td> - </t> - <t t-if="website.social_googleplus"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_googleplus"> - <span class="fa fa-google-plus"></span> - </a> - </td> - </t> - <t t-if="website.social_linkedin"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_linkedin"> - <span class="fa fa-linkedin"></span> - </a> - </td> - </t> - <t t-if="website.social_twitter"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_twitter"> - <span class="fa fa-twitter"></span> - </a> - </td> - </t> - </tr> - </table> - </td> - </tr> - </table> - </div> - </div> - <div class="o_mail_block_banner"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td width="100%" valign="top" class="o_mail_full_width_padding"> - <a href="#"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_banner.jpg" class="center-block" alt="Your Banner Image"/> - </a> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_two_cols"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_v_padding o_mail_col_table"> - <tbody> - <tr> - <td style="vertical-align:top;width:270px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_1.jpg" class="center-block" alt="Your Picture"/> - <h4 class="text-center">Gibson Les Paul Junior</h4> - <p class="text-center o_mail_no_margin"> - Check the top electric guitar brands and their models! - </p> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:270px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_two_cols_2.jpg" class="center-block" alt="Your Picture"/> - <h4 class="text-center">Sony BDVE210</h4> - <p class="text-center o_mail_no_margin"> - Heat up the popcorn and get ready for an immersive experience. - </p> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_discount1"> - <div class="o_mail_snippet_general"> - <table align="center" cellpadding="0" cellspacing="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td class="o_mail_h_padding o_mail_v_padding text-center o_mail_col_mv" width="250"> - <table> - <tbody> - <tr> - <td> - <p class="o_mail_display_coupon text-beta text-center o_mail_no_margin" style="font-weight:800;">20%</p> - <h4 class="text-beta text-center mt0 mb16" style="font-weight:800;">OFF</h4> - </td> - </tr> - <tr> - <td> - <p class="text-center">FROM YOUR NEXT ORDER!</p> - </td> - </tr> - <tr> - <td class="text-center"> - </td> - </tr> - </tbody> - </table> - </td> - <td class="o_mail_h_padding o_mail_v_padding o_mail_col_mv" width="350"> - <p class="o_mail_no_margin">We are continuing to grow and we miss seeing you be a part of it! We've increased store hours and have lot's of new brands available.<br/>To welcome you back please accept this 20% discount on you next purchase by clicking the button.</p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_three_cols"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_v_padding o_mail_col_table"> - <tbody> - <tr> - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_1.jpg" class="center-block" alt="Your Picture"/> - <h4 class="text-center">1958 Royal</h4> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Discover</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_2.jpg" class="center-block" alt="Your Picture"/> - <h4 class="text-center">Classic D8 Skate</h4> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Discover</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_airmail/s_default_image_block_three_cols_3.jpg" class="center-block" alt="Your Picture"/> - <h4 class="text-center">Puccini Jar</h4> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Discover</a> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <t t-call="mass_mailing.s_mail_block_footer_social"/> - </template> - - <template id="theme_tech_template"> - <div class="o_mail_block_header_social"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tr> - <td width="80%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> - <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;float:none;"> - <img border="0" src="/mass_mailing/static/src/img/theme_tech/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo" /> - </a> - </td> - <td width="20%"> - <table t-if="website" class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tr> - <t t-if="website.social_facebook"> - <td align="right"> - <a t-att-href="website.social_facebook"> - <span class="fa fa-facebook"></span> - </a> - </td> - </t> - <t t-if="website.social_googleplus"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_googleplus"> - <span class="fa fa-google-plus"></span> - </a> - </td> - </t> - <t t-if="website.social_linkedin"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_linkedin"> - <span class="fa fa-linkedin"></span> - </a> - </td> - </t> - <t t-if="website.social_twitter"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_twitter"> - <span class="fa fa-twitter"></span> - </a> - </td> - </t> - </tr> - </table> - </td> - </tr> - </table> - </div> - </div> - <div class="o_mail_block_banner"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td width="100%" valign="top" class="o_mail_full_width_padding"> - <img src="/mass_mailing/static/src/img/theme_tech/s_default_image_block_banner.jpg" class="center-block" alt="Your Banner Image" /> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_image_text"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width:200px;text-align:center;vertical-align:middle" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_tech/s_default_image_block_image.jpg" class="center-block" alt="Your Picture"/> - </td> - <td style="width:400px;vertical-align:middle;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h4 class="">The Rise Of The Drone</h4> - <p class="o_mail_no_margin">They sit at terminals at Holloman Air Force Base, watching grainy images from a drone video feed.</p> - <div class="text-left" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_image_text"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width:200px;text-align:center;vertical-align:middle" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_tech/s_default_image_block_image_text.jpg" class="center-block" alt="Your Picture"/> - </td> - <td style="width:400px;vertical-align:middle;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h4 class="">New 45Hc-270A laptop</h4> - <p class="o_mail_no_margin">The new laptops look nearly identical to the original models, but closer inspection reveals a refined design.</p> - <div class="text-left" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_image_text"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width:200px;text-align:center;vertical-align:middle" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_tech/s_default_image_block_text_image.jpg" class="center-block" alt="Your Picture"/> - </td> - <td style="width:400px;vertical-align:middle;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h4 class="">Two-lens phone cameras</h4> - <p class="o_mail_no_margin">Normally mirrorless cameras have always sat slightly above entry-level in terms of price..</p> - <div class="text-left" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <t t-call="mass_mailing.s_mail_block_footer_social"/> - </template> - - <template id="theme_resto_template"> - <div class="o_mail_block_header_social"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tr> - <td width="80%" class="o_mail_logo_container o_mail_h_padding o_mail_v_padding"> - <a t-att-href="(company_id.website) or '#'" style="text-decoration:none;float:none;"> - <img border="0" src="/mass_mailing/static/src/img/theme_resto/s_default_image_logo.png" style="height:auto;max-width:400px;" alt="Your Logo" /> - </a> - </td> - <td width="20%"> - <table t-if="website" class="o_mail_header_social" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:separate;"> - <tr> - <t t-if="website.social_facebook"> - <td align="right"> - <a t-att-href="website.social_facebook"> - <span class="fa fa-facebook"></span> - </a> - </td> - </t> - <t t-if="website.social_googleplus"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_googleplus"> - <span class="fa fa-google-plus"></span> - </a> - </td> - </t> - <t t-if="website.social_linkedin"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_linkedin"> - <span class="fa fa-linkedin"></span> - </a> - </td> - </t> - <t t-if="website.social_twitter"> - <td align="right" style="padding-left:10px"> - <a t-att-href="website.social_twitter"> - <span class="fa fa-twitter"></span> - </a> - </td> - </t> - </tr> - </table> - </td> - </tr> - </table> - </div> - </div> - <div class="o_mail_block_banner"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" border="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td width="100%" valign="top" class="o_mail_full_width_padding"> - <a href="#"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_banner.jpg" class="center-block" alt="Your Banner Image"/> - </a> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_steps"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> - <tbody> - <tr> - <td class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <table class="o_mail_table_styles"> - <tr> - <td rowspan="2" class="text-right"> - <span class="fa fa-compass fa-2x text-delta"></span> - </td> - <td style="padding-left:10px;"> - <p class="o_mail_no_margin"><small>Step 1:</small></p> - <h4 class="o_mail_no_margin ">Choose</h4> - </td> - </tr> - </table> - </td> - <td class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <table class="o_mail_table_styles"> - <tr> - <td rowspan="2" class="text-right"> - <span class="fa fa-credit-card fa-2x text-delta"></span> - </td> - <td style="padding-left:10px;"> - <p class="o_mail_no_margin"><small>Step 2:</small></p> - <h4 class="o_mail_no_margin ">Order</h4> - </td> - </tr> - </table> - </td> - <td class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <table class="o_mail_table_styles"> - <tr> - <td rowspan="2" class="text-right"> - <span class="fa fa-smile-o fa-2x text-delta"></span> - </td> - <td style="padding-left:10px;"> - <p class="o_mail_no_margin"><small>Step 3:</small></p> - <h4 class="o_mail_no_margin ">Enjoy!</h4> - </td> - </tr> - </table> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_title_sub mt8"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td class="o_mail_h_padding"> - <h3 class="text-center ">Starters</h3> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_three_cols"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_col_table"> - <tbody> - <tr> - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_1.jpg" class="center-block" alt="Your Picture"/> - <h5 class="text-center">Tomato Soup</h5> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Order</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_2.jpg" class="center-block" alt="Your Picture"/> - <h5 class="text-center">Captain’s Salad</h5> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Order</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:180px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_three_cols_3.jpg" class="center-block" alt="Your Picture"/> - <h5 class="text-center">Mini Hamburgers</h5> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Order</a> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_footer_separator"> - <div class="snippet_row"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> - <tbody> - <tr> - <td valign="top" style="width:100%;" class="o_mail_v_padding"> - <div style="width:100%;" class="separator"></div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="o_mail_block_title_sub mt16"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td class="o_mail_h_padding"> - <h3 class="text-center">Mains</h3> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_two_cols"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_col_table"> - <tbody> - <tr> - <td style="vertical-align:top;width:270px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_1.jpg" class="center-block" alt="Your Picture"/> - <h5 class="text-center">Tagliatelle Boscaiola</h5> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Order</a> - </div> - </div> - </td> - - <td style="vertical-align:top;width:270px;" class="o_mail_col_mv"> - <div class="o_mail_col_container"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_two_cols_2.jpg" class="center-block" alt="Your Picture"/> - <h5 class="text-center">BBQ Mix</h5> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-primary">Order</a> - </div> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="o_mail_block_footer_separator"> - <div class="snippet_row"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> - <tbody> - <tr> - <td valign="top" style="width:100%;" class="o_mail_v_padding"> - <div style="width:100%;" class="separator"></div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="o_mail_block_image_text mt16 mb32"> - <div class="o_mail_snippet_general"> - <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles"> - <tbody> - <tr> - <td style="width:270px;text-align:center;vertical-align:middle" class="o_mail_img_container o_mail_h_padding o_mail_v_padding"> - <img src="/mass_mailing/static/src/img/theme_resto/s_default_image_block_image_text.jpg" class="center-block" alt="Your Picture"/> - </td> - <td style="width:270px;vertical-align:middle;text-align:justify;" class="o_mail_col_mv o_mail_h_padding o_mail_v_padding"> - <h3 class="">Recipe of the day</h3> - <p class="o_mail_no_margin">A delicious soup made of one or more seasonal vegetables, without added fat, starches and lactose.</p> - <div class="text-center" style="margin-top:15px;"> - <a href="#" class="btn btn-link">Read More...</a> - </div> - </td> - </tr> - </tbody> - </table> - </div> - </div> - <t t-call="mass_mailing.s_mail_block_footer_social_left"/> - </template> </odoo> diff --git a/addons/mrp/__manifest__.py b/addons/mrp/__manifest__.py index e8b5aa798e6..a69d9582136 100644 --- a/addons/mrp/__manifest__.py +++ b/addons/mrp/__manifest__.py @@ -40,7 +40,6 @@ Dashboard / Reports for MRP will include: 'data/mrp_data.yml', 'wizard/mrp_product_produce_views.xml', 'wizard/change_production_qty_views.xml', - 'wizard/stock_move_consume_views.xml', 'wizard/mrp_workcenter_block_view.xml', 'views/mrp_views_menus.xml', 'views/stock_move_views.xml', @@ -60,7 +59,6 @@ Dashboard / Reports for MRP will include: 'views/mrp_templates.xml', 'views/stock_scrap_views.xml', 'report/mrp_report_views_main.xml', - 'report/mrp_report_views.xml', 'report/mrp_production_templates.xml', 'report/mrp_bom_structure_report_templates.xml', 'report/mrp_bom_cost_report_templates.xml', @@ -68,6 +66,7 @@ Dashboard / Reports for MRP will include: 'demo': [ 'data/mrp_demo.xml', 'data/mrp_lot_demo.yml'], + 'qweb': ['static/src/xml/mrp.xml'], 'test': [], 'application': True, } diff --git a/addons/mrp/data/mrp_demo.xml b/addons/mrp/data/mrp_demo.xml index 70da69628f8..787eb2eaea9 100644 --- a/addons/mrp/data/mrp_demo.xml +++ b/addons/mrp/data/mrp_demo.xml @@ -90,7 +90,7 @@ <field name="name">Manual Assembly</field> <field name="time_cycle">60</field> <field name="sequence">5</field> - <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_1" model="mrp.routing.workcenter"> @@ -99,7 +99,7 @@ <field name="name">Long time assembly</field> <field name="time_cycle">180</field> <field name="sequence">15</field> - <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_3" model="mrp.routing.workcenter"> @@ -108,7 +108,7 @@ <field name="name">Testing</field> <field name="time_cycle">60</field> <field name="sequence">10</field> - <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_4" model="mrp.routing.workcenter"> @@ -117,7 +117,7 @@ <field name="name">Packing</field> <field name="time_cycle">30</field> <field name="sequence">5</field> - <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_2" model="mrp.routing.workcenter"> @@ -126,7 +126,7 @@ <field name="time_cycle">120</field> <field name="sequence">5</field> <field name="name">Manual Assembly</field> - <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_5" model="mrp.routing.workcenter"> @@ -135,7 +135,7 @@ <field name="time_cycle">120</field> <field name="sequence">10</field> <field name="name">Cutting</field> - <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/cutting-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_6" model="mrp.routing.workcenter"> @@ -144,7 +144,7 @@ <field name="time_cycle">120</field> <field name="sequence">15</field> <field name="name">Drilling</field> - <field name="worksheet" type="base64" file="mrp/static/img/drill-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/drill-worksheet.pdf"/> </record> <record id="mrp_routing_workcenter_7" model="mrp.routing.workcenter"> @@ -153,7 +153,7 @@ <field name="time_cycle">120</field> <field name="sequence">20</field> <field name="name">Assembly</field> - <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.jpg"/> + <field name="worksheet" type="base64" file="mrp/static/img/assebly-worksheet.pdf"/> </record> <!-- Resource: mrp.bom --> diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot index fc0c02a0959..be3addc4041 100644 --- a/addons/mrp/i18n/mrp.pot +++ b/addons/mrp/i18n/mrp.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -51,7 +51,19 @@ msgid "# Work Orders" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_bom.py:261 +#: model:product.product,description:mrp.product_product_computer_desk_leg +#: model:product.template,description:mrp.product_product_computer_desk_leg_product_template +msgid "18″ x 2½″ Square Leg" +msgstr "" + +#. module: mrp +#: model:product.product,description:mrp.product_product_laptop_charger +#: model:product.template,description:mrp.product_product_laptop_charger_product_template +msgid "19v,5.5 x 2.5 mm Pin Type Adapter (Power Cord Included)" +msgstr "" + +#. module: mrp +#: code:addons/mrp/models/mrp_bom.py:266 #, python-format msgid "<p class=\"oe_view_nocontent_create\">\n" " Click to upload files to your product.\n" @@ -92,6 +104,11 @@ msgid "<span class=\"o_stat_text\">Time<br/> Analysis</span>" msgstr "" #. module: mrp +#: model:ir.ui.view,arch_db:mrp.mrp_workcenter_view +msgid "<span class=\"o_stat_text\">Work Center Load</span>" +msgstr "" + +#. module: mrp #: model:ir.ui.view,arch_db:mrp.mrp_production_form_view msgid "<span class=\"o_stat_text\">Work Orders</span>" msgstr "" @@ -212,7 +229,7 @@ msgid "<strong>WorkCenter</strong>" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:419 +#: code:addons/mrp/models/mrp_workorder.py:424 #, python-format msgid "A Manufacturing Order is already done or cancelled!" msgstr "" @@ -283,7 +300,13 @@ msgid "Archived" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_bom.py:253 +#: model:product.product,name:mrp.product_assembly +#: model:product.template,name:mrp.product_assembly_product_template +msgid "Assembly Service Cost" +msgstr "" + +#. module: mrp +#: code:addons/mrp/models/mrp_bom.py:258 #, python-format msgid "Attachments" msgstr "" @@ -434,7 +457,7 @@ msgstr "" #. module: mrp #: model:ir.model.fields,help:mrp.field_mrp_workcenter_blocked_time -msgid "Blocked hours over the last month" +msgid "Blocked hour(s) over the last month" msgstr "" #. module: mrp @@ -469,6 +492,12 @@ msgid "BoM line product %s should not be same as BoM product." msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_computer_desk_bolt +#: model:product.template,name:mrp.product_product_computer_desk_bolt_product_template +msgid "Bolt" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_config_settings_module_mrp_byproduct msgid "By-Products" msgstr "" @@ -490,7 +519,6 @@ msgstr "" #: model:ir.ui.view,arch_db:mrp.view_change_production_qty_wizard #: model:ir.ui.view,arch_db:mrp.view_mrp_config #: model:ir.ui.view,arch_db:mrp.view_mrp_product_produce_wizard -#: model:ir.ui.view,arch_db:mrp.view_stock_move_consume_wizard msgid "Cancel" msgstr "" @@ -507,25 +535,22 @@ msgid "Cannot delete a manufacturing order not in cancel state" msgstr "" #. module: mrp -#: code:addons/mrp/wizard/change_production_qty.py:56 -#: code:addons/mrp/wizard/change_production_qty.py:59 -#, python-format -msgid "Cannot find bill of material for this production." -msgstr "" - -#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_capacity #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_capacity msgid "Capacity" msgstr "" #. module: mrp -#: model:ir.actions.act_window,name:mrp.action_change_production_qty #: model:ir.ui.view,arch_db:mrp.view_change_production_qty_wizard msgid "Change Product Qty" msgstr "" #. module: mrp +#: model:ir.actions.act_window,name:mrp.action_change_production_qty +msgid "Change Quantity To Produce" +msgstr "" + +#. module: mrp #: model:ir.model,name:mrp.model_change_production_qty msgid "Change Quantity of Products" msgstr "" @@ -608,7 +633,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_routing_company_id #: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_company_id #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_company_id -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout_company_id #: model:ir.ui.view,arch_db:mrp.view_mrp_workcenter_search msgid "Company" msgstr "" @@ -627,6 +651,12 @@ msgid "Compute based on real time" msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_computer_desk +#: model:product.template,name:mrp.product_product_computer_desk_product_template +msgid "Computer Desk" +msgstr "" + +#. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_configuration msgid "Configuration" msgstr "" @@ -644,18 +674,6 @@ msgid "Confirmed" msgstr "" #. module: mrp -#: model:ir.actions.act_window,name:mrp.move_consume -#: model:ir.ui.view,arch_db:mrp.view_stock_move_consume_wizard -msgid "Consume Move" -msgstr "" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_move_consume -#: model:ir.ui.view,arch_db:mrp.view_stock_move_consume_wizard -msgid "Consume Products" -msgstr "" - -#. module: mrp #: model:ir.model.fields,field_description:mrp.field_stock_move_consume_unbuild_id msgid "Consume Unbuild Order" msgstr "" @@ -730,7 +748,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_create_uid #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_create_uid #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_create_uid -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_create_uid #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_create_uid msgid "Created by" msgstr "" @@ -750,7 +767,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_create_date #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_create_date #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_create_date -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_create_date #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_create_date msgid "Created on" msgstr "" @@ -786,6 +802,16 @@ msgid "Date" msgstr "" #. module: mrp +#: model:ir.model.fields,field_description:mrp.field_mrp_production_date_planned_finished +msgid "Deadline End" +msgstr "" + +#. module: mrp +#: model:ir.model.fields,field_description:mrp.field_mrp_production_date_planned_start +msgid "Deadline Start" +msgstr "" + +#. module: mrp #: model:ir.ui.view,arch_db:mrp.mrp_routing_workcenter_form_view msgid "Default Duration" msgstr "" @@ -849,10 +875,7 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_display_name #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_display_name #: model:ir.model.fields,field_description:mrp.field_report_mrp_bom_cost_display_name -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout_display_name #: model:ir.model.fields,field_description:mrp.field_report_mrp_report_mrpbomstructure_display_name -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load_display_name -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_display_name #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_display_name msgid "Display Name" msgstr "" @@ -883,14 +906,13 @@ msgstr "" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_time_cycle #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_duration -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load_duration #: model:ir.ui.view,arch_db:mrp.oee_tree_view msgid "Duration" msgstr "" #. module: mrp #: model:ir.ui.view,arch_db:mrp.oee_tree_view -msgid "Duration (hours)" +msgid "Duration (minutes)" msgstr "" #. module: mrp @@ -946,26 +968,11 @@ msgid "End Date" msgstr "" #. module: mrp -#: model:ir.ui.view,arch_db:mrp.mrp_production_form_view -msgid "Expected Date" -msgstr "" - -#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_duration_expected msgid "Expected Duration" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_mrp_production_date_planned_finished -msgid "Expected End Date" -msgstr "" - -#. module: mrp -#: model:ir.model.fields,field_description:mrp.field_mrp_production_date_planned_start -msgid "Expected Start Date" -msgstr "" - -#. module: mrp #: model:ir.model.fields,help:mrp.field_mrp_workorder_duration_expected msgid "Expected duration (in minutes)" msgstr "" @@ -1063,6 +1070,12 @@ msgid "Group by..." msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_19 +#: model:product.template,name:mrp.product_product_19_product_template +msgid "HDD on Demand" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line_has_attachments msgid "Has Attachments" msgstr "" @@ -1093,10 +1106,7 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_id #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_id #: model:ir.model.fields,field_description:mrp.field_report_mrp_bom_cost_id -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout_id #: model:ir.model.fields,field_description:mrp.field_report_mrp_report_mrpbomstructure_id -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load_id -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_id #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_id msgid "ID" msgstr "" @@ -1181,7 +1191,7 @@ msgid "Is produced" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workcenter.py:144 +#: code:addons/mrp/models/mrp_workcenter.py:149 #, python-format msgid "It has been unblocked already. " msgstr "" @@ -1202,6 +1212,26 @@ msgid "Kit (Phantom): When processing a sales order for this product, the delive msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_laptop_charger +#: model:product.template,name:mrp.product_product_laptop_charger_product_template +#: model:stock.inventory.line,product_name:mrp.stock_inventory_line_product_laptop_charger +msgid "Laptop Charger" +msgstr "" + +#. module: mrp +#: model:stock.inventory.line,product_name:mrp.stock_inventory_product_27_lot0 +#: model:stock.inventory.line,product_name:mrp.stock_inventory_product_27_lot1 +msgid "Laptop Customized" +msgstr "" + +#. module: mrp +#: model:product.product,name:mrp.product_product_laptop_keypad +#: model:product.template,name:mrp.product_product_laptop_keypad_product_template +#: model:stock.inventory.line,product_name:mrp.stock_inventory_line_product_laptop_keypad +msgid "Laptop Keypad" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_change_production_qty___last_update #: model:ir.model.fields,field_description:mrp.field_mrp_bom___last_update #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line___last_update @@ -1217,10 +1247,7 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss___last_update #: model:ir.model.fields,field_description:mrp.field_mrp_workorder___last_update #: model:ir.model.fields,field_description:mrp.field_report_mrp_bom_cost___last_update -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout___last_update #: model:ir.model.fields,field_description:mrp.field_report_mrp_report_mrpbomstructure___last_update -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load___last_update -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume___last_update #: model:ir.model.fields,field_description:mrp.field_stock_move_lots___last_update msgid "Last Modified on" msgstr "" @@ -1240,7 +1267,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_write_uid #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_write_uid #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_write_uid -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_write_uid #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_write_uid msgid "Last Updated by" msgstr "" @@ -1260,7 +1286,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_write_date #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_write_date #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_write_date -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_write_date #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_write_date msgid "Last Updated on" msgstr "" @@ -1275,8 +1300,13 @@ msgid "Late" msgstr "" #. module: mrp +#: code:addons/mrp/models/mrp_production.py:365 +#, python-format +msgid "Lines need to be deleted, but can not as you still have some quantities to consume in them. " +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_unbuild_location_id -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_location_id msgid "Location" msgstr "" @@ -1296,7 +1326,7 @@ msgid "Logistics" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_id_9364 +#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_loss_id_9376 #: model:ir.ui.view,arch_db:mrp.oee_search_view msgid "Loss Reason" msgstr "" @@ -1304,7 +1334,6 @@ msgstr "" #. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_product_produce_lot_id #: model:ir.model.fields,field_description:mrp.field_mrp_unbuild_lot_id -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_restrict_lot_id #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_lot_id msgid "Lot" msgstr "" @@ -1566,6 +1595,12 @@ msgid "New" msgstr "" #. module: mrp +#: model:product.product,description:mrp.product_product_laptop_keypad +#: model:product.template,description:mrp.product_product_laptop_keypad_product_template +msgid "New Original Laptop Keyboard Part No 9GT99" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_batch msgid "Next Operation" msgstr "" @@ -1699,8 +1734,9 @@ msgid "Oee" msgstr "" #. module: mrp -#: model:ir.ui.view,arch_db:mrp.view_stock_move_consume_wizard -msgid "Ok" +#: model:product.product,description:mrp.product_product_19 +#: model:product.template,description:mrp.product_product_19_product_template +msgid "On demand hard-disk having capacity based on requirement." msgstr "" #. module: mrp @@ -1840,7 +1876,7 @@ msgid "Planned Date" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:264 +#: code:addons/mrp/models/mrp_workorder.py:269 #, python-format msgid "Please set the quantity you produced in the Current Qty field. It can not be 0!" msgstr "" @@ -1912,7 +1948,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_production_product_id #: model:ir.model.fields,field_description:mrp.field_mrp_unbuild_product_id #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_product_id -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_product_id #: model:ir.model.fields,field_description:mrp.field_stock_move_lots_product_id #: model:ir.ui.view,arch_db:mrp.mrp_bom_line_view_form #: model:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view @@ -1923,11 +1958,6 @@ msgid "Product" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_change_production_qty_product_qty -msgid "Product Qty" -msgstr "" - -#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line_product_qty msgid "Product Quantity" msgstr "" @@ -1943,7 +1973,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line_product_uom_id #: model:ir.model.fields,field_description:mrp.field_mrp_bom_product_uom_id #: model:ir.model.fields,field_description:mrp.field_mrp_production_product_uom_id -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_product_uom msgid "Product Unit of Measure" msgstr "" @@ -1976,6 +2005,11 @@ msgid "Production" msgstr "" #. module: mrp +#: model:ir.model.fields,field_description:mrp.field_mrp_workorder_production_date +msgid "Production Date" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_routing_location_id #: model:ir.ui.view,arch_db:mrp.mrp_routing_search_view msgid "Production Location" @@ -2036,7 +2070,7 @@ msgstr "" #. module: mrp #: model:ir.model.fields,help:mrp.field_mrp_workcenter_productive_time -msgid "Productive hours over the last month" +msgid "Productive hour(s) over the last month" msgstr "" #. module: mrp @@ -2083,7 +2117,6 @@ msgstr "" #: model:ir.model.fields,field_description:mrp.field_mrp_product_produce_product_qty #: model:ir.model.fields,field_description:mrp.field_mrp_unbuild_product_qty #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_qty_produced -#: model:ir.model.fields,field_description:mrp.field_stock_move_consume_product_qty #: model:ir.model.fields,field_description:mrp.field_stock_move_quantity_done #: model:ir.model.fields,field_description:mrp.field_stock_move_quantity_done_store #: model:ir.ui.view,arch_db:mrp.mrp_bom_cost_report @@ -2111,13 +2144,14 @@ msgid "Quantity Produced" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_batch_size -msgid "Quantity to Process" +#: model:ir.model.fields,field_description:mrp.field_change_production_qty_product_qty +#: model:ir.model.fields,field_description:mrp.field_mrp_production_product_qty +msgid "Quantity To Produce" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_mrp_production_product_qty -msgid "Quantity to Produce" +#: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_batch_size +msgid "Quantity to Process" msgstr "" #. module: mrp @@ -2172,7 +2206,7 @@ msgid "Record Production" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_bom.py:126 +#: code:addons/mrp/models/mrp_bom.py:131 #, python-format msgid "Recursion error! A product with a Bill of Material should not have itself in its BoM or child BoMs!" msgstr "" @@ -2196,7 +2230,7 @@ msgid "Reference of the document that generated this production order request." msgstr "" #. module: mrp -#: code:addons/mrp/models/stock_move.py:242 +#: code:addons/mrp/models/stock_move.py:281 #, python-format msgid "Register Lots" msgstr "" @@ -2331,8 +2365,8 @@ msgid "Scheduled Month" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_production.py:534 -#: code:addons/mrp/models/mrp_workorder.py:428 +#: code:addons/mrp/models/mrp_production.py:539 +#: code:addons/mrp/models/mrp_workorder.py:433 #: model:ir.ui.menu,name:mrp.menu_mrp_scrap #: model:ir.ui.view,arch_db:mrp.mrp_production_form_view #: model:ir.ui.view,arch_db:mrp.mrp_production_workcenter_form_view_inherit @@ -2394,6 +2428,18 @@ msgid "Security days for each manufacturing operation." msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_build_kit +#: model:product.template,name:mrp.product_product_build_kit_product_template +msgid "Self Build Kit" +msgstr "" + +#. module: mrp +#: model:product.product,description:mrp.product_product_build_kit +#: model:product.template,description:mrp.product_product_build_kit_product_template +msgid "Self Build kit." +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line_sequence #: model:ir.model.fields,field_description:mrp.field_mrp_bom_sequence #: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_sequence @@ -2426,6 +2472,18 @@ msgid "Should have a lot for the finished product" msgstr "" #. module: mrp +#: model:product.product,description:mrp.product_product_computer_desk +#: model:product.template,description:mrp.product_product_computer_desk_product_template +msgid "Solid wood computer desk." +msgstr "" + +#. module: mrp +#: model:product.product,description:mrp.product_product_computer_desk_head +#: model:product.template,description:mrp.product_product_computer_desk_head_product_template +msgid "Solid wood is a durable natural material." +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_production_origin msgid "Source" msgstr "" @@ -2436,6 +2494,12 @@ msgid "Specify whether the product can be selected in an HR expense." msgstr "" #. module: mrp +#: model:product.product,description:mrp.product_product_computer_desk_bolt +#: model:product.template,description:mrp.product_product_computer_desk_bolt_product_template +msgid "Stainless steel screw full (dia - 5mm, Length - 10mm)" +msgstr "" + +#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_production_date_start #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_date_start msgid "Start Date" @@ -2474,19 +2538,6 @@ msgid "Stock Moves" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout_value -msgid "Stock value" -msgstr "" - -#. module: mrp -#: model:ir.model,name:mrp.model_report_mrp_inout -#: model:ir.ui.view,arch_db:mrp.view_report_in_out_picking_form -#: model:ir.ui.view,arch_db:mrp.view_report_in_out_picking_graph -#: model:ir.ui.view,arch_db:mrp.view_report_in_out_picking_tree -msgid "Stock value variation" -msgstr "" - -#. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_bom_line_child_bom_id msgid "Sub BoM" msgstr "" @@ -2502,6 +2553,18 @@ msgid "TPM Big Losses" msgstr "" #. module: mrp +#: model:product.product,name:mrp.product_product_computer_desk_head +#: model:product.template,name:mrp.product_product_computer_desk_head_product_template +msgid "Table Head" +msgstr "" + +#. module: mrp +#: model:product.product,name:mrp.product_product_computer_desk_leg +#: model:product.template,name:mrp.product_product_computer_desk_leg_product_template +msgid "Table Leg" +msgstr "" + +#. module: mrp #: model:ir.model.fields,help:mrp.field_stock_move_is_done #: model:ir.model.fields,help:mrp.field_stock_move_lots_done_move msgid "Technical Field to order moves" @@ -2547,13 +2610,13 @@ msgstr "" #. module: mrp #: code:addons/mrp/models/mrp_bom.py:76 -#: code:addons/mrp/models/mrp_bom.py:222 +#: code:addons/mrp/models/mrp_bom.py:227 #, python-format msgid "The Product Unit of Measure you chose has a different category than in the product form." msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workcenter.py:138 +#: code:addons/mrp/models/mrp_workcenter.py:143 #, python-format msgid "The capacity must be strictly positive." msgstr "" @@ -2631,7 +2694,7 @@ msgid "Time Tracking" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:355 +#: code:addons/mrp/models/mrp_workorder.py:360 #, python-format msgid "Time Tracking: " msgstr "" @@ -2893,29 +2956,12 @@ msgstr "" #. module: mrp #: code:addons/mrp/models/mrp_bom.py:76 -#: code:addons/mrp/models/mrp_bom.py:222 +#: code:addons/mrp/models/mrp_bom.py:227 #, python-format msgid "Warning" msgstr "" #. module: mrp -#: model:ir.model.fields,field_description:mrp.field_report_mrp_inout_date -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load_name -#: model:ir.ui.view,arch_db:mrp.view_workcenter_load_search -msgid "Week" -msgstr "" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree -msgid "Weekly Stock Value Variation" -msgstr "" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree -msgid "Weekly Stock Value Variation enables you to track the stock value evolution linked to manufacturing activities, receipts of products and delivery orders." -msgstr "" - -#. module: mrp #: model:ir.model.fields,help:mrp.field_mrp_bom_picking_type_id msgid "When a procurement has a ‘produce’ route with a picking type set, it will try to create a Manufacturing Order for that product using a BoM of the same picking type. That allows to define procurement rules which trigger different manufacturing orders with different BoMs. " msgstr "" @@ -2932,12 +2978,16 @@ msgid "When products are manufactured, they can be manufactured in this warehous msgstr "" #. module: mrp +#: model:ir.model.fields,help:mrp.field_mrp_routing_workcenter_batch +msgid "Will determine if the next work order will be planned after the previous one or after the first Quantity To Process of the previous one." +msgstr "" + +#. module: mrp #: model:ir.model,name:mrp.model_mrp_workcenter #: model:ir.model.fields,field_description:mrp.field_mrp_message_workcenter_id #: model:ir.model.fields,field_description:mrp.field_mrp_routing_workcenter_workcenter_id #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity_workcenter_id #: model:ir.model.fields,field_description:mrp.field_mrp_workorder_workcenter_id -#: model:ir.model.fields,field_description:mrp.field_report_workcenter_load_workcenter_id #: model:ir.ui.view,arch_db:mrp.mrp_workcenter_tree_view #: model:ir.ui.view,arch_db:mrp.mrp_workcenter_view #: model:ir.ui.view,arch_db:mrp.view_mrp_production_filter @@ -2946,12 +2996,13 @@ msgid "Work Center" msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_report_workcenter_load +#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_workcenter_load msgid "Work Center Load" msgstr "" #. module: mrp -#: model:ir.ui.view,arch_db:mrp.view_workcenter_load_tree +#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_report_graph +#: model:ir.ui.view,arch_db:mrp.view_workcenter_load_pivot msgid "Work Center Loads" msgstr "" @@ -2971,8 +3022,7 @@ msgid "Work Center Usage" msgstr "" #. module: mrp -#: model:ir.ui.view,arch_db:mrp.view_workcenter_load_graph -#: model:ir.ui.view,arch_db:mrp.view_workcenter_load_search +#: model:ir.ui.view,arch_db:mrp.view_work_center_load_graph msgid "Work Center load" msgstr "" @@ -3070,7 +3120,7 @@ msgid "Work Sheet" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_production.py:512 +#: code:addons/mrp/models/mrp_production.py:517 #, python-format msgid "Work order %s is still running" msgstr "" @@ -3146,13 +3196,13 @@ msgid "You can configure by-products in the bill of material.\n" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_production.py:450 +#: code:addons/mrp/models/mrp_production.py:455 #, python-format msgid "You can not cancel production order, a work order is still in progress." msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:226 +#: code:addons/mrp/models/mrp_workorder.py:231 #, python-format msgid "You can not change the finished work order." msgstr "" @@ -3171,43 +3221,49 @@ msgid "You cannot cancel a move move having already consumed material" msgstr "" #. module: mrp -#: code:addons/mrp/wizard/change_production_qty.py:45 +#: code:addons/mrp/wizard/change_production_qty.py:44 #, python-format -msgid "You have already produced %d qty , Please give update quantity more then %d " +msgid "You have already processed %d. Please input a quantity higher than %d " msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:348 +#: code:addons/mrp/models/mrp_workorder.py:353 #, python-format msgid "You need to define at least one productivity loss in the category 'Performance'. Create one from the Manufacturing app, menu: Configuration / Productivity Losses." msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:344 +#: code:addons/mrp/models/mrp_workorder.py:349 #, python-format msgid "You need to define at least one productivity loss in the category 'Productivity'. Create one from the Manufacturing app, menu: Configuration / Productivity Losses." msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:396 +#: code:addons/mrp/models/mrp_workorder.py:401 #, python-format msgid "You need to define at least one unactive productivity loss in the category 'Performance'. Create one from the Manufacturing app, menu: Configuration / Productivity Losses." msgstr "" #. module: mrp -#: code:addons/mrp/wizard/mrp_product_produce.py:95 +#: code:addons/mrp/wizard/mrp_product_produce.py:99 #, python-format msgid "You need to provide a lot for the finished product" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:282 +#: code:addons/mrp/wizard/mrp_product_produce.py:78 +#, python-format +msgid "You should at least produce some quantity" +msgstr "" + +#. module: mrp +#: code:addons/mrp/models/mrp_workorder.py:287 #, python-format msgid "You should provide a lot for a component" msgstr "" #. module: mrp -#: code:addons/mrp/models/mrp_workorder.py:267 +#: code:addons/mrp/models/mrp_workorder.py:272 #, python-format msgid "You should provide a lot for the final product" msgstr "" @@ -3238,6 +3294,11 @@ msgid "last" msgstr "" #. module: mrp +#: model:ir.ui.view,arch_db:mrp.mrp_workcenter_view +msgid "minute(s)" +msgstr "" + +#. module: mrp #: model:ir.ui.view,arch_db:mrp.mrp_production_workcenter_form_view_inherit #: model:ir.ui.view,arch_db:mrp.mrp_routing_workcenter_form_view #: model:ir.ui.view,arch_db:mrp.mrp_workcenter_view @@ -3270,7 +3331,6 @@ msgid "stock.scrap" msgstr "" #. module: mrp -#: model:ir.ui.view,arch_db:mrp.mrp_production_form_view #: model:ir.ui.view,arch_db:mrp.mrp_production_workcenter_form_view_inherit msgid "to" msgstr "" diff --git a/addons/mrp/models/mrp_bom.py b/addons/mrp/models/mrp_bom.py index 0fbc3c030e1..3feb7b498be 100644 --- a/addons/mrp/models/mrp_bom.py +++ b/addons/mrp/models/mrp_bom.py @@ -111,6 +111,11 @@ class MrpBom(models.Model): return self.search(domain, order='sequence, product_id', limit=1) def explode(self, product, quantity, picking_type=False): + """ + Explodes the BoM and creates two lists with all the information you need: bom_done and line_done + Quantity describes the number of times you need the BoM: so the quantity divided by the number created by the BoM + and converted into its UoM + """ boms_done = [(self, {'qty': quantity, 'product': product, 'original_qty': quantity, 'parent_line': False})] lines_done = [] templates_done = product.product_tmpl_id @@ -125,11 +130,11 @@ class MrpBom(models.Model): if current_line.product_id.product_tmpl_id in templates_done: raise UserError(_('Recursion error! A product with a Bill of Material should not have itself in its BoM or child BoMs!')) - line_quantity = current_qty * current_line.product_qty / current_line.bom_id.product_qty + line_quantity = current_qty * current_line.product_qty bom = self._bom_find(product=current_line.product_id, picking_type=picking_type or self.picking_type_id, company_id=self.company_id.id) if bom.type == 'phantom': - converted_line_quantity = current_line.product_uom_id._compute_quantity(line_quantity, bom.product_uom_id) - bom_lines = [(line, current_line.product_id, line_quantity, current_line) for line in bom.bom_line_ids] + bom_lines + converted_line_quantity = current_line.product_uom_id._compute_quantity(line_quantity / bom.product_qty, bom.product_uom_id) + bom_lines = [(line, current_line.product_id, converted_line_quantity, current_line) for line in bom.bom_line_ids] + bom_lines templates_done |= current_line.product_id.product_tmpl_id boms_done.append((bom, {'qty': converted_line_quantity, 'product': current_product, 'original_qty': quantity, 'parent_line': current_line})) else: diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 7d6bc5d881b..d0f5a2f00f4 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -55,7 +55,7 @@ class MrpProduction(models.Model): states={'confirmed': [('readonly', False)]}) product_tmpl_id = fields.Many2one('product.template', 'Product Template', related='product_id.product_tmpl_id') product_qty = fields.Float( - 'Quantity to Produce', + 'Quantity To Produce', default=1.0, digits=dp.get_precision('Product Unit of Measure'), readonly=True, required=True, states={'confirmed': [('readonly', False)]}) @@ -79,12 +79,12 @@ class MrpProduction(models.Model): states={'confirmed': [('readonly', False)]}, help="Location where the system will stock the finished products.") date_planned_start = fields.Datetime( - 'Expected Start Date', copy=False, default=fields.Datetime.now, - index=True, required=True, readonly=True, + 'Deadline Start', copy=False, default=fields.Datetime.now, + index=True, required=True, states={'confirmed': [('readonly', False)]}, oldname="date_planned") date_planned_finished = fields.Datetime( - 'Expected End Date', copy=False, default=fields.Datetime.now, - index=True, readonly=True, + 'Deadline End', copy=False, default=fields.Datetime.now, + index=True, states={'confirmed': [('readonly', False)]}) date_start = fields.Datetime('Start Date', copy=False, index=True, readonly=True) date_finished = fields.Datetime('End Date', copy=False, index=True, readonly=True) @@ -264,7 +264,7 @@ class MrpProduction(models.Model): def _generate_moves(self): for production in self: production._generate_finished_moves() - factor = production.product_uom_id._compute_quantity(production.product_qty, production.bom_id.product_uom_id) + factor = production.product_uom_id._compute_quantity(production.product_qty, production.bom_id.product_uom_id) / production.bom_id.product_qty boms, lines = production.bom_id.explode(production.product_id, factor, picking_type=production.bom_id.picking_type_id) production._generate_raw_moves(lines) # Check for all draft moves whether they are mto or not @@ -311,8 +311,7 @@ class MrpProduction(models.Model): source_location = self.bom_id.routing_id.location_id else: source_location = self.location_src_id - original_quantity = self.product_uom_id._compute_quantity(self.product_qty, self.bom_id.product_uom_id) - + original_quantity = self.product_qty - self.qty_produced data = { 'name': self.name, 'date': self.date_planned_start, @@ -354,14 +353,21 @@ class MrpProduction(models.Model): move.procure_method = 'make_to_order' @api.multi - def _update_raw_move(self, bom_line, quantity, **kw): + def _update_raw_move(self, bom_line, line_data): + quantity = line_data['qty'] self.ensure_one() move = self.move_raw_ids.filtered(lambda x: x.bom_line_id.id == bom_line.id and x.state not in ('done', 'cancel')) if move: - move.write({'product_uom_qty': quantity}) + if quantity > 0: + move[0].write({'product_uom_qty': quantity}) + else: + if move[0].quantity_done > 0: + raise UserError(_('Lines need to be deleted, but can not as you still have some quantities to consume in them. ')) + move[0].action_cancel() + move[0].unlink() return move else: - self._generate_raw_move(bom_line, quantity) + self._generate_raw_move(bom_line, line_data) @api.multi def action_assign(self): @@ -381,7 +387,7 @@ class MrpProduction(models.Model): """ Create work orders. And probably do stuff, like things. """ orders_to_plan = self.filtered(lambda order: order.routing_id and order.state == 'confirmed') for order in orders_to_plan: - quantity = order.product_uom_id._compute_quantity(order.product_qty, order.bom_id.product_uom_id) + quantity = order.product_uom_id._compute_quantity(order.product_qty, order.bom_id.product_uom_id) / order.bom_id.product_qty boms, lines = order.bom_id.explode(order.product_id, quantity, picking_type=order.bom_id.picking_type_id) order._generate_workorders(boms) orders_to_plan.write({'state': 'planned'}) @@ -401,19 +407,18 @@ class MrpProduction(models.Model): BoMs """ workorders = self.env['mrp.workorder'] - qty = bom_data['qty'] + bom_qty = bom_data['qty'] - use_serial = any(product.tracking == 'serial' for product in self.mapped('move_finished_ids.product_id')) - if use_serial: + # Initial qty producing + if self.product_id.tracking == 'serial': quantity = 1.0 else: quantity = self.product_qty - sum(self.move_finished_ids.mapped('quantity_done')) quantity = quantity if (quantity > 0) else 0 - # TDE FIXME: what is qty compared to quantity ?? for operation in bom.routing_id.operation_ids: # create workorder - cycle_number = math.ceil(qty / bom.product_qty / operation.workcenter_id.capacity) # TODO: float_round UP + cycle_number = math.ceil(bom_qty / operation.workcenter_id.capacity) # TODO: float_round UP duration_expected = (operation.workcenter_id.time_start + operation.workcenter_id.time_stop + cycle_number * operation.time_cycle * 100.0 / operation.workcenter_id.time_efficiency) @@ -513,7 +518,7 @@ class MrpProduction(models.Model): self.post_inventory() moves_to_cancel = (self.move_raw_ids | self.move_finished_ids).filtered(lambda x: x.state not in ('done', 'cancel')) moves_to_cancel.action_cancel() - self.write({'state': 'done', 'date_finished': fields.datetime.now()}) + self.write({'state': 'done', 'date_finished': fields.Datetime.now()}) self.env["procurement.order"].search([('production_id', 'in', self.ids)]).check() self.write({'state': 'done'}) diff --git a/addons/mrp/models/mrp_routing.py b/addons/mrp/models/mrp_routing.py index b9effeadd8d..832b0328e89 100644 --- a/addons/mrp/models/mrp_routing.py +++ b/addons/mrp/models/mrp_routing.py @@ -69,6 +69,7 @@ class MrpRoutingWorkcenter(models.Model): batch = fields.Selection([ ('no', 'Once all products are processed'), ('yes', 'Once a minimum number of products is processed')], string='Next Operation', + help="""Will determine if the next work order will be planned after the previous one or after the first Quantity To Process of the previous one.""", default='no', required=True) batch_size = fields.Float('Quantity to Process', default=1.0) workorder_ids = fields.One2many('mrp.workorder', 'operation_id', string="Work Orders") diff --git a/addons/mrp/models/mrp_unbuild.py b/addons/mrp/models/mrp_unbuild.py index 0abd787fbf0..7254101505e 100644 --- a/addons/mrp/models/mrp_unbuild.py +++ b/addons/mrp/models/mrp_unbuild.py @@ -154,8 +154,8 @@ class MrpUnbuild(models.Model): def _generate_produce_moves(self): moves = self.env['stock.move'] for unbuild in self: - factor = unbuild.product_uom_id._compute_quantity(unbuild.product_qty, unbuild.bom_id.product_uom_id) - boms, lines = unbuild.bom_id.explode(unbuild.product_id, factor / unbuild.bom_id.product_qty, picking_type=unbuild.bom_id.picking_type_id) + factor = unbuild.product_uom_id._compute_quantity(unbuild.product_qty, unbuild.bom_id.product_uom_id) / unbuild.bom_id.product_qty + boms, lines = unbuild.bom_id.explode(unbuild.product_id, factor, picking_type=unbuild.bom_id.picking_type_id) for line, line_data in lines: moves += unbuild._generate_move_from_bom_line(line, line_data['qty']) return moves diff --git a/addons/mrp/models/mrp_workcenter.py b/addons/mrp/models/mrp_workcenter.py index 465875cc35b..b47294465ce 100644 --- a/addons/mrp/models/mrp_workcenter.py +++ b/addons/mrp/models/mrp_workcenter.py @@ -42,31 +42,36 @@ class MrpWorkcenter(models.Model): ('done', 'In Progress')], 'Status', compute="_compute_working_state", store=True) blocked_time = fields.Float( 'Blocked Time', compute='_compute_blocked_time', - help='Blocked hours over the last month') + help='Blocked hour(s) over the last month', digits=(16, 2)) productive_time = fields.Float( 'Productive Time', compute='_compute_productive_time', - help='Productive hours over the last month') + help='Productive hour(s) over the last month', digits=(16, 2)) oee = fields.Float(compute='_compute_oee', help='Overall Equipment Effectiveness, based on the last month') oee_target = fields.Float(string='OEE Target', help="OEE Target in percentage", default=90) performance = fields.Integer('Performance', compute='_compute_performance', help='Performance over the last month') + workcenter_load = fields.Float('Work Center Load', compute='_compute_workorder_count') - @api.depends('order_ids.workcenter_id', 'order_ids.state', 'order_ids.date_planned_start') + @api.depends('order_ids.duration_expected', 'order_ids.workcenter_id', 'order_ids.state', 'order_ids.date_planned_start') def _compute_workorder_count(self): MrpWorkorder = self.env['mrp.workorder'] result = {wid: {} for wid in self.ids} + result_duration_expected = {wid: 0 for wid in self.ids} #Count Late Workorder data = MrpWorkorder.read_group([('workcenter_id', 'in', self.ids), ('state', 'in', ('pending', 'ready')), ('date_planned_start', '<', datetime.datetime.now().strftime('%Y-%m-%d'))], ['workcenter_id'], ['workcenter_id']) count_data = dict((item['workcenter_id'][0], item['workcenter_id_count']) for item in data) #Count All, Pending, Ready, Progress Workorder res = MrpWorkorder.read_group( [('workcenter_id', 'in', self.ids)], - ['workcenter_id', 'state'], ['workcenter_id', 'state'], + ['workcenter_id', 'state', 'duration_expected'], ['workcenter_id', 'state'], lazy=False) for res_group in res: result[res_group['workcenter_id'][0]][res_group['state']] = res_group['__count'] + if res_group['state'] in ('pending', 'ready', 'progress'): + result_duration_expected[res_group['workcenter_id'][0]] += res_group['duration_expected'] for workcenter in self: workcenter.workorder_count = sum(count for state, count in result[workcenter.id].items() if state not in ('done', 'cancel')) workcenter.workorder_pending_count = result[workcenter.id].get('pending', 0) + workcenter.workcenter_load = result_duration_expected[workcenter.id] workcenter.workorder_ready_count = result[workcenter.id].get('ready', 0) workcenter.workorder_progress_count = result[workcenter.id].get('progress', 0) workcenter.workorder_late_count = count_data.get(workcenter.id, 0) @@ -94,7 +99,7 @@ class MrpWorkcenter(models.Model): ['duration', 'workcenter_id'], ['workcenter_id'], lazy=False) count_data = dict((item['workcenter_id'][0], item['duration']) for item in data) for workcenter in self: - workcenter.blocked_time = count_data.get(workcenter.id, 0.0) + workcenter.blocked_time = count_data.get(workcenter.id, 0.0) / 60.0 @api.multi def _compute_productive_time(self): @@ -107,15 +112,15 @@ class MrpWorkcenter(models.Model): ['duration', 'workcenter_id'], ['workcenter_id'], lazy=False) count_data = dict((item['workcenter_id'][0], item['duration']) for item in data) for workcenter in self: - workcenter.productive_time = count_data.get(workcenter.id, 0.0) + workcenter.productive_time = count_data.get(workcenter.id, 0.0) / 60.0 @api.depends('blocked_time', 'productive_time') - @api.one def _compute_oee(self): - if self.productive_time: - self.oee = round(self.productive_time * 100.0 / (self.productive_time + self.blocked_time), 2) - else: - self.oee = 0.0 + for order in self: + if order.productive_time: + order.oee = round(order.productive_time * 100.0 / (order.productive_time + order.blocked_time), 2) + else: + order.oee = 0.0 @api.multi def _compute_performance(self): @@ -180,7 +185,7 @@ class MrpWorkcenterProductivity(models.Model): loss_type = fields.Selection( "Effectiveness", related='loss_id.loss_type', store=True) description = fields.Text('Description') - date_start = fields.Datetime('Start Date', default=fields.Datetime.now(), required=True) + date_start = fields.Datetime('Start Date', default=fields.Datetime.now, required=True) date_end = fields.Datetime('End Date') duration = fields.Float('Duration', compute='_compute_duration', store=True) diff --git a/addons/mrp/models/mrp_workorder.py b/addons/mrp/models/mrp_workorder.py index ad21f3309c1..920d8b0bc4c 100644 --- a/addons/mrp/models/mrp_workorder.py +++ b/addons/mrp/models/mrp_workorder.py @@ -121,6 +121,7 @@ class MrpWorkorder(models.Model): next_work_order_id = fields.Many2one('mrp.workorder', "Next Work Order") scrap_ids = fields.One2many('stock.scrap', 'workorder_id') scrap_count = fields.Integer(compute='_compute_scrap_move_count', string='Scrap Move') + production_date = fields.Datetime('Production Date', related='production_id.date_planned_start', store=True) color = fields.Integer('Color', compute='_compute_color') capacity = fields.Float( 'Capacity', default=1.0, @@ -213,11 +214,15 @@ class MrpWorkorder(models.Model): for move_lot in move_lots: if qty_todo <= 0: break - if move_lot.quantity_done == 0 and qty_todo > move_lot.quantity: + if not move_lot.lot_id and qty_todo >= move_lot.quantity: qty_todo = qty_todo - move_lot.quantity self.active_move_lot_ids -= move_lot # Difference operator else: move_lot.quantity = move_lot.quantity - qty_todo + if move_lot.quantity_done - qty_todo > 0: + move_lot.quantity_done = move_lot.quantity_done - qty_todo + else: + move_lot.quantity_done = 0 qty_todo = 0 @api.multi diff --git a/addons/mrp/models/product.py b/addons/mrp/models/product.py index b4e46fda938..c3f457adb56 100644 --- a/addons/mrp/models/product.py +++ b/addons/mrp/models/product.py @@ -29,11 +29,8 @@ class ProductTemplate(models.Model): def action_view_mos(self): product_ids = self.mapped('product_variant_ids').ids action = self.env.ref('mrp.act_product_mrp_production').read()[0] - if len(self) == 1 and len(product_ids) == 1: - action['context'] = {'default_product_id': product_ids[0], 'search_default_product_id': product_ids[0]} - else: - action['domain'] = [('product_id', 'in', product_ids)] - action['context'] = {} + action['domain'] = [('product_id', 'in', product_ids)] + action['context'] = {} return action diff --git a/addons/mrp/models/stock_move.py b/addons/mrp/models/stock_move.py index e3dd9e07994..5c539195444 100644 --- a/addons/mrp/models/stock_move.py +++ b/addons/mrp/models/stock_move.py @@ -165,31 +165,70 @@ class StockMove(models.Model): return True @api.multi + def _create_extra_move(self): + ''' Creates an extra move if necessary depending on extra quantities than foreseen or extra moves''' + self.ensure_one() + quantity_to_split = 0 + extra_move = self.env['stock.move'] + rounding = self.product_uom.rounding + link_procurement = False + if self.procurement_id and self.production_id and float_compare(self.production_id.qty_produced, self.procurement_id.product_qty, precision_rounding=rounding) > 0: + done_moves_total = sum(self.production_id.move_finished_ids.filtered(lambda x: x.product_id == self.product_id and x.state == 'done').mapped('product_uom_qty')) + if float_compare(done_moves_total, self.procurement_id.product_qty, precision_rounding=rounding) >= 0: + quantity_to_split = 0 + self.product_uom_qty = self.quantity_done #TODO: could change qty on move_dest_id also (in case of 2-step in/out) + else: + quantity_to_split = done_moves_total + self.quantity_done - self.procurement_id.product_qty + elif float_compare(self.quantity_done, self.product_uom_qty, precision_rounding=rounding) > 0: + quantity_to_split = self.quantity_done - self.product_uom_qty + link_procurement = True + if quantity_to_split: + extra_move = self.copy(default={'quantity_done': quantity_to_split, 'product_uom_qty': quantity_to_split, 'production_id': self.production_id.id, + 'raw_material_production_id': self.raw_material_production_id.id, + 'procurement_id': link_procurement and self.procurement_id.id or False}) + extra_move.action_confirm() + if self.has_tracking != 'none': + qty_todo = self.quantity_done - quantity_to_split + for movelot in self.move_lot_ids.filtered(lambda x: x.done_wo): + if movelot.quantity_done and movelot.done_wo: + if float_compare(qty_todo, movelot.quantity_done, precision_rounding=rounding) >= 0: + qty_todo -= movelot.quantity_done + elif float_compare(qty_todo, 0, precision_rounding=rounding) > 0: + #split + remaining = movelot.quantity_done - qty_todo + movelot.quantity_done = qty_todo + movelot.copy(default={'move_id': extra_move.id, 'quantity_done': remaining}) + qty_todo = 0 + else: + movelot.move_id = extra_move.id + else: + self.quantity_done = self.product_uom_qty + self.product_uom_qty = self.quantity_done - quantity_to_split + return extra_move + + @api.multi def move_validate(self): ''' Validate moves based on a production order. ''' moves = self._filter_closed_moves() quant_obj = self.env['stock.quant'] moves_todo = self.env['stock.move'] moves_to_unreserve = self.env['stock.move'] + # Create extra moves where necessary for move in moves: rounding = move.product_uom.rounding if float_compare(move.quantity_done, 0.0, precision_rounding=rounding) <= 0: continue moves_todo |= move - if float_compare(move.quantity_done, move.product_uom_qty, precision_rounding=rounding) > 0: - remaining_qty = move.quantity_done - move.product_uom_qty # In UoM of move - extra_move = move.copy(default={'quantity_done': remaining_qty, 'product_uom_qty': remaining_qty, 'production_id': move.production_id.id, - 'raw_material_production_id': move.raw_material_production_id.id}) - move.quantity_done = move.product_uom_qty - extra_move.action_confirm() - moves_todo |= extra_move + moves_todo |= move._create_extra_move() + # Split moves where necessary and move quants for move in moves_todo: - if float_compare(move.quantity_done, move.product_uom_qty, precision_rounding=rounding): + rounding = move.product_uom.rounding + if float_compare(move.quantity_done, move.product_uom_qty, precision_rounding=rounding) < 0: # Need to do some kind of conversion here qty_split = move.product_uom._compute_quantity(move.product_uom_qty - move.quantity_done, move.product_id.uom_id) new_move = move.split(qty_split) # If you were already putting stock.move.lots on the next one in the work order, transfer those to the new move - move.move_lot_ids.filtered(lambda x: not x.done_wo).write({'move_id': new_move}) + move.move_lot_ids.filtered(lambda x: not x.done_wo or x.quantity_done == 0.0).write({'move_id': new_move}) self.browse(new_move).quantity_done = 0.0 main_domain = [('qty', '>', 0)] preferred_domain = [('reservation_id', '=', move.id)] diff --git a/addons/mrp/models/stock_scrap.py b/addons/mrp/models/stock_scrap.py index b78b896c8f0..b672176636b 100644 --- a/addons/mrp/models/stock_scrap.py +++ b/addons/mrp/models/stock_scrap.py @@ -41,6 +41,7 @@ class StockScrap(models.Model): def _prepare_move_values(self): vals = super(StockScrap, self)._prepare_move_values() if self.production_id: + vals['origin'] = vals['origin'] or self.production_id.name if self.product_id in self.production_id.move_finished_ids.mapped('product_id'): vals.update({'production_id': self.production_id.id}) else: diff --git a/addons/mrp/report/__init__.py b/addons/mrp/report/__init__.py index a3ba4a1f517..ecdaf9eb691 100644 --- a/addons/mrp/report/__init__.py +++ b/addons/mrp/report/__init__.py @@ -3,4 +3,3 @@ import mrp_bom_cost_report import mrp_bom_structure_report -import mrp_report
\ No newline at end of file diff --git a/addons/mrp/report/mrp_report.py b/addons/mrp/report/mrp_report.py deleted file mode 100644 index 0d8dc1bb32c..00000000000 --- a/addons/mrp/report/mrp_report.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models -from odoo.tools import drop_view_if_exists - -class WorkCenterLoad(models.Model): - _name = "report.workcenter.load" - _description = "Work Center Load" - _auto = False - _log_access = False - - name = fields.Char('Week', required=True) - workcenter_id = fields.Many2one('mrp.workcenter', 'Work Center', required=True) - duration = fields.Float('Duration') - - @api.model_cr - def init(self): - drop_view_if_exists(self._cr, 'report_workcenter_load') - self._cr.execute(""" - create view report_workcenter_load as ( - SELECT - min(wl.id) as id, - to_char(p.date_planned_start,'YYYY:mm:dd') as name, - SUM(wl.duration_expected) AS duration, - wl.workcenter_id as workcenter_id - FROM - mrp_workorder wl - LEFT JOIN mrp_production p - ON p.id = wl.production_id - GROUP BY - wl.workcenter_id, - to_char(p.date_planned_start,'YYYY:mm:dd') - )""") - - -class ValueVariation(models.Model): - _name = "report.mrp.inout" - _description = "Stock value variation" - _auto = False - _log_access = False - _rec_name = 'date' - - date = fields.Char('Week', required=True) - value = fields.Float('Stock value', required=True, digits=(16, 2)) - company_id = fields.Many2one('res.company', 'Company', required=True) - - @api.model_cr - def init(self): - drop_view_if_exists(self._cr, 'report_mrp_inout') - self._cr.execute(""" - create view report_mrp_inout as ( - select - min(sm.id) as id, - to_char(sm.date,'YYYY:IW') as date, - sum(case when (sl.usage='internal') then - sm.price_unit * sm.product_qty - else - 0.0 - end - case when (sl2.usage='internal') then - sm.price_unit * sm.product_qty - else - 0.0 - end) as value, - sm.company_id - from - stock_move sm - left join product_product pp - on (pp.id = sm.product_id) - left join product_template pt - on (pt.id = pp.product_tmpl_id) - left join stock_location sl - on ( sl.id = sm.location_id) - left join stock_location sl2 - on ( sl2.id = sm.location_dest_id) - where - sm.state = 'done' - group by - to_char(sm.date,'YYYY:IW'), sm.company_id - )""") diff --git a/addons/mrp/report/mrp_report_views.xml b/addons/mrp/report/mrp_report_views.xml deleted file mode 100644 index 3be954d9e7d..00000000000 --- a/addons/mrp/report/mrp_report_views.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - - <record id="view_workcenter_load_tree" model="ir.ui.view"> - <field name="name">report.workcenter.load.tree</field> - <field name="model">report.workcenter.load</field> - <field name="arch" type="xml"> - <tree string="Work Center Loads"> - <field name="name"/> - <field name="workcenter_id"/> - <field name="duration"/> - </tree> - </field> - </record> - - <record id="view_workcenter_load_graph" model="ir.ui.view"> - <field name="name">report.workcenter.load.graph</field> - <field name="model">report.workcenter.load</field> - <field name="arch" type="xml"> - <graph string="Work Center load" type="bar"> - <field name="name"/> - <field name="duration" operator="+"/> - <field group="True" name="workcenter_id"/> - </graph> - </field> - </record> - - <record id="view_workcenter_load_search" model="ir.ui.view"> - <field name="name">report.workcenter.load.search</field> - <field name="model">report.workcenter.load</field> - <field name="arch" type="xml"> - <search string="Work Center load"> - <field name="name" string="Week"/> - <field name="workcenter_id"/> - </search> - </field> - </record> - - <!-- stock.move compared to internal location src/dest --> - - <record id="view_report_in_out_picking_tree" model="ir.ui.view"> - <field name="name">report.mrp.inout.tree</field> - <field name="model">report.mrp.inout</field> - <field name="arch" type="xml"> - <tree string="Stock value variation"> - <field name="company_id" groups="base.group_multi_company"/> - <field name="date"/> - <field name="value"/> - </tree> - </field> - </record> - - <record id="view_report_in_out_picking_form" model="ir.ui.view"> - <field name="name">report.mrp.inout.form</field> - <field name="model">report.mrp.inout</field> - <field name="arch" type="xml"> - <form string="Stock value variation"> - <group col="4"> - <field name="date"/> - <field name="value"/> - <field name="company_id" groups="base.group_multi_company"/> - </group> - </form> - </field> - </record> - - - <record id="view_report_in_out_picking_graph" model="ir.ui.view"> - <field name="name">report.mrp.inout.graph</field> - <field name="model">report.mrp.inout</field> - <field name="arch" type="xml"> - <graph string="Stock value variation" type="bar"> - <field name="company_id" groups="base.group_multi_company"/> - <field name="date"/> - <field name="value" operator="+"/> - </graph> - </field> - </record> - - <record id="action_report_in_out_picking_tree" model="ir.actions.act_window"> - <field name="name">Weekly Stock Value Variation</field> - <field name="res_model">report.mrp.inout</field> - <field name="view_type">form</field> - <field name="view_mode">graph,tree</field> - <field name="help">Weekly Stock Value Variation enables you to track the stock value evolution linked to manufacturing activities, receipts of products and delivery orders.</field> - </record> - - </data> -</odoo> diff --git a/addons/mrp/security/ir.model.access.csv b/addons/mrp/security/ir.model.access.csv index 1b830c5a283..d8604858dfc 100644 --- a/addons/mrp/security/ir.model.access.csv +++ b/addons/mrp/security/ir.model.access.csv @@ -21,8 +21,6 @@ access_stock_picking_mrp_worker,stock.picking mrp_worker,stock.model_stock_picki access_stock_warehouse,stock.warehouse mrp_worker,stock.model_stock_warehouse,mrp.group_mrp_user,1,0,0,0 access_procurement_user,procurement.order.user,model_procurement_order,base.group_user,1,1,1,1 access_mrp_production_stock_worker,mrp.production stock_worker,model_mrp_production,stock.group_stock_user,1,0,0,0 -access_report_workcenter_load,report.workcenter.load,model_report_workcenter_load,mrp.group_mrp_manager,1,1,1,1 -access_report_mrp_inout,report.mrp.inout,model_report_mrp_inout,mrp.group_mrp_manager,1,1,1,1 access_product_product_user,product.product user,product.model_product_product,mrp.group_mrp_user,1,0,0,0 access_product_template_user,product.template user,product.model_product_template,mrp.group_mrp_user,1,0,0,0 access_product_price_history_mrp_manager,product.price.history.mrp.manager,product.model_product_price_history,mrp.group_mrp_manager,1,1,1,1 @@ -44,8 +42,6 @@ access_stock_move_mrp_manager,stock.move mrp_manager,stock.model_stock_move,mrp. access_stock_production_lot_user,stock.production.lot,stock.model_stock_production_lot,mrp.group_mrp_user,1,1,1,1 access_stock_warehouse_orderpoint_user,stock.warehouse.orderpoint,stock.model_stock_warehouse_orderpoint,mrp.group_mrp_user,1,0,0,0 access_stock_picking_mrp_manager,stock.picking mrp_manager,stock.model_stock_picking,mrp.group_mrp_manager,1,0,0,0 -access_report_mrp_inout_user,report.mrp.inout user,model_report_mrp_inout,mrp.group_mrp_user,1,0,0,0 -access_report_workcenter_load_user,report.workcenter.load.user,model_report_workcenter_load,mrp.group_mrp_user,1,0,0,0 access_mrp_bom_stockuser,mrp.bom,model_mrp_bom,stock.group_stock_user,1,0,0,0 access_mrp_bom_line_stockuser,mrp.bom.line,model_mrp_bom_line,stock.group_stock_user,1,0,0,0 access_product_uom_categ_mrp_manager,product.uom.categ mrp_manager,product.model_product_uom_categ,mrp.group_mrp_manager,1,1,1,1 diff --git a/addons/mrp/static/img/assebly-worksheet.jpg b/addons/mrp/static/img/assebly-worksheet.jpg Binary files differdeleted file mode 100644 index 8d2e4b65440..00000000000 --- a/addons/mrp/static/img/assebly-worksheet.jpg +++ /dev/null diff --git a/addons/mrp/static/img/assebly-worksheet.pdf b/addons/mrp/static/img/assebly-worksheet.pdf Binary files differnew file mode 100644 index 00000000000..c5975da4a5d --- /dev/null +++ b/addons/mrp/static/img/assebly-worksheet.pdf diff --git a/addons/mrp/static/img/cutting-worksheet.jpg b/addons/mrp/static/img/cutting-worksheet.jpg Binary files differdeleted file mode 100644 index 3ecc631c4a6..00000000000 --- a/addons/mrp/static/img/cutting-worksheet.jpg +++ /dev/null diff --git a/addons/mrp/static/img/cutting-worksheet.pdf b/addons/mrp/static/img/cutting-worksheet.pdf Binary files differnew file mode 100644 index 00000000000..a6bbd4ebe39 --- /dev/null +++ b/addons/mrp/static/img/cutting-worksheet.pdf diff --git a/addons/mrp/static/img/drill-worksheet.jpg b/addons/mrp/static/img/drill-worksheet.jpg Binary files differdeleted file mode 100644 index 27c62c2b894..00000000000 --- a/addons/mrp/static/img/drill-worksheet.jpg +++ /dev/null diff --git a/addons/mrp/static/img/drill-worksheet.pdf b/addons/mrp/static/img/drill-worksheet.pdf Binary files differnew file mode 100644 index 00000000000..86d58a6cd2f --- /dev/null +++ b/addons/mrp/static/img/drill-worksheet.pdf diff --git a/addons/mrp/static/src/js/mrp.js b/addons/mrp/static/src/js/mrp.js index 1f1a42f1950..3c94517173c 100644 --- a/addons/mrp/static/src/js/mrp.js +++ b/addons/mrp/static/src/js/mrp.js @@ -5,6 +5,8 @@ var core = require('web.core'); var common = require('web.form_common'); var Model = require('web.Model'); var time = require('web.time'); +var utils = require('web.utils'); +var FieldBinaryFile = core.form_widget_registry.get('binary'); var _t = core._t; @@ -72,6 +74,74 @@ var TimeCounter = common.AbstractField.extend(common.ReinitializeFieldMixin, { }, }); +var FieldPdfViewer = FieldBinaryFile.extend({ + template: 'FieldPdfViewer', + init: function(){ + this._super.apply(this, arguments); + this.PDFViewerApplication = false; + }, + get_uri: function(){ + var query_obj = { + model: this.view.dataset.model, + field: this.name, + id: this.view.datarecord.id + }; + var query_string = $.param(query_obj); + var url = encodeURIComponent('/web/image?' + query_string); + var viewer_url = '/web/static/lib/pdfjs/web/viewer.html?file='; + return viewer_url + url; + }, + on_file_change: function(ev) { + this._super.apply(this, arguments); + if(this.PDFViewerApplication){ + var files = ev.target.files; + if (!files || files.length === 0) { + return; + } + var file = files[0]; + // TOCheck: is there requirement to fallback on FileReader if browser don't support URL + this.PDFViewerApplication.open(URL.createObjectURL(file), 0); + } + }, + render_value: function() { + var $pdf_viewer = this.$('.o_form_pdf_controls').children().add(this.$('.o_pdfview_iframe')), + $select_upload_el = this.$('.o_select_file_button').first(), + $iFrame = this.$('.o_pdfview_iframe'), + value = this.get('value'), + self = this; + + var bin_size = utils.is_bin_size(value); + $iFrame.on('load', function(){ + self.PDFViewerApplication = this.contentWindow.window.PDFViewerApplication; + self.disable_buttons(this); + }); + if (this.get("effective_readonly")) { + if (value) { + this.$el.off('click'); // off click event(on_save_as) of FieldBinaryFile + $iFrame.attr('src', this.get_uri()); + } + } else { + if (value) { + $pdf_viewer.removeClass('o_hidden'); + $select_upload_el.addClass('o_hidden'); + if(bin_size){ + $iFrame.attr('src', this.get_uri()); + } + } else { + $pdf_viewer.addClass('o_hidden'); + $select_upload_el.removeClass('o_hidden'); + } + } + }, + disable_buttons: function(iframe){ + if (this.get("effective_readonly")){ + $(iframe).contents().find('button#download').hide(); + } + $(iframe).contents().find('button#openFile').hide(); + } + +}); core.form_widget_registry.add('bullet_state', SetBulletStatus) - .add('mrp_time_counter', TimeCounter); + .add('mrp_time_counter', TimeCounter) + .add('pdf_viewer', FieldPdfViewer); }); diff --git a/addons/mrp/static/src/less/mrp.less b/addons/mrp/static/src/less/mrp.less new file mode 100644 index 00000000000..e6acf64b9fc --- /dev/null +++ b/addons/mrp/static/src/less/mrp.less @@ -0,0 +1,8 @@ +.o_form_view { + .o_form_field_pdfviewer { + width: 100%; + height: 450px; + border: 0; + margin-top: 10px; + } +} diff --git a/addons/mrp/static/src/xml/mrp.xml b/addons/mrp/static/src/xml/mrp.xml new file mode 100644 index 00000000000..7f86a6a20dd --- /dev/null +++ b/addons/mrp/static/src/xml/mrp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates id="template" xml:space="preserve"> + <t t-name="FieldPdfViewer"> + <div class="o_form_field_pdfviewer"> + <div t-if="!widget.get('effective_readonly')" class="o_form_pdf_controls mt8"> + <span class="o_form_binary_progress">Uploading...</span> + <button type="button" class="btn btn-sm btn-primary o_select_file_button" title="Select">Upload your file</button> + <button class="btn btn-sm btn-default fa fa-pencil o_select_file_button" title="Select" type="button"></button> + <button class="btn btn-sm btn-default fa fa-trash-o o_clear_file_button" title="Clear" type="button"></button> + </div> + <iframe class="o_pdfview_iframe o_form_field_pdfviewer"/> + <t t-call="HiddenInputPDFFile"> + <t t-set="fileupload_id" t-value="widget.fileupload_id"/> + <t t-set="fileupload_style" t-translation="off">overflow-x: hidden</t> + </t> + </div> + </t> + <t t-extend="HiddenInputFile" t-name="HiddenInputPDFFile"> + <t t-jquery="input[type='file']:first" t-operation="replace"> + <input type="file" class="o_form_input_file" name="ufile" accept="application/pdf" /> + </t> + </t> +</templates> diff --git a/addons/mrp/views/mrp_bom_views.xml b/addons/mrp/views/mrp_bom_views.xml index 07b851d168d..45e7d7cc842 100644 --- a/addons/mrp/views/mrp_bom_views.xml +++ b/addons/mrp/views/mrp_bom_views.xml @@ -48,7 +48,7 @@ <field name="product_qty"/> <field name="product_uom_id" options="{'no_open':True,'no_create':True}" groups="product.group_uom"/> <field name="attribute_value_ids" widget="many2many_tags" domain="[('product_ids.product_tmpl_id', '=', parent.product_tmpl_id)]" groups="product.group_product_variant"/> - <field name="operation_id" groups="mrp.group_mrp_routings" domain="[('routing_id', '=', parent.routing_id)]"/> + <field name="operation_id" groups="mrp.group_mrp_routings" domain="[('routing_id', '=', parent.routing_id)]" options="{'no_quick_create':True,'no_create_edit':True}"/> </tree> </field> </page> @@ -78,6 +78,7 @@ <field name="arch" type="xml"> <tree string="Bill of Materials" default_order="product_tmpl_id"> <field name="active" invisible="1"/> + <field name="sequence" invisible="1"/> <field name="product_tmpl_id"/> <field name="code"/> <field name="product_id" groups="product.group_product_variant"/> diff --git a/addons/mrp/views/mrp_production_views.xml b/addons/mrp/views/mrp_production_views.xml index ed1284cf2c8..003e703818a 100644 --- a/addons/mrp/views/mrp_production_views.xml +++ b/addons/mrp/views/mrp_production_views.xml @@ -48,8 +48,8 @@ <button name="button_mark_done" attrs="{'invisible': [('check_to_done', '=', False)]}" string="Mark as Done" type="object" class="oe_highlight"/> <button name="action_assign" attrs="{'invisible': [('availability', 'in', ('assigned', 'none'))]}" string="Check availability" type="object" class="oe_highlight"/> <button name="button_plan" attrs="{'invisible': ['|', ('state', '!=', 'confirmed'), ('routing_id', '=', False)]}" type="object" string="Create Workorders" class="oe_highlight"/> - <button name="open_produce_product" attrs="{'invisible': ['|', '|', ('availability', 'not in', ['partially_available', 'assigned']), ('state', 'not in', ('confirmed','progress')), ('routing_id', '!=', False)]}" string="Produce" type="object" class="oe_highlight"/> - <button name="open_produce_product" attrs="{'invisible': ['|', '|', ('availability', '!=', 'waiting'), ('state', 'not in', ('confirmed','progress')), ('routing_id', '!=', False)]}" string="Produce" type="object"/> + <button name="open_produce_product" attrs="{'invisible': ['|', '|', '|', ('check_to_done', '=', True), ('availability', 'not in', ['partially_available', 'assigned']), ('state', 'not in', ('confirmed','progress')), ('routing_id', '!=', False)]}" string="Produce" type="object" class="oe_highlight"/> + <button name="open_produce_product" attrs="{'invisible': ['|', '|', '|', ('check_to_done', '=', True), ('availability', '!=', 'waiting'), ('state', 'not in', ('confirmed','progress')), ('routing_id', '!=', False)]}" string="Produce" type="object"/> <button name="post_inventory" string="Post Inventory" type="object" class="oe_highlight" attrs="{'invisible': [('post_visible', '=', False)]}"/> <button name="action_cancel" type="object" string="Cancel" attrs="{'invisible': ['|', ('state', 'in', ('done','cancel')), ('check_to_done', '=', True)]}"/> <button name="button_scrap" type="object" string="Scrap" attrs="{'invisible': ['|', ('availability', '=', 'none'), ('state', 'in', ('cancel'))]}"/> @@ -66,7 +66,7 @@ <span class="o_stat_text">Work Orders</span> </div> </button> - <button name="%(action_mrp_production_moves)d" type="action" string="Inventory Moves" class="oe_stat_button" icon="fa-arrows-v" attrs="{'invisible': [('state', 'not in', ('progress', 'done'))]}"/> + <button name="%(action_mrp_production_moves)d" type="action" string="Inventory Moves" class="oe_stat_button" icon="fa-arrows-v" attrs="{'invisible': [('state', 'not in', ('progress', 'cancel', 'done'))]}"/> <button class="oe_stat_button" name="action_see_move_scrap" type="object" icon="fa-arrows-v" attrs="{'invisible': [('scrap_count', '=', 0)]}"> <div class="o_form_field o_stat_info"> <span class="o_stat_value"><field name="scrap_count"/></span> @@ -103,14 +103,10 @@ <field name="routing_id" groups="mrp.group_mrp_routings"/> </group> <group> - <label for="date_planned_start_wo" string="Expected Date"/> - <div name="date_planned" class="o_row"> - <field name="date_planned_start" attrs="{'readonly': [('move_raw_ids', '!=', False)]}"/> - <label string="to" attrs="{'invisible': [('date_planned_finished', '=', False)]}"/> - <field name="date_planned_finished" attrs="{'readonly': [('move_raw_ids', '!=', False)]}"/> - </div> - <field name="user_id" attrs="{'readonly': [('has_moves', '=', True)]}"/> - <field name="origin" attrs="{'readonly': [('has_moves', '=', True)]}"/> + <field name="date_planned_start"/> + <field name="date_planned_finished" invisible="1"/> + <field name="user_id"/> + <field name="origin"/> <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" attrs="{'readonly': [('has_moves', '=', True)]}"/> </group> </group> diff --git a/addons/mrp/views/mrp_routing_views.xml b/addons/mrp/views/mrp_routing_views.xml index 457ab131718..d2ab573944a 100644 --- a/addons/mrp/views/mrp_routing_views.xml +++ b/addons/mrp/views/mrp_routing_views.xml @@ -47,7 +47,7 @@ <field name="note"/> </page> <page string="Work Sheet"> - <field name="worksheet" widget="image"/> + <field name="worksheet" widget="pdf_viewer"/> </page> </notebook> </sheet> diff --git a/addons/mrp/views/mrp_templates.xml b/addons/mrp/views/mrp_templates.xml index 0ab68e6f9f9..7cf706e0bf4 100644 --- a/addons/mrp/views/mrp_templates.xml +++ b/addons/mrp/views/mrp_templates.xml @@ -3,6 +3,7 @@ <template id="assets_backend" name="mrp assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <script type="text/javascript" src="/mrp/static/src/js/mrp.js"></script> + <link rel="stylesheet" type="text/less" href="/mrp/static/src/less/mrp.less"/> </xpath> </template> diff --git a/addons/mrp/views/mrp_workcenter_views.xml b/addons/mrp/views/mrp_workcenter_views.xml index 3947ea11dde..e990d94d21c 100644 --- a/addons/mrp/views/mrp_workcenter_views.xml +++ b/addons/mrp/views/mrp_workcenter_views.xml @@ -271,6 +271,12 @@ <span class="o_stat_text">Lost</span> </div> </button> + <button name="%(action_mrp_workcenter_load_report_graph)d" type="action" class="oe_stat_button" icon="fa-bar-chart" context="{'search_default_workcenter_id': active_id}"> + <div class="o_form_field o_stat_info"> + <span class="o_stat_value"><field name="workcenter_load" widget="statinfo" nolabel="1"/> minute(s)</span> + <span class="o_stat_text">Work Center Load</span> + </div> + </button> <button name="%(mrp_workorder_report)d" type="action" class="oe_stat_button" icon="fa-bar-chart" context="{'search_default_workcenter_id': active_id, 'search_default_thisyear': True}"> <div class="o_form_field o_stat_info"> <span class="o_stat_value"><field name="performance" widget="statinfo" nolabel="1"/>%</span> @@ -511,7 +517,7 @@ <field name="workcenter_id"/> <field name="user_id"/> <field name="loss_id"/> - <field name="duration" string="Duration (hours)" sum="Duration"/> + <field name="duration" string="Duration (minutes)" sum="Duration"/> </tree> </field> </record> diff --git a/addons/mrp/views/mrp_workorder_views.xml b/addons/mrp/views/mrp_workorder_views.xml index cafcc0f6a53..c82e6e39ce8 100644 --- a/addons/mrp/views/mrp_workorder_views.xml +++ b/addons/mrp/views/mrp_workorder_views.xml @@ -100,7 +100,7 @@ <button name="button_finish" type="object" string="Finish Order" attrs="{'invisible': ['|', ('state', '!=', 'progress'), ('is_produced', '=', False)]}" class="btn-info"/> <button name="button_start" type="object" string="Start Working" attrs="{'invisible': ['|', ('working_state', '=', 'blocked'), ('state', '!=', 'pending')]}"/> <button name="button_start" type="object" string="Start Working" attrs="{'invisible': ['|', ('working_state', '=', 'blocked'), ('state', '!=', 'ready')]}" class="btn-success"/> - <button name="record_production" type="object" string="Done" class="btn-success" attrs="{'invisible': ['|', '|', ('working_state', '=', 'blocked'), ('state', '!=', 'progress'), ('is_user_working', '=', False)]}"/> + <button name="record_production" type="object" string="Done" class="btn-success" attrs="{'invisible': ['|', '|', '|', ('is_produced', '=', True), ('working_state', '=', 'blocked'), ('state', '!=', 'progress'), ('is_user_working', '=', False)]}"/> <button name="button_pending" type="object" string="Pause" class="btn-warning" attrs="{'invisible': ['|', '|', ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'pending', 'ready', 'cancel')), ('is_user_working', '=', False)]}"/> <button name="%(act_mrp_block_workcenter_wo)d" type="action" context="{'default_workcenter_id': workcenter_id}" string="Block" class="btn-danger" attrs="{'invisible': ['|', '|', ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'pending', 'ready', 'cancel')), ('is_user_working', '=', False)]}"/> <button name="button_unblock" type="object" string="Unblock" class="btn-danger" attrs="{'invisible': [('working_state', '!=', 'blocked')]}"/> @@ -140,7 +140,7 @@ </group> <notebook> <page string="Work Instruction" attrs="{'invisible': [('worksheet', '=', False)]}"> - <field name="worksheet" widget="image"/> + <field name="worksheet" widget="pdf_viewer"/> </page> <page string="Current Production"> <group> @@ -157,6 +157,7 @@ <field name="quantity" readonly="1"/> <field name="lot_id" context="{'default_product_id': product_id}"/> <field name="quantity_done"/> + <field name="move_id" invisible="1"/> <field name="done_wo" invisible="1"/> </tree> </field> @@ -419,4 +420,43 @@ </p> </field> </record> + + <record id="view_workcenter_load_pivot" model="ir.ui.view"> + <field name="name">report.workcenter.load.pivot</field> + <field name="model">mrp.workorder</field> + <field name="arch" type="xml"> + <pivot string="Work Center Loads"> + <field name="duration_expected" type="measure"/> + <field name="workcenter_id" type="row"/> + <field name="production_date" type="row" interval="day"/> + </pivot> + </field> + </record> + + <record id="view_work_center_load_graph" model="ir.ui.view"> + <field name="name">report.workcenter.load.graph</field> + <field name="model">mrp.workorder</field> + <field name="arch" type="xml"> + <graph string="Work Center load" type="bar"> + <field name="production_date" interval="day"/> + <field name="workcenter_id"/> + <field name="duration_expected" type="measure"/> + </graph> + </field> + </record> + + <record id="action_mrp_workcenter_load_report_graph" model="ir.actions.act_window"> + <field name="name">Work Center Loads</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">mrp.workorder</field> + <field name="view_type">form</field> + <field name="view_mode">pivot,graph</field> + <field name="view_id" ref="view_workcenter_load_pivot"/> + </record> + + <record id="action_mrp_workcenter_load_report_pivot" model="ir.actions.act_window.view"> + <field name="view_mode">graph</field> + <field name="view_id" ref="view_work_center_load_graph"/> + <field name="act_window_id" ref="action_mrp_workcenter_load_report_graph"/> + </record> </odoo>
\ No newline at end of file diff --git a/addons/mrp/wizard/__init__.py b/addons/mrp/wizard/__init__.py index 956e2a72109..50258a9f61f 100644 --- a/addons/mrp/wizard/__init__.py +++ b/addons/mrp/wizard/__init__.py @@ -3,4 +3,3 @@ import mrp_product_produce import change_production_qty -import stock_move_consume diff --git a/addons/mrp/wizard/change_production_qty.py b/addons/mrp/wizard/change_production_qty.py index 254a13813f0..de98b052a81 100644 --- a/addons/mrp/wizard/change_production_qty.py +++ b/addons/mrp/wizard/change_production_qty.py @@ -13,7 +13,7 @@ class ChangeProductionQty(models.TransientModel): # TDE FIXME: add production_id field mo_id = fields.Many2one('mrp.production', 'Manufacturing Order', required=True) product_qty = fields.Float( - 'Product Qty', + 'Quantity To Produce', digits=dp.get_precision('Product Unit of Measure'), required=True) @api.model @@ -37,32 +37,41 @@ class ChangeProductionQty(models.TransientModel): @api.multi def change_prod_qty(self): - MrpBom = self.env['mrp.bom'] for wizard in self: production = wizard.mo_id produced = sum(production.move_finished_ids.mapped('quantity_done')) if wizard.product_qty < produced: - raise UserError(_("You have already produced %d qty , Please give update quantity more then %d ")%(produced, produced)) + raise UserError(_("You have already processed %d. Please input a quantity higher than %d ")%(produced, produced)) production.write({'product_qty': wizard.product_qty}) - #production.action_compute() - #TODO: Do we still need to change the quantity of a production order? - production_move = production.move_finished_ids.filtered(lambda x : x.state not in ('done', 'cancel') and production.product_id.id == x.product_id.id) - for move in production.move_raw_ids: - bom_point = production.bom_id - # TDE FIXME: this is not the place to do that kind of computation, please - if not bom_point: - bom_point = MrpBom._bom_find(product=production.product_id, picking_type=production.picking_type_id) - if not bom_point: - raise UserError(_("Cannot find bill of material for this production.")) - production.write({'bom_id': bom_point.id}) - if not bom_point: - raise UserError(_("Cannot find bill of material for this production.")) - factor = (production.product_qty - production.qty_produced) * production.product_uom_id.factor / bom_point.product_uom_id.factor - boms, lines = production.bom_id.explode(production.product_id, factor, picking_type=production.bom_id.picking_type_id) - for line, line_data in lines: - production._update_raw_move(line, line_data['qty']) + bom_point = production.bom_id + factor = self.env['product.uom']._compute_qty(production.product_uom_id.id, production.product_qty - production.qty_produced, production.bom_id.product_uom_id.id) / production.bom_id.product_qty + boms, lines = production.bom_id.explode(production.product_id, factor, picking_type=production.bom_id.picking_type_id) + for line, line_data in lines: + production._update_raw_move(line, line_data) self._update_product_to_produce(production, production.product_qty - production.qty_produced) moves = production.move_raw_ids.filtered(lambda x: x.state not in ('done', 'cancel')) moves.do_unreserve() moves.action_assign() + for wo in production.workorder_ids: + if production.product_id.tracking == 'serial': + quantity = 1.0 + else: + quantity = wo.qty_production - wo.qty_produced + quantity = quantity if (quantity > 0) else 0 + wo.qty_producing = quantity + if wo.qty_produced < wo.qty_production and wo.state == 'done': + wo.state = 'progress' + # assign moves; last operation receive all unassigned moves + operation = wo.operation_id + + # TODO: following could be put in a function as it is similar as code in _workorders_create + # TODO: only needed when creating new moves + moves_raw = production.move_raw_ids.filtered(lambda move: move.operation_id == operation and move.state not in ('done', 'cancel')) + if wo == production.workorder_ids[-1]: + moves_raw |= production.move_raw_ids.filtered(lambda move: not move.operation_id) + moves_finished = production.move_finished_ids.filtered(lambda move: move.operation_id == operation) #TODO: code does nothing, unless maybe by_products? + moves_raw.mapped('move_lot_ids').write({'workorder_id': wo.id}) + (moves_finished + moves_raw).write({'workorder_id': wo.id}) + if wo.move_raw_ids.filtered(lambda x: x.product_id.tracking != 'none') and not wo.active_move_lot_ids: + wo._generate_lot_ids() return {} diff --git a/addons/mrp/wizard/change_production_qty_views.xml b/addons/mrp/wizard/change_production_qty_views.xml index 205ecb5010f..0ba2fc8488e 100644 --- a/addons/mrp/wizard/change_production_qty_views.xml +++ b/addons/mrp/wizard/change_production_qty_views.xml @@ -4,7 +4,7 @@ <!-- Change Product Quantity --> <record id="view_change_production_qty_wizard" model="ir.ui.view"> - <field name="name">Change Product Qty</field> + <field name="name">Change Quantity To Produce</field> <field name="model">change.production.qty</field> <field name="arch" type="xml"> <form string="Change Product Qty"> @@ -21,7 +21,7 @@ </record> <record id="action_change_production_qty" model="ir.actions.act_window"> - <field name="name">Change Product Qty</field> + <field name="name">Change Quantity To Produce</field> <field name="type">ir.actions.act_window</field> <field name="res_model">change.production.qty</field> <field name="view_type">form</field> diff --git a/addons/mrp/wizard/mrp_product_produce.py b/addons/mrp/wizard/mrp_product_produce.py index 2571c83b848..428cb627404 100644 --- a/addons/mrp/wizard/mrp_product_produce.py +++ b/addons/mrp/wizard/mrp_product_produce.py @@ -74,6 +74,8 @@ class MrpProductProduce(models.TransientModel): # Nothing to do for lots since values are created using default data (stock.move.lots) moves = self.production_id.move_raw_ids quantity = self.product_qty + if float_compare(quantity, 0, precision_rounding=self.product_uom_id.rounding) <= 0: + raise UserError(_('You should at least produce some quantity')) for move in moves.filtered(lambda x: x.product_id.tracking == 'none' and x.state not in ('done', 'cancel')): if move.unit_factor: move.quantity_done_store += quantity * move.unit_factor @@ -84,6 +86,8 @@ class MrpProductProduce(models.TransientModel): elif move.unit_factor: move.quantity_done_store += quantity * move.unit_factor self.check_finished_move_lots() + if self.production_id.state == 'confirmed': + self.production_id.state = 'progress' return {'type': 'ir.actions.act_window_close'} @api.multi diff --git a/addons/mrp/wizard/mrp_product_produce_views.xml b/addons/mrp/wizard/mrp_product_produce_views.xml index b129c8be74c..9a22d279766 100644 --- a/addons/mrp/wizard/mrp_product_produce_views.xml +++ b/addons/mrp/wizard/mrp_product_produce_views.xml @@ -10,7 +10,7 @@ <group> <field name="serial" invisible="1"/> <field name="production_id" invisible="1"/> - <field name="product_id"/> + <field name="product_id" readonly="1"/> <label for="product_qty"/> <div class="o_row"> <field name="product_qty" attrs="{'readonly': [('serial', '=', True)]}"/> @@ -27,7 +27,7 @@ <field name="quantity" readonly="1"/> <field name="plus_visible" invisible="1"/> <field name="quantity_done"/> - <field name="lot_id"/> + <field name="lot_id" context="{'default_product_id': product_id}"/> <field name="move_id" invisible="1"/> <button name="do_minus" type="object" icon="fa-minus-square" attrs="{'invisible': [('quantity_done', '<=', 0.99)]}" invisible="context.get('state_done')"/> <button name="do_plus" type="object" icon="fa-plus-square" attrs="{'invisible': [('plus_visible', '=', False)]}" invisible="context.get('state_done')"/> diff --git a/addons/mrp/wizard/stock_move_consume.py b/addons/mrp/wizard/stock_move_consume.py deleted file mode 100644 index 6d6c9ddc179..00000000000 --- a/addons/mrp/wizard/stock_move_consume.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models -from odoo.tools import float_compare -from odoo.addons import decimal_precision as dp - - -class StockMoveConsume(models.TransientModel): - _name = "stock.move.consume" - _description = "Consume Products" - - product_id = fields.Many2one( - 'product.product', 'Product', - index=True, required=True) - product_qty = fields.Float( - 'Quantity', digits=dp.get_precision('Product Unit of Measure'), required=True) - product_uom = fields.Many2one( - 'product.uom', 'Product Unit of Measure', - required=True) - location_id = fields.Many2one( - 'stock.location', 'Location', - required=True) - restrict_lot_id = fields.Many2one( - 'stock.production.lot', 'Lot') - - # TOFIX: product_uom should not have different category of default UOM of product. Qty should be convert into UOM of original move line before going in consume and scrap - def default_get(self, fields): - res = super(StockMoveConsume, self).default_get(fields) - move = self.env['stock.move'].browse(self._context['active_id']) - if 'product_id' in fields: - res['product_id'] = move.product_id.id - if 'product_uom' in fields: - res['product_uom'] = move.product_uom.id - if 'product_qty' in fields: - res['product_qty'] = move.product_uom_qty - if 'location_id' in fields: - res['location_id'] = move.location_id.id - return res - - @api.multi - def do_move_consume(self): - Production = self.env['mrp.production'] - - move = self.env['stock.move'].browse(self._context['active_id']) - precision = self.env['decimal.precision'].precision_get('Product Unit of Measure') - for wizard in self: - qty = wizard.product_uom._compute_quantity(wizard.product_qty, wizard.product_id.uom_id) - remaining_qty = move.product_qty - qty - # check for product quantity is less than previously planned - if float_compare(remaining_qty, 0, precision_digits=precision) >= 0: - move.action_consume(qty, wizard.location_id.id, restrict_lot_id=wizard.restrict_lot_id.id) - else: - consumed_qty = min(move.product_qty, qty) - move.action_consume(consumed_qty, wizard.location_id.id, restrict_lot_id=wizard.restrict_lot_id.id) - # consumed more in wizard than previously planned - extra_more_qty = qty - consumed_qty - # create new line for a remaining qty of the product - extra_move = Production._make_consume_line_from_data(move.raw_material_production_id, wizard.product_id, wizard.product_id.uom_id.id, extra_more_qty) - extra_move.write({'restrict_lot_id': wizard.restrict_lot_id.id}) - extra_move.action_done() - return {'type': 'ir.actions.act_window_close'} diff --git a/addons/mrp/wizard/stock_move_consume_views.xml b/addons/mrp/wizard/stock_move_consume_views.xml deleted file mode 100644 index ee195070bac..00000000000 --- a/addons/mrp/wizard/stock_move_consume_views.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - <!-- Consume, scrap move --> - <record id="view_stock_move_consume_wizard" model="ir.ui.view"> - <field name="name">Consume Move</field> - <field name="model">stock.move.consume</field> - <field name="arch" type="xml"> - <form string="Consume Move"> - <group string="Consume Products"> - <field name="product_id" readonly="1"/> - <label for="product_qty"/> - <div> - <field name="product_qty" class="oe_inline"/> - <field name="product_uom" class="oe_inline" readonly="1" groups="product.group_uom"/> - </div> - <field name="restrict_lot_id" domain="[('product_id','=',product_id)]" groups="stock.group_production_lot" - context="{'default_product_id': product_id}"/> - <field name="location_id" groups="stock.group_stock_multi_locations"/> - </group> - <footer> - <button name="do_move_consume" string="Ok" type="object" class="btn-primary"/> - <button string="Cancel" class="btn-default" special="cancel" /> - </footer> - </form> - </field> - </record> - - <record id="move_consume" model="ir.actions.act_window"> - <field name="name">Consume Move</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">stock.move.consume</field> - <field name="view_type">form</field> - <field name="view_mode">form</field> - <field name="target">new</field> - </record> - - </data> -</odoo> diff --git a/addons/mrp_byproduct/models/mrp_production.py b/addons/mrp_byproduct/models/mrp_production.py index 142775818af..924c13fc2e8 100644 --- a/addons/mrp_byproduct/models/mrp_production.py +++ b/addons/mrp_byproduct/models/mrp_production.py @@ -4,38 +4,40 @@ from odoo import api, models -class Production(models.Model): +class MrpProduction(models.Model): _description = 'Production' _inherit = 'mrp.production' + def _create_byproduct_move(self, sub_product): + Move = self.env['stock.move'] + for production in self: + source = production.product_id.property_stock_production.id + product_uom_factor = production.product_uom_id._compute_quantity(production.product_qty - production.qty_produced, production.bom_id.product_uom_id) + qty1 = sub_product.product_qty + qty1 *= product_uom_factor / production.bom_id.product_qty + data = { + 'name': 'PROD:%s' % production.name, + 'date': production.date_planned_start, + 'product_id': sub_product.product_id.id, + 'product_uom_qty': qty1, + 'product_uom': sub_product.product_uom_id.id, + 'location_id': source, + 'location_dest_id': production.location_dest_id.id, + 'production_id': production.id, + 'origin': production.name, + 'unit_factor': qty1 / (production.product_qty - production.qty_produced), + 'subproduct_id': sub_product.id + } + move = Move.create(data) + move.action_confirm() @api.multi def _generate_moves(self): """ Generates moves and work orders @return: Newly generated picking Id. """ - # TDE FIXME: was action_confirm ?? -> refactored - Move = self.env['stock.move'] - res = super(Production, self)._generate_moves() + res = super(MrpProduction, self)._generate_moves() for production in self.filtered(lambda production: production.bom_id): - source = production.product_id.property_stock_production.id for sub_product in production.bom_id.sub_products: - product_uom_factor = production.product_uom_id._compute_quantity(production.product_qty, production.bom_id.product_uom_id) - qty1 = sub_product.product_qty - qty1 *= product_uom_factor / production.bom_id.product_qty - data = { - 'name': 'PROD:%s' % production.name, - 'date': production.date_planned_start, - 'product_id': sub_product.product_id.id, - 'product_uom_qty': qty1, - 'product_uom': sub_product.product_uom_id.id, - 'location_id': source, - 'location_dest_id': production.location_dest_id.id, - 'production_id': production.id, - 'origin': production.name, - 'unit_factor': qty1 / production.product_qty, - 'subproduct_id': sub_product.id - } - move = Move.create(data) - move.action_confirm() + production._create_byproduct_move(sub_product) return res diff --git a/addons/mrp_byproduct/models/stock_move.py b/addons/mrp_byproduct/models/stock_move.py index e75c2f8351c..119cc8fda94 100644 --- a/addons/mrp_byproduct/models/stock_move.py +++ b/addons/mrp_byproduct/models/stock_move.py @@ -4,7 +4,7 @@ from odoo import fields, models -class Stok_Move(models.Model): +class StockMove(models.Model): _inherit = 'stock.move' subproduct_id = fields.Many2one( diff --git a/addons/mrp_byproduct/wizard/change_production_qty.py b/addons/mrp_byproduct/wizard/change_production_qty.py index ac553ced65c..1ac4b74f867 100644 --- a/addons/mrp_byproduct/wizard/change_production_qty.py +++ b/addons/mrp_byproduct/wizard/change_production_qty.py @@ -4,19 +4,20 @@ from odoo import api, models -class change_production_qty(models.TransientModel): +class ChangeProductionQty(models.TransientModel): _inherit = 'change.production.qty' @api.model def _update_product_to_produce(self, prod, qty): - # U + super(ChangeProductionQty, self)._update_product_to_produce(prod, qty) Production = self.env['mrp.production'] - for move in prod.move_finished_ids: - if move.product_id == prod.product_id: - move.write({'product_uom_qty': qty}) + UoM = self.env['product.uom'] + for sub_product_line in prod.bom_id.sub_products: + move = prod.move_finished_ids.filtered(lambda x: x.sub_product_id == sub_product_line and x.state not in ('done', 'cancel')) + if move: + product_uom_factor = UoM._compute_qty_obj(prod.product_uom_id, prod.product_qty - prod.qty_produced, prod.bom_id.product_uom_id) + qty1 = sub_product_line.product_qty + qty1 *= product_uom_factor / prod.bom_id.product_qty + move[0].write({'product_uom_qty': qty1}) else: - for sub_product_line in prod.bom_id.sub_products: - if sub_product_line.product_id == move.product_id: - factor = Production._get_subproduct_factor(move) - subproduct_qty = qty * factor - move.write({'product_uom_qty': subproduct_qty}) + prod._create_byproduct_move(sub_product_line)
\ No newline at end of file diff --git a/addons/note/models/note.py b/addons/note/models/note.py index 439722d13ee..432705347c7 100644 --- a/addons/note/models/note.py +++ b/addons/note/models/note.py @@ -121,14 +121,13 @@ class Note(models.Model): return super(Note, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy) @api.multi - def _notification_get_recipient_groups(self, message, recipients): - res = super(Note, self)._notification_get_recipient_groups(message, recipients) + def _notification_recipients(self, message, groups): + """ All users can create a new note. """ + groups = super(Note, self)._notification_recipients(message, groups) new_action_id = self.env['ir.model.data'].xmlid_to_res_id('note.action_note_note') new_action = self._notification_link_helper('new', action_id=new_action_id) - res['user'] = { - 'actions': [{'url': new_action, 'title': _('New Note')}] - } - return res + groups['user']['actions'] = [{'url': new_action, 'title': _('New Note')}] + return groups @api.multi def action_close(self): diff --git a/addons/payment/models/account_payment.py b/addons/payment/models/account_payment.py index 732ba6c4a7c..52b1e9954e1 100644 --- a/addons/payment/models/account_payment.py +++ b/addons/payment/models/account_payment.py @@ -12,8 +12,6 @@ class AccountPayment(models.Model): payment_transaction_id = fields.Many2one('payment.transaction', string="Payment Transaction") payment_token_id = fields.Many2one('payment.token', string="Saved payment token", domain=[('acquirer_id.auto_confirm', '!=', 'authorize')], help="Note that tokens from acquirers set to only authorize transactions (instead of capturing the amount) are not available.") - payment_type = fields.Selection(selection_add=[('electronic', 'Electronically receive money')]) - payment_method_id_code = fields.Char(related='payment_method_id.code') @api.onchange('partner_id') def _onchange_partner_id(self): @@ -25,7 +23,7 @@ class AccountPayment(models.Model): @api.onchange('payment_method_id', 'journal_id') def _onchange_payment_method(self): - if self.payment_method_id.code == 'electronic': + if self.payment_method_code == 'electronic': self.payment_token_id = self.env['payment.token'].search([('partner_id', '=', self.partner_id.id), ('acquirer_id.auto_confirm', '!=', 'authorize')], limit=1) else: self.payment_token_id = False @@ -59,4 +57,4 @@ class AccountPayment(models.Model): if not s2s_result or tx.state != 'done': raise ValidationError(_("Payment transaction failed (%s)") % tx.state_message) - self.payment_transaction_id = tx + self.payment_transaction_id = tx
\ No newline at end of file diff --git a/addons/payment/views/account_payment_views.xml b/addons/payment/views/account_payment_views.xml index 884241500e6..a284f69b77f 100644 --- a/addons/payment/views/account_payment_views.xml +++ b/addons/payment/views/account_payment_views.xml @@ -18,11 +18,12 @@ <field name="inherit_id" ref="account.view_account_payment_invoice_form"/> <field name="arch" type="xml"> <field name="payment_method_id" position="after"> - <field name="payment_method_id_code" invisible="1"/> - <field name="payment_token_id" attrs="{'invisible': [('payment_method_id_code', '!=', 'electronic')], - 'required': [('payment_method_id_code', '=', 'electronic')]}"/> + <field name="payment_method_code" invisible="1"/> + <field name="payment_token_id" attrs="{'invisible': [('payment_method_code', '!=', 'electronic')], + 'required': [('payment_method_code', '=', 'electronic')]}"/> </field> </field> </record> + </data> </odoo> diff --git a/addons/point_of_sale/__manifest__.py b/addons/point_of_sale/__manifest__.py index d85d1e68700..28ae1045948 100644 --- a/addons/point_of_sale/__manifest__.py +++ b/addons/point_of_sale/__manifest__.py @@ -34,6 +34,7 @@ Main Features 'security/ir.model.access.csv', 'data/default_barcode_patterns.xml', 'wizard/pos_box.xml', + 'wizard/pos_details.xml', 'wizard/pos_discount.xml', 'wizard/pos_open_statement.xml', 'wizard/pos_payment.xml', diff --git a/addons/point_of_sale/data/point_of_sale_data.xml b/addons/point_of_sale/data/point_of_sale_data.xml index aba585a2b5a..f2c82edc99a 100644 --- a/addons/point_of_sale/data/point_of_sale_data.xml +++ b/addons/point_of_sale/data/point_of_sale_data.xml @@ -51,6 +51,15 @@ <field name="default_code">MISC</field> <field name="image" type="base64" file="point_of_sale/static/img/product_product_49-image.jpg"/> </record> + + <record id="pos_sale_journal" model="account.journal"> + <field name="name">POS Sale Journal</field> + <field name="code">POSS</field> + <field name="type">sale</field> + <!-- avoid being selected as default journal --> + <field name="sequence">20</field> + </record> + </data> </odoo> diff --git a/addons/point_of_sale/i18n/point_of_sale.pot b/addons/point_of_sale/i18n/point_of_sale.pot index e70904f9eaa..6c8b95e8738 100644 --- a/addons/point_of_sale/i18n/point_of_sale.pot +++ b/addons/point_of_sale/i18n/point_of_sale.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Plural-Forms: \n" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:678 +#: code:addons/point_of_sale/models/pos_order.py:679 #, python-format msgid " REFUND" msgstr "" @@ -28,15 +28,15 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1331 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1423 #, python-format msgid "% discount" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1458 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1498 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1550 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1590 #, python-format msgid " " msgstr "" @@ -53,7 +53,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:279 +#: code:addons/point_of_sale/static/src/xml/pos.xml:287 #, python-format msgid "123.14 €" msgstr "" @@ -221,7 +221,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1497 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1589 #, python-format msgid "ABC" msgstr "" @@ -237,12 +237,23 @@ msgid "Accounting Information" msgstr "" #. module: point_of_sale +#: model:ir.model.fields,help:point_of_sale.field_pos_config_invoice_journal_id +msgid "Accounting journal used to create invoices." +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,help:point_of_sale.field_pos_config_journal_id #: model:ir.model.fields,help:point_of_sale.field_pos_order_sale_journal msgid "Accounting journal used to post sales entries." msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_5 +#: model:product.template,name:point_of_sale.partner_product_5_product_template +msgid "Acsone.eu" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_res_users_activation msgid "Activation" msgstr "" @@ -271,8 +282,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:374 -#: code:addons/point_of_sale/static/src/xml/pos.xml:462 +#: code:addons/point_of_sale/static/src/xml/pos.xml:382 +#: code:addons/point_of_sale/static/src/xml/pos.xml:470 #, python-format msgid "Address" msgstr "" @@ -385,8 +396,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:267 -#: code:addons/point_of_sale/static/src/xml/pos.xml:597 +#: code:addons/point_of_sale/static/src/xml/pos.xml:275 +#: code:addons/point_of_sale/static/src/xml/pos.xml:605 #, python-format msgid "Back" msgstr "" @@ -404,8 +415,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:351 -#: code:addons/point_of_sale/static/src/xml/pos.xml:403 +#: code:addons/point_of_sale/static/src/xml/pos.xml:359 +#: code:addons/point_of_sale/static/src/xml/pos.xml:411 #, python-format msgid "Barcode" msgstr "" @@ -417,7 +428,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1206 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1298 #: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_form #, python-format msgid "Barcode Scanner" @@ -434,6 +445,18 @@ msgid "Beverages" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.raisins_noir +#: model:product.template,name:point_of_sale.raisins_noir_product_template +msgid "Black Grapes" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.boni_orange +#: model:product.template,name:point_of_sale.boni_orange_product_template +msgid "Boni Oranges" +msgstr "" + +#. module: point_of_sale #. openerp-web #: code:addons/point_of_sale/static/src/js/screens.js:895 #, python-format @@ -447,20 +470,21 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:798 +#: code:addons/point_of_sale/static/src/xml/pos.xml:806 #, python-format msgid "CHANGE" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:430 -#: code:addons/point_of_sale/static/src/xml/pos.xml:926 -#: code:addons/point_of_sale/static/src/xml/pos.xml:943 -#: code:addons/point_of_sale/static/src/xml/pos.xml:972 -#: code:addons/point_of_sale/static/src/xml/pos.xml:989 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1009 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1061 +#: code:addons/point_of_sale/static/src/xml/pos.xml:438 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1018 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1035 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1064 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1081 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1101 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1153 +#: model:ir.ui.view,arch_db:point_of_sale.view_pos_details_wizard #: model:ir.ui.view,arch_db:point_of_sale.view_pos_discount #: model:ir.ui.view,arch_db:point_of_sale.view_pos_open_statement #: model:ir.ui.view,arch_db:point_of_sale.view_pos_payment @@ -483,6 +507,12 @@ msgid "Cannot return change without a cash payment method" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.carotte +#: model:product.template,name:point_of_sale.carotte_product_template +msgid "Carrots" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_cash_control #: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_form msgid "Cash Control" @@ -533,7 +563,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:503 +#: code:addons/point_of_sale/static/src/xml/pos.xml:511 #, python-format msgid "Change" msgstr "" @@ -561,8 +591,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:659 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1387 +#: code:addons/point_of_sale/static/src/xml/pos.xml:667 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1479 #, python-format msgid "Change:" msgstr "" @@ -606,8 +636,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:322 -#: code:addons/point_of_sale/static/src/xml/pos.xml:323 +#: code:addons/point_of_sale/static/src/xml/pos.xml:330 +#: code:addons/point_of_sale/static/src/xml/pos.xml:331 #, python-format msgid "City" msgstr "" @@ -650,8 +680,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/js/chrome.js:679 -#: code:addons/point_of_sale/static/src/js/chrome.js:687 +#: code:addons/point_of_sale/static/src/js/chrome.js:701 +#: code:addons/point_of_sale/static/src/js/chrome.js:709 #: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban #, python-format msgid "Close" @@ -688,6 +718,12 @@ msgid "Company" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.poire_conference +#: model:product.template,name:point_of_sale.poire_conference_product_template +msgid "Conference pears" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.menu,name:point_of_sale.menu_point_config_product msgid "Configuration" msgstr "" @@ -704,8 +740,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/js/chrome.js:684 -#: code:addons/point_of_sale/static/src/xml/pos.xml:923 +#: code:addons/point_of_sale/static/src/js/chrome.js:706 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1015 #, python-format msgid "Confirm" msgstr "" @@ -731,7 +767,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:330 +#: code:addons/point_of_sale/static/src/xml/pos.xml:338 #, python-format msgid "Country" msgstr "" @@ -740,6 +776,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_create_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_create_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_create_uid +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_create_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_create_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_create_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_create_uid @@ -754,6 +791,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_create_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_create_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_create_date +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_create_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_create_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_create_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_create_date @@ -792,8 +830,8 @@ msgstr "" #. module: point_of_sale #. openerp-web #: code:addons/point_of_sale/static/src/js/screens.js:1764 -#: code:addons/point_of_sale/static/src/xml/pos.xml:116 -#: code:addons/point_of_sale/static/src/xml/pos.xml:627 +#: code:addons/point_of_sale/static/src/xml/pos.xml:124 +#: code:addons/point_of_sale/static/src/xml/pos.xml:635 #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_partner_id #: model:ir.ui.view,arch_db:point_of_sale.view_pos_order_filter #, python-format @@ -801,8 +839,8 @@ msgid "Customer" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:417 -#: code:addons/point_of_sale/models/pos_order.py:471 +#: code:addons/point_of_sale/models/pos_order.py:418 +#: code:addons/point_of_sale/models/pos_order.py:472 #, python-format msgid "Customer Invoice" msgstr "" @@ -813,13 +851,19 @@ msgid "Dashboard" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_7 +#: model:product.template,name:point_of_sale.partner_product_7_product_template +msgid "Datalp.com" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_date msgid "Date Order" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1196 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1288 #, python-format msgid "Debug Window" msgstr "" @@ -851,7 +895,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1216 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1308 #, python-format msgid "Delete Paid Orders" msgstr "" @@ -865,7 +909,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1217 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1309 #, python-format msgid "Delete Unpaid Orders" msgstr "" @@ -903,12 +947,17 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:139 +#: code:addons/point_of_sale/static/src/xml/pos.xml:147 #, python-format msgid "Disc" msgstr "" #. module: point_of_sale +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails +msgid "Disc:" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_module_pos_discount msgid "Discount" msgstr "" @@ -926,8 +975,9 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:741 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1360 +#: code:addons/point_of_sale/static/src/xml/pos.xml:749 +#: code:addons/point_of_sale/static/src/xml/pos.xml:888 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1452 #, python-format msgid "Discount:" msgstr "" @@ -940,7 +990,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:807 +#: code:addons/point_of_sale/static/src/xml/pos.xml:815 #, python-format msgid "Discounts" msgstr "" @@ -954,6 +1004,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_display_name +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_display_name @@ -962,6 +1013,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_display_name #: model:ir.model.fields,field_description:point_of_sale.field_pos_session_display_name #: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_invoice_display_name +#: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_saledetails_display_name #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_display_name msgid "Display Name" msgstr "" @@ -986,14 +1038,32 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:501 +#: code:addons/point_of_sale/static/src/xml/pos.xml:509 #, python-format msgid "Due" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_9 +#: model:product.template,name:point_of_sale.partner_product_9_product_template +msgid "EGGS-solutions.fr" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_3 +#: model:product.template,name:point_of_sale.partner_product_3_product_template +msgid "Eezee-It" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_4 +#: model:product.template,name:point_of_sale.partner_product_4_product_template +msgid "Ekomurz.nl" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1199 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1291 #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_electronic_scale #, python-format msgid "Electronic Scale" @@ -1001,8 +1071,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:343 -#: code:addons/point_of_sale/static/src/xml/pos.xml:383 +#: code:addons/point_of_sale/static/src/xml/pos.xml:351 +#: code:addons/point_of_sale/static/src/xml/pos.xml:391 #, python-format msgid "Email" msgstr "" @@ -1047,6 +1117,11 @@ msgid "Enables invoice generation from the Point of Sale" msgstr "" #. module: point_of_sale +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_end_date +msgid "End date" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form msgid "End of Session" msgstr "" @@ -1078,19 +1153,25 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1218 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1310 #, python-format msgid "Export Paid Orders" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1219 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1311 #, python-format msgid "Export Unpaid Orders" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.chicon_flandria_extra +#: model:product.template,name:point_of_sale.chicon_flandria_extra_product_template +msgid "Extra Flandria chicory" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "Extra Info" msgstr "" @@ -1102,7 +1183,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1075 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1167 #, python-format msgid "Finished Importing Orders" msgstr "" @@ -1128,6 +1209,11 @@ msgid "For imprecise industrial touchscreens" msgstr "" #. module: point_of_sale +#: model:pos.category,name:point_of_sale.fruits_vegetables +msgid "Fruits and Vegetables" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "General Information" msgstr "" @@ -1143,6 +1229,24 @@ msgid "Gives the sequence order when displaying a list of product categories." msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.pomme_golden_perlim +#: model:product.template,name:point_of_sale.pomme_golden_perlim_product_template +msgid "Golden Apples Perlim" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.pomme_granny_smith +#: model:product.template,name:point_of_sale.pomme_granny_smith_product_template +msgid "Granny Smith apples" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.poivron_verts +#: model:product.template,name:point_of_sale.poivron_verts_product_template +msgid "Green Peppers" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_order_filter #: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_search #: model:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search @@ -1156,7 +1260,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1230 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1322 #, python-format msgid "Hardware Events" msgstr "" @@ -1168,7 +1272,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1226 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1318 #, python-format msgid "Hardware Status" msgstr "" @@ -1187,6 +1291,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_id +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_id @@ -1195,6 +1300,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_session_id #: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_invoice_id +#: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_saledetails_id #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_id msgid "ID" msgstr "" @@ -1235,7 +1341,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1220 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1312 #, python-format msgid "Import Orders" msgstr "" @@ -1247,7 +1353,13 @@ msgstr "" #. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_sale_config_settings_form_pos -msgid "Importable Point of Sales Data" +msgid "Importable Point of Sale Data" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.tomate_en_grappe +#: model:product.template,name:point_of_sale.tomate_en_grappe_product_template +msgid "In Cluster Tomatoes" msgstr "" #. module: point_of_sale @@ -1256,7 +1368,7 @@ msgid "In Progress" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:399 +#: code:addons/point_of_sale/models/pos_order.py:400 #, python-format msgid "In order to delete a sale, it must be new or cancelled." msgstr "" @@ -1285,7 +1397,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:635 +#: code:addons/point_of_sale/static/src/xml/pos.xml:643 #: model:ir.actions.report.xml,name:point_of_sale.pos_invoice_report #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_invoice_id #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form @@ -1294,6 +1406,11 @@ msgid "Invoice" msgstr "" #. module: point_of_sale +#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_invoice_journal_id +msgid "Invoice Journal" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_invoiced #: model:ir.ui.view,arch_db:point_of_sale.view_pos_order_filter #: model:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search @@ -1313,6 +1430,12 @@ msgid "It acts as a default account for debit amount" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.pomme_jonagold +#: model:product.template,name:point_of_sale.pomme_jonagold_product_template +msgid "Jonagold apples" +msgstr "" + +#. module: point_of_sale #: model:ir.model,name:point_of_sale.model_account_journal #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_journal_id msgid "Journal" @@ -1337,6 +1460,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_config___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings___last_update +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement___last_update @@ -1345,6 +1469,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot___last_update #: model:ir.model.fields,field_description:point_of_sale.field_pos_session___last_update #: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_invoice___last_update +#: model:ir.model.fields,field_description:point_of_sale.field_report_point_of_sale_report_saledetails___last_update #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order___last_update msgid "Last Modified on" msgstr "" @@ -1353,6 +1478,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_write_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_write_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_write_uid +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_write_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_write_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_write_uid #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_write_uid @@ -1367,6 +1493,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_write_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_settings_write_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_write_date +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_write_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_write_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_make_payment_write_date #: model:ir.model.fields,field_description:point_of_sale.field_pos_open_statement_write_date @@ -1393,6 +1520,18 @@ msgid "Latest Partner Review" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.poireaux_poireaux +#: model:product.template,name:point_of_sale.poireaux_poireaux_product_template +msgid "Leeks" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.citron +#: model:product.template,name:point_of_sale.citron_product_template +msgid "Lemon" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_res_users_grade_id msgid "Level" msgstr "" @@ -1451,7 +1590,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/js/models.js:2011 +#: code:addons/point_of_sale/static/src/js/models.js:2016 #, python-format msgid "Lot/Serial Number(s) Required" msgstr "" @@ -1493,7 +1632,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:504 +#: code:addons/point_of_sale/static/src/xml/pos.xml:512 #, python-format msgid "Method" msgstr "" @@ -1526,20 +1665,21 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:379 -#: code:addons/point_of_sale/static/src/xml/pos.xml:388 -#: code:addons/point_of_sale/static/src/xml/pos.xml:397 -#: code:addons/point_of_sale/static/src/xml/pos.xml:408 -#: code:addons/point_of_sale/static/src/xml/pos.xml:417 +#: code:addons/point_of_sale/static/src/xml/pos.xml:387 +#: code:addons/point_of_sale/static/src/xml/pos.xml:396 +#: code:addons/point_of_sale/static/src/xml/pos.xml:405 +#: code:addons/point_of_sale/static/src/xml/pos.xml:416 +#: code:addons/point_of_sale/static/src/xml/pos.xml:425 #, python-format msgid "N/A" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:310 -#: code:addons/point_of_sale/static/src/xml/pos.xml:461 +#: code:addons/point_of_sale/static/src/xml/pos.xml:318 +#: code:addons/point_of_sale/static/src/xml/pos.xml:469 #: model:ir.model.fields,field_description:point_of_sale.field_pos_category_name +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails #: model:ir.ui.view,arch_db:point_of_sale.report_statement #, python-format msgid "Name" @@ -1566,7 +1706,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:660 +#: code:addons/point_of_sale/static/src/xml/pos.xml:668 #, python-format msgid "Next Order" msgstr "" @@ -1577,7 +1717,7 @@ msgid "Next Partner Review" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:135 +#: code:addons/point_of_sale/models/pos_order.py:136 #, python-format msgid "No cash statement found for this session. Unable to record returned cash." msgstr "" @@ -1607,7 +1747,7 @@ msgstr "" #. module: point_of_sale #. openerp-web #: code:addons/point_of_sale/static/src/js/screens.js:1986 -#: code:addons/point_of_sale/static/src/xml/pos.xml:332 +#: code:addons/point_of_sale/static/src/xml/pos.xml:340 #, python-format msgid "None" msgstr "" @@ -1649,15 +1789,15 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:855 -#: code:addons/point_of_sale/static/src/xml/pos.xml:869 -#: code:addons/point_of_sale/static/src/xml/pos.xml:883 -#: code:addons/point_of_sale/static/src/xml/pos.xml:909 -#: code:addons/point_of_sale/static/src/xml/pos.xml:940 -#: code:addons/point_of_sale/static/src/xml/pos.xml:969 -#: code:addons/point_of_sale/static/src/xml/pos.xml:986 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1064 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1100 +#: code:addons/point_of_sale/static/src/xml/pos.xml:947 +#: code:addons/point_of_sale/static/src/xml/pos.xml:961 +#: code:addons/point_of_sale/static/src/xml/pos.xml:975 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1001 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1032 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1061 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1078 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1156 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1192 #, python-format msgid "Ok" msgstr "" @@ -1670,6 +1810,12 @@ msgid "One or more product(s) required serial/lot number." msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.Onions +#: model:product.template,name:point_of_sale.Onions_product_template +msgid "Onions" +msgstr "" + +#. module: point_of_sale #. openerp-web #: code:addons/point_of_sale/static/src/js/screens.js:1271 #, python-format @@ -1688,8 +1834,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:646 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1232 +#: code:addons/point_of_sale/static/src/xml/pos.xml:654 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1324 #, python-format msgid "Open Cashbox" msgstr "" @@ -1705,6 +1851,11 @@ msgid "Open Registers" msgstr "" #. module: point_of_sale +#: model:ir.model,name:point_of_sale.model_pos_details_wizard +msgid "Open Sale Details Report" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban #: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form msgid "Open Session" @@ -1733,8 +1884,14 @@ msgid "Opening Date" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.papillon_orange +#: model:product.template,name:point_of_sale.papillon_orange_product_template +msgid "Orange Butterfly" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:282 +#: code:addons/point_of_sale/static/src/xml/pos.xml:290 #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_order_id #, python-format msgid "Order" @@ -1742,8 +1899,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/js/models.js:1653 -#: code:addons/point_of_sale/static/src/js/models.js:1684 +#: code:addons/point_of_sale/static/src/js/models.js:1658 +#: code:addons/point_of_sale/static/src/js/models.js:1689 #, python-format msgid "Order " msgstr "" @@ -1782,7 +1939,7 @@ msgid "Order Sequence Number" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:429 +#: code:addons/point_of_sale/models/pos_order.py:430 #, python-format msgid "Order is not paid." msgstr "" @@ -1794,7 +1951,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1213 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1305 #: model:ir.actions.act_window,name:point_of_sale.act_pos_session_orders #: model:ir.actions.act_window,name:point_of_sale.action_pos_order_filtered #: model:ir.actions.act_window,name:point_of_sale.action_pos_pos_form @@ -1814,7 +1971,7 @@ msgid "Orders Analysis" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:196 +#: code:addons/point_of_sale/models/pos_config.py:212 #, python-format msgid "POS Order %s" msgstr "" @@ -1845,7 +2002,7 @@ msgid "POS Sales" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:207 +#: code:addons/point_of_sale/models/pos_config.py:223 #, python-format msgid "POS order line %s" msgstr "" @@ -1880,6 +2037,11 @@ msgid "Partner" msgstr "" #. module: point_of_sale +#: model:pos.category,name:point_of_sale.partner_services +msgid "Partner Services" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_res_users_date_partnership msgid "Partnership Date" msgstr "" @@ -1898,8 +2060,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:121 -#: code:addons/point_of_sale/static/src/xml/pos.xml:600 +#: code:addons/point_of_sale/static/src/xml/pos.xml:129 +#: code:addons/point_of_sale/static/src/xml/pos.xml:608 #: code:addons/point_of_sale/wizard/pos_payment.py:51 #: model:ir.actions.act_window,name:point_of_sale.action_pos_payment #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form @@ -1943,11 +2105,25 @@ msgstr "" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_statement_ids +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "Payments" msgstr "" #. module: point_of_sale +#. openerp-web +#: code:addons/point_of_sale/static/src/xml/pos.xml:898 +#, python-format +msgid "Payments:" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.peche +#: model:product.template,name:point_of_sale.peche_product_template +msgid "Peaches" +msgstr "" + +#. module: point_of_sale #: model:ir.filters,name:point_of_sale.filter_orders_per_session msgid "Per session" msgstr "" @@ -1959,16 +2135,16 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:347 -#: code:addons/point_of_sale/static/src/xml/pos.xml:392 -#: code:addons/point_of_sale/static/src/xml/pos.xml:463 +#: code:addons/point_of_sale/static/src/xml/pos.xml:355 +#: code:addons/point_of_sale/static/src/xml/pos.xml:400 +#: code:addons/point_of_sale/static/src/xml/pos.xml:471 #, python-format msgid "Phone" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1310 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1402 #, python-format msgid "Phone:" msgstr "" @@ -2002,20 +2178,20 @@ msgid "Please Confirm Large Amount" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:265 +#: code:addons/point_of_sale/models/pos_order.py:266 #, python-format msgid "Please define income account for this product: \"%s\" (id:%d)." msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:445 +#: code:addons/point_of_sale/models/pos_order.py:446 #, python-format msgid "Please provide a partner for the sale." msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:484 +#: code:addons/point_of_sale/static/src/xml/pos.xml:492 #, python-format msgid "Please select a payment method." msgstr "" @@ -2128,6 +2304,11 @@ msgid "Pos Product Categories" msgstr "" #. module: point_of_sale +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_pos_config_ids +msgid "Pos config ids" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_res_partner_pos_order_count #: model:ir.model.fields,field_description:point_of_sale.field_res_users_pos_order_count msgid "Pos order count" @@ -2145,7 +2326,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:326 +#: code:addons/point_of_sale/static/src/xml/pos.xml:334 #, python-format msgid "Postcode" msgstr "" @@ -2158,18 +2339,29 @@ msgid "Posted" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.pomme_de_terre +#: model:product.template,name:point_of_sale.pomme_de_terre_product_template +msgid "Potatoes" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_precompute_cash msgid "Prefill Cash Payment" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:144 +#: code:addons/point_of_sale/static/src/xml/pos.xml:152 #, python-format msgid "Price" msgstr "" #. module: point_of_sale +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails +msgid "Price Unit" +msgstr "" + +#. module: point_of_sale #: code:addons/point_of_sale/models/barcode_rule.py:13 #, python-format msgid "Priced Product" @@ -2183,9 +2375,14 @@ msgid "Pricelist" msgstr "" #. module: point_of_sale +#: model:ir.ui.view,arch_db:point_of_sale.view_pos_details_wizard +msgid "Print" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:667 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1233 +#: code:addons/point_of_sale/static/src/xml/pos.xml:675 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1325 #, python-format msgid "Print Receipt" msgstr "" @@ -2204,7 +2401,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/js/devices.js:425 +#: code:addons/point_of_sale/static/src/js/devices.js:427 #, python-format msgid "Printing Error: " msgstr "" @@ -2213,6 +2410,7 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_product_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_product_id #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_product_id +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails #: model:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search msgid "Product" msgstr "" @@ -2242,6 +2440,7 @@ msgstr "" #. module: point_of_sale #: model:ir.actions.act_window,name:point_of_sale.product_product_action #: model:ir.ui.menu,name:point_of_sale.menu_pos_products +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form msgid "Products" msgstr "" @@ -2259,19 +2458,20 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:134 +#: code:addons/point_of_sale/static/src/xml/pos.xml:142 #, python-format msgid "Qty" msgstr "" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_qty +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails msgid "Quantity" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1234 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1326 #, python-format msgid "Read Weighing Scale" msgstr "" @@ -2314,6 +2514,18 @@ msgid "Receipt Ref" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.poivron_rouges +#: model:product.template,name:point_of_sale.poivron_rouges_product_template +msgid "Red Pepper" +msgstr "" + +#. module: point_of_sale +#: model:product.product,name:point_of_sale.pamplemousse_rouge_pamplemousse +#: model:product.template,name:point_of_sale.pamplemousse_rouge_pamplemousse_product_template +msgid "Red grapefruit" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.menu,name:point_of_sale.menu_point_rep msgid "Reports" msgstr "" @@ -2325,7 +2537,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1203 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1295 #, python-format msgid "Reset" msgstr "" @@ -2351,7 +2563,7 @@ msgid "Resume" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:689 +#: code:addons/point_of_sale/models/pos_order.py:690 #: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form #, python-format msgid "Return Products" @@ -2363,6 +2575,15 @@ msgid "Returned" msgstr "" #. module: point_of_sale +#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_details +#: model:ir.actions.report.xml,name:point_of_sale.sale_details_report +#: model:ir.ui.menu,name:point_of_sale.menu_report_order_details +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails +#: model:ir.ui.view,arch_db:point_of_sale.view_pos_details_wizard +msgid "Sale Details" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_journal_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_sale_journal msgid "Sale Journal" @@ -2401,14 +2622,14 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1209 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1301 #, python-format msgid "Scan" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1210 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1302 #, python-format msgid "Scan EAN-13" msgstr "" @@ -2427,14 +2648,14 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:434 +#: code:addons/point_of_sale/static/src/xml/pos.xml:442 #, python-format msgid "Search Customers" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:191 +#: code:addons/point_of_sale/static/src/xml/pos.xml:199 #, python-format msgid "Search Products" msgstr "" @@ -2457,7 +2678,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:442 +#: code:addons/point_of_sale/static/src/xml/pos.xml:450 #, python-format msgid "Select Customer" msgstr "" @@ -2477,7 +2698,7 @@ msgid "Select tax" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:203 +#: code:addons/point_of_sale/models/pos_order.py:204 #, python-format msgid "Selected orders do not have the same session!" msgstr "" @@ -2494,14 +2715,14 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:963 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1055 #, python-format msgid "Serial/Lot Number" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:719 +#: code:addons/point_of_sale/static/src/xml/pos.xml:727 #, python-format msgid "Served by" msgstr "" @@ -2514,7 +2735,7 @@ msgid "Server Error" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:254 +#: code:addons/point_of_sale/models/pos_config.py:270 #: model:ir.model.fields,field_description:point_of_sale.field_account_bank_statement_pos_session_id #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_session_id #: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_session_id @@ -2530,7 +2751,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1089 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1181 #, python-format msgid "Session ids:" msgstr "" @@ -2559,7 +2780,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1202 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1294 #, python-format msgid "Set Weight" msgstr "" @@ -2610,6 +2831,11 @@ msgid "Start Category" msgstr "" #. module: point_of_sale +#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_start_date +msgid "Start date" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_session_cash_register_balance_start msgid "Starting Balance" msgstr "" @@ -2645,15 +2871,21 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:318 -#: code:addons/point_of_sale/static/src/xml/pos.xml:319 +#: code:addons/point_of_sale/static/src/xml/pos.xml:326 +#: code:addons/point_of_sale/static/src/xml/pos.xml:327 #, python-format msgid "Street" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.limon +#: model:product.template,name:point_of_sale.limon_product_template +msgid "Stringers" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:769 +#: code:addons/point_of_sale/static/src/xml/pos.xml:777 #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_price_subtotal_incl #, python-format msgid "Subtotal" @@ -2671,21 +2903,21 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1346 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1438 #, python-format msgid "Subtotal:" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1081 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1173 #, python-format msgid "Successfully imported" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1080 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1172 #, python-format msgid "Successfully imported" msgstr "" @@ -2707,7 +2939,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:782 +#: code:addons/point_of_sale/static/src/xml/pos.xml:790 #, python-format msgid "TOTAL" msgstr "" @@ -2719,7 +2951,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/models/pos_order.py:293 +#: code:addons/point_of_sale/models/pos_order.py:294 #: code:addons/point_of_sale/static/src/js/screens.js:2007 #, python-format msgid "Tax" @@ -2727,8 +2959,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:355 -#: code:addons/point_of_sale/static/src/xml/pos.xml:412 +#: code:addons/point_of_sale/static/src/xml/pos.xml:363 +#: code:addons/point_of_sale/static/src/xml/pos.xml:420 #, python-format msgid "Tax ID" msgstr "" @@ -2737,64 +2969,66 @@ msgstr "" #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_amount_tax #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_tax_ids #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_tax_ids_after_fiscal_position +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails msgid "Taxes" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1182 +#: code:addons/point_of_sale/static/src/xml/pos.xml:912 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1274 #, python-format msgid "Taxes:" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:699 +#: code:addons/point_of_sale/static/src/xml/pos.xml:707 #, python-format msgid "Tel:" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:502 +#: code:addons/point_of_sale/static/src/xml/pos.xml:510 #, python-format msgid "Tendered" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:253 +#: code:addons/point_of_sale/models/pos_order.py:254 #, python-format msgid "The POS order must have lines when calling this method" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:904 +#: code:addons/point_of_sale/static/src/xml/pos.xml:996 #, python-format msgid "The Point of Sale could not find any product, client, employee\n" " or action associated with the scanned barcode." msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:166 +#: code:addons/point_of_sale/models/pos_config.py:182 #, python-format msgid "The company of a payment method is different than the one of point of sale" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:161 +#: code:addons/point_of_sale/models/pos_config.py:172 #, python-format msgid "The company of the sale journal is different than the one of point of sale" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:156 +#: code:addons/point_of_sale/models/pos_config.py:167 #, python-format msgid "The company of the stock location is different than the one of point of sale" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:171 +#: code:addons/point_of_sale/models/pos_config.py:187 #, python-format msgid "The default fiscal position must be included in the available fiscal positions of the point of sale" msgstr "" @@ -2810,6 +3044,12 @@ msgid "The hostname or ip address of the hardware proxy, Will be autodetected if msgstr "" #. module: point_of_sale +#: code:addons/point_of_sale/models/pos_config.py:177 +#, python-format +msgid "The invoice journal and the point of sale must belong to the same company" +msgstr "" + +#. module: point_of_sale #: code:addons/point_of_sale/models/pos_session.py:93 #: sql_constraint:pos.session:0 #, python-format @@ -2876,7 +3116,7 @@ msgstr "" #. module: point_of_sale #: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_print_auto -msgid "The receipt will automatically be p-rinted at the end of each order" +msgid "The receipt will automatically be printed at the end of each order" msgstr "" #. module: point_of_sale @@ -2897,7 +3137,7 @@ msgid "The transactions are processed by MercuryPay" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_session.py:240 +#: code:addons/point_of_sale/models/pos_session.py:243 #, python-format msgid "The type of the journal for your payment method should be bank or cash " msgstr "" @@ -2909,7 +3149,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:94 +#: code:addons/point_of_sale/static/src/xml/pos.xml:102 #, python-format msgid "There are pending operations that could not be saved into the database, are you sure you want to exit?" msgstr "" @@ -2930,13 +3170,13 @@ msgid "There is no cash register for this PoS Session" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:643 +#: code:addons/point_of_sale/models/pos_order.py:644 #, python-format msgid "There is no receivable account defined to make payment for the partner: \"%s\" (id:%d)." msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:641 +#: code:addons/point_of_sale/models/pos_order.py:642 #, python-format msgid "There is no receivable account defined to make payment." msgstr "" @@ -2974,7 +3214,7 @@ msgid "This field is there to pass the id of the pos user group to the point of msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:453 +#: code:addons/point_of_sale/models/pos_order.py:454 #, python-format msgid "This invoice has been created from the point of sale session: <a href=# data-oe-model=pos.order data-oe-id=%d>%s</a>" msgstr "" @@ -3010,7 +3250,7 @@ msgid "This sequence is automatically created by Odoo but you can change it to c msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:565 +#: code:addons/point_of_sale/models/pos_order.py:566 #, python-format msgid "This transfer has been created from the point of sale session: <a href=# data-oe-model=pos.order data-oe-id=%d>%s</a>" msgstr "" @@ -3022,7 +3262,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:641 +#: code:addons/point_of_sale/static/src/xml/pos.xml:649 #, python-format msgid "Tip" msgstr "" @@ -3038,7 +3278,7 @@ msgid "To Weigh With Scale" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:674 +#: code:addons/point_of_sale/models/pos_order.py:675 #, python-format msgid "To return product(s), you need to open a session that will be used to register the refund." msgstr "" @@ -3050,6 +3290,7 @@ msgstr "" #. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_order_amount_total +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails msgid "Total" msgstr "" @@ -3070,7 +3311,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:819 +#: code:addons/point_of_sale/static/src/xml/pos.xml:827 #, python-format msgid "Total Taxes" msgstr "" @@ -3097,20 +3338,22 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1181 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1366 +#: code:addons/point_of_sale/static/src/xml/pos.xml:926 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1273 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1458 +#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails #, python-format msgid "Total:" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:305 +#: code:addons/point_of_sale/models/pos_order.py:306 #, python-format msgid "Trade Receivables" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_session.py:149 +#: code:addons/point_of_sale/models/pos_session.py:150 #, python-format msgid "Unable to open the session. You have to assign a sale journal to your point of sale." msgstr "" @@ -3122,7 +3365,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:900 +#: code:addons/point_of_sale/static/src/xml/pos.xml:992 #, python-format msgid "Unknown Barcode" msgstr "" @@ -3161,7 +3404,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1311 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1403 #, python-format msgid "User:" msgstr "" @@ -3178,14 +3421,14 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:702 +#: code:addons/point_of_sale/static/src/xml/pos.xml:710 #, python-format msgid "VAT:" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:601 +#: code:addons/point_of_sale/static/src/xml/pos.xml:609 #, python-format msgid "Validate" msgstr "" @@ -3196,6 +3439,12 @@ msgid "Validate Closing & Post Entries" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_6 +#: model:product.template,name:point_of_sale.partner_product_6_product_template +msgid "Vauxoo.com" +msgstr "" + +#. module: point_of_sale #: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_vkeyboard msgid "Virtual KeyBoard" msgstr "" @@ -3207,7 +3456,7 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1228 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1320 #, python-format msgid "Weighing" msgstr "" @@ -3220,8 +3469,8 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1154 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1330 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1246 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1422 #, python-format msgid "With a" msgstr "" @@ -3232,13 +3481,19 @@ msgid "Year" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.poivron_jaunes +#: model:product.template,name:point_of_sale.poivron_jaunes_product_template +msgid "Yellow Peppers" +msgstr "" + +#. module: point_of_sale #: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form msgid "You can define another list of available currencies on the\n" " <i>Cash Registers</i> tab of the" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:389 +#: code:addons/point_of_sale/models/pos_order.py:390 #, python-format msgid "You cannot change the partner of a POS order for which an invoice has already been issued." msgstr "" @@ -3275,7 +3530,7 @@ msgid "You cannot have a negative amount in a Bank payment. Use a cash payment m msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_session.py:256 +#: code:addons/point_of_sale/models/pos_session.py:259 #, python-format msgid "You cannot use the session of another users. This session is owned by %s. Please first close this one to use this point of sale." msgstr "" @@ -3287,19 +3542,19 @@ msgid "You have to define which payment method must be available in the point of msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:657 +#: code:addons/point_of_sale/models/pos_order.py:658 #, python-format msgid "You have to open at least one cashbox." msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:762 +#: code:addons/point_of_sale/models/pos_order.py:763 #, python-format msgid "You have to select a pricelist in the sale form !" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_order.py:750 +#: code:addons/point_of_sale/models/pos_order.py:751 #, python-format msgid "You have to select a pricelist in the sale form !\n" "Please set one before choosing a product." @@ -3339,28 +3594,34 @@ msgid "Your Internet connection is probably down." msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_session.py:238 +#: code:addons/point_of_sale/models/pos_session.py:241 #, python-format msgid "Your ending balance is too different from the theoretical cash closing (%.2f), the maximum allowed is: %.2f. You can contact your manager to force it." msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1173 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1265 #, python-format msgid "Your shopping cart is empty" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:327 +#: code:addons/point_of_sale/static/src/xml/pos.xml:335 #, python-format msgid "ZIP" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.courgette +#: model:product.template,name:point_of_sale.courgette_product_template +msgid "Zucchini" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1146 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1238 #, python-format msgid "at" msgstr "" @@ -3372,14 +3633,20 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1086 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1178 #, python-format msgid "belong to another session:" msgstr "" #. module: point_of_sale +#: model:product.product,name:point_of_sale.partner_product_8 +#: model:product.template,name:point_of_sale.partner_product_8_product_template +msgid "camptocamp.com" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1433 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1525 #, python-format msgid "caps lock" msgstr "" @@ -3396,23 +3663,23 @@ msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1460 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1502 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1552 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1594 #, python-format msgid "close" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1418 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1495 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1510 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1587 #, python-format msgid "delete" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1156 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1248 #, python-format msgid "discount" msgstr "" @@ -3425,14 +3692,14 @@ msgid "for an order of" msgstr "" #. module: point_of_sale -#: code:addons/point_of_sale/models/pos_config.py:187 +#: code:addons/point_of_sale/models/pos_config.py:203 #, python-format msgid "not used" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1080 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1172 #, python-format msgid "paid orders" msgstr "" @@ -3463,46 +3730,51 @@ msgid "report.point_of_sale.report_invoice" msgstr "" #. module: point_of_sale +#: model:ir.model,name:point_of_sale.model_report_point_of_sale_report_saledetails +msgid "report.point_of_sale.report_saledetails" +msgstr "" + +#. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/models/pos_order.py:140 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1445 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1500 +#: code:addons/point_of_sale/models/pos_order.py:141 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1537 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1592 #, python-format msgid "return" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1446 -#: code:addons/point_of_sale/static/src/xml/pos.xml:1457 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1538 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1549 #, python-format msgid "shift" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1419 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1511 #, python-format msgid "tab" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1081 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1173 #, python-format msgid "unpaid orders" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1083 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1175 #, python-format msgid "unpaid orders could not be imported" msgstr "" #. module: point_of_sale #. openerp-web -#: code:addons/point_of_sale/static/src/xml/pos.xml:1085 +#: code:addons/point_of_sale/static/src/xml/pos.xml:1177 #, python-format msgid "were duplicates of existing orders" msgstr "" diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index ad25692e1e3..07bd2f84051 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -30,6 +30,12 @@ class PosConfig(models.Model): _name = 'pos.config' def _default_sale_journal(self): + journal = self.env.ref('point_of_sale.pos_sale_journal', raise_if_not_found=False) + if journal and journal.company_id == self.env.user.company_id: + return journal + return self._default_invoice_journal() + + def _default_invoice_journal(self): return self.env['account.journal'].search([('type', '=', 'sale'), ('company_id', '=', self.env.user.company_id.id)], limit=1) def _default_pricelist(self): @@ -61,6 +67,11 @@ class PosConfig(models.Model): domain=[('type', '=', 'sale')], help="Accounting journal used to post sales entries.", default=_default_sale_journal) + invoice_journal_id = fields.Many2one( + 'account.journal', string='Invoice Journal', + domain=[('type', '=', 'sale')], + help="Accounting journal used to create invoices.", + default=_default_invoice_journal) currency_id = fields.Many2one('res.currency', compute='_compute_currency', string="Currency") iface_cashdrawer = fields.Boolean(string='Cashdrawer', help="Automatically open the cashdrawer") iface_payment_terminal = fields.Boolean(string='Payment Terminal', help="Enables Payment Terminal integration") @@ -160,6 +171,11 @@ class PosConfig(models.Model): if self.journal_id and self.journal_id.company_id.id != self.company_id.id: raise UserError(_("The company of the sale journal is different than the one of point of sale")) + @api.constrains('company_id', 'invoice_journal_id') + def _check_company_journal(self): + if self.invoice_journal_id and self.invoice_journal_id.company_id.id != self.company_id.id: + raise UserError(_("The invoice journal and the point of sale must belong to the same company")) + @api.constrains('company_id', 'journal_ids') def _check_company_payment(self): if self.env['account.journal'].search_count([('id', 'in', self.journal_ids.ids), ('company_id', '!=', self.company_id.id)]): diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py index 37e0ad4c1f7..ca3d71f665b 100644 --- a/addons/point_of_sale/models/pos_order.py +++ b/addons/point_of_sale/models/pos_order.py @@ -160,7 +160,7 @@ class PosOrder(models.Model): 'name': self.name, 'origin': self.name, 'account_id': self.partner_id.property_account_receivable_id.id, - 'journal_id': self.sale_journal.id, + 'journal_id': self.session_id.config_id.invoice_journal_id.id, 'type': 'out_invoice', 'reference': self.name, 'partner_id': self.partner_id.id, @@ -790,13 +790,13 @@ class ReportSaleDetails(models.AbstractModel): @api.model - def get_sale_details(self, date_start=False, date_stop=False, company=False): + def get_sale_details(self, date_start=False, date_stop=False, configs=False): """ Serialise the orders of the day information - params: date_start, date_stop string representing the day of order + params: date_start, date_stop string representing the datetime of order """ - if not company: - company = self.env.user.company_id + if not configs: + configs = self.env['pos.config'].search([]) today = fields.Datetime.from_string(fields.Date.context_today(self)) if date_start: @@ -807,7 +807,7 @@ class ReportSaleDetails(models.AbstractModel): if date_stop: # set time to 23:59:59 - date_stop = fields.Datetime.from_string(date_stop) + timedelta(days=1, seconds=-1) + date_stop = fields.Datetime.from_string(date_stop) else: # stop by default today 23:59:59 date_stop = today + timedelta(days=1, seconds=-1) @@ -817,9 +817,13 @@ class ReportSaleDetails(models.AbstractModel): date_start = fields.Datetime.to_string(date_start) date_stop = fields.Datetime.to_string(date_stop) - orders = self.env['pos.order'].search([('date_order', '>=', date_start), ('date_order', '<=', date_stop), - ('state', 'in', ['paid','invoiced','done']), - ('company_id', '=', company.id)]) + + orders = self.env['pos.order'].search([ + ('date_order', '>=', date_start), + ('date_order', '<=', date_stop), + ('state', 'in', ['paid','invoiced','done']), + ('config_id', 'in', configs.ids)]) + user_currency = self.env.user.company_id.currency_id total = 0.0 @@ -876,7 +880,7 @@ class ReportSaleDetails(models.AbstractModel): } @api.multi - def render_html(self, data=None): + def render_html(self, docids, data=None): company = request.env.user.company_id date_start = self.env.context.get('date_start', False) date_stop = self.env.context.get('date_stop', False) diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index 942625d76ba..ea0f8391bfe 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -144,10 +144,13 @@ class PosSession(models.Model): pos_config = self.env['pos.config'].browse(config_id) ctx = dict(self.env.context, company_id=pos_config.company_id.id) if not pos_config.journal_id: - jid = pos_config.with_context(ctx).default_get(['journal_id'])['journal_id'] - if not jid: + default_journals = pos_config.with_context(ctx).default_get(['journal_id', 'invoice_journal_id']) + if (not default_journals.get('journal_id') or + not default_journals.get('invoice_journal_id')): raise UserError(_("Unable to open the session. You have to assign a sale journal to your point of sale.")) - pos_config.with_context(ctx).sudo().write({'journal_id': jid}) + pos_config.with_context(ctx).sudo().write({ + 'journal_id': default_journals['journal_id'], + 'invoice_journal_id': default_journals['invoice_journal_id']}) # define some cash journal if no payment method exists if not pos_config.journal_ids: Journal = self.env['account.journal'] diff --git a/addons/point_of_sale/static/src/js/report.js b/addons/point_of_sale/static/src/js/report.js deleted file mode 100644 index 783ace7f655..00000000000 --- a/addons/point_of_sale/static/src/js/report.js +++ /dev/null @@ -1,63 +0,0 @@ -odoo.define('point_of_sale.report', function (require) { -"use strict"; - -var chat_manager = require('mail.chat_manager'); -var composer = require('mail.composer'); -var ChatThread = require('mail.ChatThread'); -var utils = require('mail.utils'); - -var config = require('web.config'); -var core = require('web.core'); -var data = require('web.data'); -var Dialog = require('web.Dialog'); -var framework = require('web.framework'); -var Model = require('web.Model'); - -var pyeval = require('web.pyeval'); -var SearchView = require('web.SearchView'); - -var ActionManager = require('web.ActionManager'); -var ControlPanelMixin = require('web.ControlPanelMixin'); -var datepicker = require('web.datepicker'); -var Widget = require('web.Widget'); - -var QWeb = core.qweb; -var _t = core._t; - -// TODO replace in v10 with proper wizard -var PosDetailsWidget = Widget.extend(ControlPanelMixin, { - template: 'WizardSaleDetailsReport', - events: { - "click .js_generate": "renderReport", - }, - - renderElement: function() { - this._super(); - - var current_date = new moment(); - this.dp_start = new datepicker.DateWidget(this); - this.dp_start.insertBefore(this.$el.find('.js_date_start')); - this.dp_start.set_value(current_date.format('YYYY-MM-DD')); - - this.dp_stop = new datepicker.DateWidget(this); - this.dp_stop.insertAfter(this.$el.find('.js_date_stop')); - this.dp_stop.set_value(current_date.format('YYYY-MM-DD')); - - }, - - renderReport: function() { - var start = this.dp_start.get_value(); - var stop = this.dp_stop.get_value(); - var url = '/pos/sale_details_report?date_start='+start+'&date_stop='+stop; - window.open(url, '_blank'); - - }, - -}); - - -core.action_registry.add('report_pos_details', PosDetailsWidget); - -return PosDetailsWidget; - -}); diff --git a/addons/point_of_sale/static/src/xml/pos.xml b/addons/point_of_sale/static/src/xml/pos.xml index d7d54123a8c..1b044274ce8 100644 --- a/addons/point_of_sale/static/src/xml/pos.xml +++ b/addons/point_of_sale/static/src/xml/pos.xml @@ -938,30 +938,6 @@ </t> - <t t-name="WizardSaleDetailsReport"> - <div class="o_form_view"><div class="oe_form_sheetbg o_form_sheet_bg"><div class="oe_form_sheet oe_form_sheet_width o_form_sheet"> - <div class="pos_details_dates"> - <h3>Select Dates for the report</h3> - <table class="table-condensed"> - <tr> - <td><strong>Start date</strong></td> - <td><div class="js_date_start"></div></td> - </tr> - <tr> - <td><strong>Stop date</strong></td> - <td><div class="js_date_stop"></div></td> - </tr> - </table> - <p> - <button class="js_generate">Generate report</button> - </p> - </div> - - - </div></div></div> - </t> - - <t t-name="PopupWidget"> <div class="modal-dialog"> <div class="popup popup-alert"> diff --git a/addons/point_of_sale/tests/test_frontend.py b/addons/point_of_sale/tests/test_frontend.py index c399c974677..88fbc551bb7 100644 --- a/addons/point_of_sale/tests/test_frontend.py +++ b/addons/point_of_sale/tests/test_frontend.py @@ -42,8 +42,10 @@ class TestUi(odoo.tests.HttpCase): env['product.pricelist'].search([]).write(dict(currency_id=main_company.currency_id.id)) - main_pos_config.journal_id = test_sale_journal - main_pos_config.write({'journal_ids': [(0, 0, {'name': 'Cash Journal - Test', + main_pos_config.write({ + 'journal_id': test_sale_journal.id, + 'invoice_journal_id': test_sale_journal.id, + 'journal_ids': [(0, 0, {'name': 'Cash Journal - Test', 'code': 'TSC', 'type': 'cash', 'company_id': main_company.id, diff --git a/addons/point_of_sale/views/point_of_sale_template.xml b/addons/point_of_sale/views/point_of_sale_template.xml index a30340fa4d7..673c6e3e943 100644 --- a/addons/point_of_sale/views/point_of_sale_template.xml +++ b/addons/point_of_sale/views/point_of_sale_template.xml @@ -4,7 +4,6 @@ <xpath expr="." position="inside"> <link rel="stylesheet" href="/point_of_sale/static/src/less/pos_dashboard.less"/> <script type="text/javascript" src="/point_of_sale/static/src/js/tour.js"></script> - <script type="text/javascript" src="/point_of_sale/static/src/js/report.js"></script> </xpath> </template> </odoo> diff --git a/addons/point_of_sale/views/pos_config_view.xml b/addons/point_of_sale/views/pos_config_view.xml index a50f40929a5..f94f7905cca 100644 --- a/addons/point_of_sale/views/pos_config_view.xml +++ b/addons/point_of_sale/views/pos_config_view.xml @@ -14,6 +14,7 @@ <field name="company_id" groups="base.group_multi_company"/> <field name="pricelist_id" groups="product.group_sale_pricelist"/> <field name="journal_id" widget="selection"/> + <field name="invoice_journal_id" widget="selection"/> <field name="group_by" groups="account.group_account_user"/> <field name="barcode_nomenclature_id" /> <field name="sequence_id" readonly="1" groups="base.group_no_one"/> diff --git a/addons/point_of_sale/views/pos_order_report_view.xml b/addons/point_of_sale/views/pos_order_report_view.xml index 148b4e2b0bf..0559f75edba 100644 --- a/addons/point_of_sale/views/pos_order_report_view.xml +++ b/addons/point_of_sale/views/pos_order_report_view.xml @@ -68,9 +68,12 @@ <field name="context">{'group_by_no_leaf':1,'group_by':[]}</field> </record> - <record id="action_report_pos_details" model="ir.actions.client"> + + <record id="action_report_pos_details" model="ir.actions.act_window"> <field name="name">Sale Details</field> - <field name="tag">report_pos_details</field> + <field name="res_model">pos.details.wizard</field> + <field name="view_mode">form</field> + <field name="target">new</field> </record> <menuitem id="menu_report_pos_order_all" name="Orders" action="action_report_pos_order_all" parent="menu_point_rep" sequence="3"/> diff --git a/addons/point_of_sale/wizard/__init__.py b/addons/point_of_sale/wizard/__init__.py index c708aa57677..442fc2a4133 100644 --- a/addons/point_of_sale/wizard/__init__.py +++ b/addons/point_of_sale/wizard/__init__.py @@ -2,6 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import pos_box +import pos_details import pos_discount import pos_open_statement import pos_payment diff --git a/addons/point_of_sale/wizard/pos_details.py b/addons/point_of_sale/wizard/pos_details.py new file mode 100644 index 00000000000..d261fe1e4e4 --- /dev/null +++ b/addons/point_of_sale/wizard/pos_details.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models +from odoo.exceptions import UserError + + +class PosDetails(models.TransientModel): + _name = 'pos.details.wizard' + _description = 'Open Sale Details Report' + + start_date = fields.Datetime(required=True, default=fields.Datetime.now) + end_date = fields.Datetime(required=True, default=fields.Datetime.now) + pos_config_ids = fields.Many2many('pos.config', 'pos_detail_configs', + default=lambda s: s.env['pos.config'].search([])) + + @api.onchange('start_date') + def _onchange_start_date(self): + if self.start_date and self.end_date and self.end_date < self.start_date: + self.end_date = self.start_date + + @api.onchange('end_date') + def _onchange_end_date(self): + if self.end_date and self.end_date < self.start_date: + self.start_date = self.end_date + + @api.multi + def generate_report(self): + data = {'date_start': self.start_date, 'date_stop': self.end_date} + data.update(self.env['report.point_of_sale.report_saledetails'].get_sale_details( + self.start_date, self.end_date, self.pos_config_ids)) + return self.env['report'].get_action( + [], 'point_of_sale.report_saledetails', data=data) diff --git a/addons/point_of_sale/wizard/pos_details.xml b/addons/point_of_sale/wizard/pos_details.xml new file mode 100644 index 00000000000..10a8f92ad31 --- /dev/null +++ b/addons/point_of_sale/wizard/pos_details.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="view_pos_details_wizard" model="ir.ui.view"> + <field name="name">pos.details.wizard.form</field> + <field name="model">pos.details.wizard</field> + <field name="arch" type="xml"> + <form string="Sale Details"> + <group> + <field name="start_date"/> + <field name="end_date"/> + </group> + <group> + <field name="pos_config_ids" colspan="4" nolabel="1" /> + </group> + <footer> + <button name="generate_report" string="Print" type="object" class="btn-primary"/> + <button string="Cancel" class="btn-default" special="cancel" /> + </footer> + </form> + </field> + </record> + +</odoo> diff --git a/addons/procurement/i18n/en_US.po b/addons/procurement/i18n/en_US.po deleted file mode 100644 index 4a7d2b6a168..00000000000 --- a/addons/procurement/i18n/en_US.po +++ /dev/null @@ -1,528 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-18 08:11+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: procurement -#: model:ir.actions.act_window,help:procurement.procurement_order_action_exceptions -msgid "" -"A <b>Procurement Exception</b> occurs when the system cannot find a way to " -"fulfill a procurement. Some exceptions will resolve themselves " -"automatically, but others require manual intervention (those are identified " -"by a specific error message in the chatter)." -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,help:procurement.procurement_action -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_product_stat -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_template_stat -msgid "" -"A <b>procurement order</b> is used to record a need for a specific\n" -" product at a specific location. Procurement orders are " -"usually\n" -" created automatically from <i>sales orders, pull logistic " -"rules or\n" -" minimum stock rules.</i>" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_action -msgid "Action" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_active -msgid "Active" -msgstr "" - -#. module: procurement -#: selection:procurement.group,move_type:0 -msgid "All at once" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_compute_schedulers_wizard -msgid "Cancel" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Cancel Procurement" -msgstr "" - -#. module: procurement -#: selection:procurement.order,state:0 -msgid "Cancelled" -msgstr "" - -#. module: procurement -#: code:addons/procurement/procurement.py:138 -#, python-format -msgid "Cannot delete Procurement Order(s) which are in %s state." -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Check Procurement" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,help:procurement.field_procurement_order_rule_id -msgid "" -"Chosen rule for the procurement resolution. Usually chosen by the system but " -"can be manually set by the procurement manager to force an unusual behavior." -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,help:procurement.procurement_action -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_product_stat -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_template_stat -msgid "Click to create a procurement order." -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_company_id -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_company_id -msgid "Company" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_compute_schedulers_wizard -msgid "Compute all procurements in the background." -msgstr "" - -#. module: procurement -#: model:ir.model,name:procurement.model_procurement_order_compute_all -msgid "Compute all schedulers" -msgstr "" - -#. module: procurement -#: selection:procurement.order,state:0 -msgid "Confirmed" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_create_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_create_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_order_create_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_create_uid -msgid "Created by" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_create_date -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_create_date -#: model:ir.model.fields,field_description:procurement.field_procurement_order_create_date -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_create_date -msgid "Created on" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_move_type -msgid "Delivery Type" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_name -msgid "Description" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_display_name -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_display_name -#: model:ir.model.fields,field_description:procurement.field_procurement_order_display_name -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_display_name -msgid "Display Name" -msgstr "" - -#. module: procurement -#: selection:procurement.order,state:0 -msgid "Done" -msgstr "" - -#. module: procurement -#: selection:procurement.order,state:0 -msgid "Exception" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Exceptions" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "External note..." -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Extra Information" -msgstr "" - -#. module: procurement -#: selection:procurement.rule,group_propagation_option:0 -msgid "Fixed" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_group_id -msgid "Fixed Procurement Group" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_filter -msgid "Global" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Group By" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,name:procurement.do_view_procurements -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Group's Procurements" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_id -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_id -#: model:ir.model.fields,field_description:procurement.field_procurement_order_id -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_id -msgid "ID" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_filter -msgid "If the route is global" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,help:procurement.field_procurement_rule_active -msgid "If unchecked, it will allow you to hide the rule without removing it." -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group___last_update -#: model:ir.model.fields,field_description:procurement.field_procurement_order___last_update -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all___last_update -#: model:ir.model.fields,field_description:procurement.field_procurement_rule___last_update -msgid "Last Modified on" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_write_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_write_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_order_write_uid -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_write_date -#: model:ir.model.fields,field_description:procurement.field_procurement_order_compute_all_write_date -#: model:ir.model.fields,field_description:procurement.field_procurement_order_write_date -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_write_date -msgid "Last Updated on" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Late" -msgstr "" - -#. module: procurement -#: selection:procurement.rule,group_propagation_option:0 -msgid "Leave Empty" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.mrp_company -msgid "Logistics" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,help:procurement.procurement_order_action_exceptions -msgid "" -"Most common exceptions are products to purchase without\n" -" having a vendor defined on the product, and products to\n" -" manufacture without having a bill of materials." -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_name -msgid "Name" -msgstr "" - -#. module: procurement -#: code:addons/procurement/procurement.py:200 -#, python-format -msgid "No rule matching this procurement" -msgstr "" - -#. module: procurement -#: selection:procurement.order,priority:0 -msgid "Normal" -msgstr "" - -#. module: procurement -#: selection:procurement.order,priority:0 -msgid "Not urgent" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Notes" -msgstr "" - -#. module: procurement -#: selection:procurement.group,move_type:0 -msgid "Partial" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_priority -msgid "Priority" -msgstr "" - -#. module: procurement -#: model:ir.model,name:procurement.model_procurement_order -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Procurement" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,name:procurement.procurement_action5 -#: model:ir.actions.act_window,name:procurement.procurement_order_action_exceptions -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Procurement Exceptions" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_group_id -msgid "Procurement Group" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_tree_view -msgid "Procurement Lines" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,name:procurement.procurement_action -#: model:ir.actions.act_window,name:procurement.procurement_order_action_product_product_stat -#: model:ir.actions.act_window,name:procurement.procurement_order_action_product_template_stat -msgid "Procurement Orders" -msgstr "" - -#. module: procurement -#: model:ir.model,name:procurement.model_procurement_group -msgid "Procurement Requisition" -msgstr "" - -#. module: procurement -#: model:ir.model,name:procurement.model_procurement_rule -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_form -msgid "Procurement Rule" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_tree -msgid "Procurement Rules" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_group_form_view -msgid "Procurement group" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Procurement started late" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_procurement_ids -#: model:ir.ui.view,arch_db:procurement.procurement_group_form_view -#: model:ir.ui.view,arch_db:procurement.product_product_view_form_procurement_button -#: model:ir.ui.view,arch_db:procurement.product_template_view_form_procurement_button -msgid "Procurements" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_product_id -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Product" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_product_uom -msgid "Product Unit of Measure" -msgstr "" - -#. module: procurement -#: selection:procurement.rule,group_propagation_option:0 -msgid "Propagate" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_form -msgid "Propagation Options" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_group_propagation_option -msgid "Propagation of Procurement Group" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_product_qty -msgid "Quantity" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Reconfirm Procurement" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_group_name -msgid "Reference" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,help:procurement.field_procurement_order_origin -msgid "" -"Reference of the document that created this Procurement.\n" -"This is automatically completed by Odoo." -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_rule_id -msgid "Rule" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Run Procurement" -msgstr "" - -#. module: procurement -#: model:ir.actions.server,name:procurement.procurement_order_server_action -msgid "Run Procurements" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,name:procurement.action_compute_schedulers -#: model:ir.ui.view,arch_db:procurement.view_compute_schedulers_wizard -msgid "Run Schedulers" -msgstr "" - -#. module: procurement -#: selection:procurement.order,state:0 -msgid "Running" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_date_planned -msgid "Scheduled Date" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Scheduled Month" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_compute_schedulers_wizard -msgid "Scheduler Parameters" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "Scheduling" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_filter -msgid "Search Procurement" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_rule_sequence -msgid "Sequence" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_origin -msgid "Source Document" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,field_description:procurement.field_procurement_order_state -#: model:ir.ui.view,arch_db:procurement.view_procurement_filter -msgid "Status" -msgstr "" - -#. module: procurement -#: model:ir.model.fields,help:procurement.field_procurement_rule_name -msgid "This field will fill the packing origin and the name of its moves" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_tree_view -msgid "Unit of Measure" -msgstr "" - -#. module: procurement -#: selection:procurement.order,priority:0 -msgid "Urgent" -msgstr "" - -#. module: procurement -#: selection:procurement.order,priority:0 -msgid "Very Urgent" -msgstr "" - -#. module: procurement -#: model:ir.actions.act_window,help:procurement.procurement_action -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_product_stat -#: model:ir.actions.act_window,help:procurement.procurement_order_action_product_template_stat -#, fuzzy -msgid "" -"When the procurement order is confirmed, it automatically\n" -" creates the necessary operations to fulfill the need: " -"purchase\n" -" order proposition, manufacturing order, etc." -msgstr "" -"When the procurement order is confirmed, it automatically\n" -" creates the necessary operations to fulfil the need: " -"purchase\n" -" order proposition, manufacturing order, etc." - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.view_procurement_rule_form -msgid "e.g. Buy" -msgstr "" - -#. module: procurement -#: model:ir.ui.view,arch_db:procurement.procurement_form_view -msgid "e.g. SO005" -msgstr "" diff --git a/addons/product/data/product_data.xml b/addons/product/data/product_data.xml index 30f2b373768..386f3a5f59d 100644 --- a/addons/product/data/product_data.xml +++ b/addons/product/data/product_data.xml @@ -191,10 +191,6 @@ parameter) will see those record just disappear. <!-- Property --> - <record forcecreate="True" id="property_product_pricelist" model="ir.property"> - <field name="name">property_product_pricelist</field> - <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/> - <field eval="'product.pricelist,'+str(ref('list0'))" name="value"/> - </record> + </data> </odoo> diff --git a/addons/product/data/product_demo.xml b/addons/product/data/product_demo.xml index 3df6bb1f9a2..0c0c80bce42 100644 --- a/addons/product/data/product_demo.xml +++ b/addons/product/data/product_demo.xml @@ -719,8 +719,9 @@ QWERTY keyboard</field> <record forcecreate="True" id="property_product_pricelist_demo" model="ir.property"> <field name="name">property_product_pricelist</field> <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/> - <field eval="'product.pricelist,'+str(ref('list0'))" name="value"/> - <field eval="'res.partner,'+str(ref('base.partner_demo'))" name="res_id"/> + <field name="value" eval="'product.pricelist,'+str(ref('list0'))"/> + <field name="res_id" eval="'res.partner,'+str(ref('base.partner_demo'))"/> + <field name="company_id" ref="base.main_company"/> </record> </data> diff --git a/addons/product/i18n/product.pot b/addons/product/i18n/product.pot index 1c79405bd65..d855e9d165e 100644 --- a/addons/product/i18n/product.pot +++ b/addons/product/i18n/product.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:11+0000\n" -"PO-Revision-Date: 2016-09-05 14:11+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -32,13 +32,13 @@ msgid "# Products" msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:392 +#: code:addons/product/models/product_pricelist.py:438 #, python-format msgid "%s %% discount" msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:394 +#: code:addons/product/models/product_pricelist.py:440 #, python-format msgid "%s %% discount and %s surcharge" msgstr "" @@ -50,6 +50,70 @@ msgid "%s (copy)" msgstr "" #. module: product +#: model:product.attribute.value,name:product.product_attribute_value_1 +msgid "16 GB" +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.product_product_3 +#: model:product.template,description_sale:product.product_product_3_product_template +msgid "17\" LCD Monitor\n" +"Processor AMD 8-Core\n" +"512MB RAM\n" +"HDD SH-1" +msgstr "" + +#. module: product +#: model:product.product,description:product.product_product_25 +#: model:product.template,description:product.product_product_25_product_template +msgid "17\" Monitor\n" +"4GB RAM\n" +"Standard-1294P Processor\n" +"QWERTY keyboard" +msgstr "" + +#. module: product +#: model:product.attribute.value,name:product.product_attribute_value_5 +msgid "2.4 GHz" +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.product_product_8 +#: model:product.template,description_sale:product.product_product_8_product_template +msgid "2.7GHz quad-core Intel Core i5\n" +" Turbo Boost up to 3.2GHz\n" +" 8GB (two 4GB) memory\n" +" 1TB hard drive\n" +" Intel Iris Pro graphics\n" +" " +msgstr "" + +#. module: product +#: model:product.attribute.value,name:product.product_attribute_value_2 +msgid "32 GB" +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.product_product_4 +#: model:product.product,description_sale:product.product_product_4b +#: model:product.product,description_sale:product.product_product_4c +#: model:product.product,description_sale:product.product_product_4d +#: model:product.template,description_sale:product.product_product_4_product_template +#: model:product.template,description_sale:product.product_product_4b_product_template +#: model:product.template,description_sale:product.product_product_4c_product_template +#: model:product.template,description_sale:product.product_product_4d_product_template +msgid "7.9‑inch (diagonal) LED-backlit, 128Gb\n" +"Dual-core A5 with quad-core graphics\n" +"FaceTime HD Camera, 1.2 MP Photos" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "75 percent less reflection." +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view msgid "<span attrs=\"{'invisible':[('base', '!=', 'list_price')]}\">Public Price - </span>\n" " <span attrs=\"{'invisible':[('base', '!=', 'standard_price')]}\">Cost - </span>\n" @@ -118,6 +182,12 @@ msgid "A description of the Product that you want to communicate to your vendors msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_9 +#: model:product.template,website_description:product.product_product_9_product_template +msgid "A great Keyboard. Cordless." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_description #: model:ir.model.fields,help:product.field_product_template_description msgid "A precise description of the Product, used only for internal information purposes." @@ -130,6 +200,12 @@ msgid "A price list contains rules to be evaluated in order to compute\n" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "A screen worthy of iPad." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_type #: model:ir.model.fields,help:product.field_product_template_type msgid "A stockable product is a product for which you manage stock. The \"Inventory\" app has to be installed.\n" @@ -139,10 +215,21 @@ msgid "A stockable product is a product for which you manage stock. The \"Invent msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "About the size of a credit card — and just 5.4 mm thin — iPod nano is the thinnest iPod ever made.\n" +" The 2.5-inch Multi-Touch display is nearly twice as big as the display on the previous iPod nano,\n" +" so you can see more of the music, photos, and videos you love." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_pricelist_active #: model:ir.model.fields,field_description:product.field_product_product_active #: model:ir.model.fields,field_description:product.field_product_template_active #: model:ir.model.fields,field_description:product.field_product_uom_active +#: model:ir.ui.view,arch_db:product.product_supplierinfo_search_view msgid "Active" msgstr "" @@ -152,7 +239,7 @@ msgid "All" msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:387 +#: code:addons/product/models/product_pricelist.py:433 #, python-format msgid "All Products" msgstr "" @@ -163,6 +250,36 @@ msgid "All general settings about this product are managed on" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "And at the Apple Online Store, you can configure your iMac with an even more powerful Intel Core i7 processor, up to 3.5GHz." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +msgid "And because it’s so easy to use, it’s easy to love." +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_7 +#: model:product.template,name:product.product_product_7_product_template +msgid "Apple In-Ear Headphones" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_9 +#: model:product.template,name:product.product_product_9_product_template +msgid "Apple Wireless Keyboard" +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_normal_form_view #: model:ir.ui.view,arch_db:product.product_pricelist_view msgid "Applicable On" @@ -175,6 +292,7 @@ msgstr "" #. module: product #: model:ir.ui.view,arch_db:product.product_pricelist_view_search +#: model:ir.ui.view,arch_db:product.product_supplierinfo_search_view #: model:ir.ui.view,arch_db:product.product_template_search_view msgid "Archived" msgstr "" @@ -191,6 +309,12 @@ msgid "Attribute" msgstr "" #. module: product +#: model:ir.ui.view,arch_db:product.product_attribute_line_form +#: model:ir.ui.view,arch_db:product.product_attribute_view_form +msgid "Attribute Name" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_attribute_value_price_extra msgid "Attribute Price Extra" msgstr "" @@ -203,6 +327,7 @@ msgstr "" #. module: product #: model:ir.actions.act_window,name:product.variants_action #: model:ir.model.fields,field_description:product.field_product_attribute_line_value_ids +#: model:ir.ui.view,arch_db:product.product_attribute_view_form msgid "Attribute Values" msgstr "" @@ -216,6 +341,18 @@ msgid "Attributes" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Auxiliary input for portable devices" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Auxiliary port lets you connect other audio sources, like an MP3 player" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_barcode #: model:ir.model.fields,field_description:product.field_product_template_barcode msgid "Barcode" @@ -242,6 +379,30 @@ msgid "Based on" msgstr "" #. module: product +#: model:product.product,name:product.consu_delivery_03 +#: model:product.template,name:product.consu_delivery_03_product_template +msgid "Basic Computer" +msgstr "" + +#. module: product +#: model:product.product,name:product.membership_2 +#: model:product.template,name:product.membership_2_product_template +msgid "Basic Membership" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Beautiful 7.9‑inch display." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Beautiful widescreen display." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_image msgid "Big-sized image" msgstr "" @@ -257,6 +418,51 @@ msgid "Bigger than the reference Unit of Measure" msgstr "" #. module: product +#: model:product.attribute.value,name:product.product_attribute_value_4 +msgid "Black" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Bluetooth connectivity" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_5b +#: model:product.template,name:product.product_product_5b_product_template +msgid "Bose Mini Bluetooth Speaker" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Bose Mini Bluetooth Speaker." +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.product_product_5b +#: model:product.template,description_sale:product.product_product_5b_product_template +msgid "Bose's smallest portable Bluetooth speaker" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Brilliance onscreen. And behind it." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Buttons let you quickly play, pause, change songs, or adjust the volume.\n" +" The smooth anodized aluminum design makes iPod nano feel as good as it sounds.\n" +" And iPod nano wouldn’t be iPod nano without gorgeous, hard-to-choose-from color." +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.view_product_price_list msgid "Calculate Product Price per Unit Based on Pricelist Version." msgstr "" @@ -303,12 +509,31 @@ msgid "Category name" msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:381 +#: code:addons/product/models/product_pricelist.py:427 #, python-format msgid "Category: %s" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Characteristics" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Charges iPod/iPhone" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Charging cradle recharges the battery and serves as a convenient\n" +" home base for your speaker, and it lets you play while it charges." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_attribute_create_variant msgid "Check this if you want to create multiple variants for this attribute." msgstr "" @@ -348,12 +573,30 @@ msgid "Codes" msgstr "" #. module: product +#: model:product.attribute,name:product.product_attribute_2 +msgid "Color" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_color #: model:ir.model.fields,field_description:product.field_product_template_color msgid "Color Index" msgstr "" #. module: product +#: model:product.product,description_sale:product.product_product_6 +#: model:product.template,description_sale:product.product_product_6_product_template +msgid "Color: White\n" +"Capacity: 16GB\n" +"Connectivity: Wifi\n" +"Beautiful 7.9-inch display\n" +"Over 375,000 apps\n" +"Ultrafast wireless\n" +"iOS7\n" +" " +msgstr "" + +#. module: product #: model:ir.model,name:product.model_res_company msgid "Companies" msgstr "" @@ -383,6 +626,18 @@ msgid "Compute price" msgstr "" #. module: product +#: model:product.product,name:product.product_product_16 +#: model:product.template,name:product.product_product_16_product_template +msgid "Computer Case" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_3 +#: model:product.template,name:product.product_product_3_product_template +msgid "Computer SC234" +msgstr "" + +#. module: product #: code:addons/product/models/product_template.py:42 #: selection:product.template,type:0 #, python-format @@ -395,7 +650,7 @@ msgid "Conversion between Units of Measure can only occur if they belong to the msgstr "" #. module: product -#: code:addons/product/models/product_uom.py:88 +#: code:addons/product/models/product_uom.py:89 #, python-format msgid "Conversion from Product UoM %s to Default UoM %s is not possible as they both belong to different Category!." msgstr "" @@ -419,6 +674,22 @@ msgid "Cost of the product, in the default unit of measure of the product." msgstr "" #. module: product +#: model:product.product,name:product.service_delivery +#: model:product.template,name:product.service_delivery_product_template +msgid "Cost-plus Contract" +msgstr "" + +#. module: product +#: model:ir.model,name:product.model_res_country_group +msgid "Country Group" +msgstr "" + +#. module: product +#: model:ir.model.fields,field_description:product.field_product_pricelist_country_group_ids +msgid "Country Groups" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_attribute_create_variant msgid "Create variant" msgstr "" @@ -462,6 +733,12 @@ msgid "Created on" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Creating such a stunningly thin design took some equally stunning feats of technological innovation. We refined,re-imagined,or re-engineered everything about iMac from the inside out. The result is an advanced, elegant all-in-one computer that’s as much a work of art as it is state of the art." +msgstr "" + +#. module: product #: model:ir.model,name:product.model_res_currency #: model:ir.model.fields,field_description:product.field_product_pricelist_currency_id #: model:ir.model.fields,field_description:product.field_product_pricelist_item_currency_id @@ -472,11 +749,35 @@ msgid "Currency" msgstr "" #. module: product +#: model:product.product,name:product.product_product_5 +#: model:product.template,name:product.product_product_5_product_template +msgid "Custom Computer (kit)" +msgstr "" + +#. module: product +#: model:product.product,description:product.product_product_27 +#: model:product.template,description:product.product_product_27_product_template +msgid "Custom Laptop based on customer's requirement." +msgstr "" + +#. module: product +#: model:product.product,description:product.product_product_5 +#: model:product.template,description:product.product_product_5_product_template +msgid "Custom computer shipped in kit." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_partner_ref msgid "Customer Ref" msgstr "" #. module: product +#: model:product.product,name:product.product_delivery_02 +#: model:product.template,name:product.product_delivery_02_product_template +msgid "Datacard" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_price_history_datetime msgid "Date" msgstr "" @@ -515,6 +816,14 @@ msgid "Description for Quotations" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Design. The thinnest iPod ever." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_attribute_sequence #: model:ir.model.fields,help:product.field_product_attribute_value_sequence msgid "Determine the display order" @@ -546,6 +855,13 @@ msgid "Dozen(s)" msgstr "" #. module: product +#: model:product.product,description_sale:product.consu_delivery_03 +#: model:product.template,description_sale:product.consu_delivery_03_product_template +msgid "Dvorak keyboard \n" +" left-handed mouse" +msgstr "" + +#. module: product #: model:ir.actions.act_window,help:product.product_pricelist_action2 msgid "Each rule include a set of applicability criteria (date range,\n" " product category...) and a computation that easily helps to achieve\n" @@ -553,6 +869,12 @@ msgid "Each rule include a set of applicability criteria (date range,\n" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Efficient, high-quality audio" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_pricelist_item_date_end #: model:ir.model.fields,field_description:product.field_product_supplierinfo_date_end msgid "End Date" @@ -581,19 +903,19 @@ msgid "Error ! You cannot use this attribute with the following value." msgstr "" #. module: product -#: code:addons/product/models/product.py:293 +#: code:addons/product/models/product.py:302 #, python-format msgid "Error! It is not allowed to choose more than one value for a given attribute." msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:373 +#: code:addons/product/models/product_pricelist.py:419 #, python-format msgid "Error! The minimum margin should be lower than the maximum margin." msgstr "" #. module: product -#: code:addons/product/models/product_pricelist.py:367 +#: code:addons/product/models/product_pricelist.py:413 #, python-format msgid "Error! You cannot assign the Main Pricelist as Other Pricelist in PriceList Item!" msgstr "" @@ -605,12 +927,82 @@ msgid "Error: The default Unit of Measure and the purchase Unit of Measure must msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Everything you love about iPad — the beautiful\n" +" screen, fast Colors are vivid and text is sharp on the iPad mini display.\n" +" But what really makes it stand out is its size. At 7.9 inches,\n" +" it’s perfectly sized to deliver an experience every bit as big as iPad." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +msgid "Everything you love about iPad — the beautiful\n" +" screen, fast and fluid performance, FaceTime and\n" +" iSight cameras, thousands of amazing apps, 10-hour\n" +" battery life* — is everything you’ll love about\n" +" iPad mini, too. And you can hold it in one hand." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Everything you love about iPad — the beautiful screen,\n" +" fast and fluid performance, FaceTime and iSight cameras, \n" +" thousands of amazing apps, 10-hour battery life* — is everything\n" +" you’ll love about iPad mini, too. And you can hold it in one hand." +msgstr "" + +#. module: product +#: model:product.product,description:product.product_product_2 +#: model:product.template,description:product.product_product_2_product_template +msgid "Example of product to invoice based on delivery." +msgstr "" + +#. module: product +#: model:product.product,description:product.service_order_01 +#: model:product.template,description:product.service_order_01_product_template +msgid "Example of product to invoice on order." +msgstr "" + +#. module: product +#: model:product.product,description:product.service_cost_01 +#: model:product.template,description:product.service_cost_01_product_template +msgid "Example of products to invoice based on cost." +msgstr "" + +#. module: product +#: model:product.product,description:product.product_product_1 +#: model:product.template,description:product.product_product_1_product_template +msgid "Example of products to invoice based on delivery." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_pricelist_item_name #: model:ir.model.fields,help:product.field_product_pricelist_item_price msgid "Explicit rule name for this pricelist line." msgstr "" #. module: product +#: model:product.product,name:product.service_cost_01 +#: model:product.template,name:product.service_cost_01_product_template +msgid "External Audit" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Fast connections.The world over." +msgstr "" + +#. module: product #: selection:product.pricelist.item,compute_price:0 msgid "Fix Price" msgstr "" @@ -632,11 +1024,43 @@ msgid "Formula" msgstr "" #. module: product +#: model:product.product,description_sale:product.product_product_7 +#: model:product.template,description_sale:product.product_product_7_product_template +msgid "Frequency: 5Hz to 21kHz\n" +"Impedance: 23 ohms\n" +"Sensitivity: 109 dB SPL/mW\n" +"Drivers: two-way balanced armature\n" +"Cable length: 1065 mm\n" +"Weight: 10.2 grams\n" +" " +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Friendly to the environment." +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_1 +#: model:product.template,name:product.product_product_1_product_template +msgid "GAP Analysis Service" +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_template_form_view msgid "General Information" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Genius. Your own personal DJ." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_packaging_ids #: model:ir.model.fields,help:product.field_product_template_packaging_ids msgid "Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module." @@ -659,11 +1083,71 @@ msgid "Global" msgstr "" #. module: product +#: model:product.product,name:product.membership_0 +#: model:product.template,name:product.membership_0_product_template +msgid "Gold Membership" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_24 +#: model:product.template,name:product.product_product_24_product_template +msgid "Graphics Card" +msgstr "" + +#. module: product +#: model:ir.ui.view,arch_db:product.product_supplierinfo_search_view +msgid "Group By" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_17 +#: model:product.template,name:product.product_product_17_product_template +msgid "HDD SH-1" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Have Genius call the tunes." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "Hear, hear." +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.product_product_11 +#: model:product.product,description_sale:product.product_product_11b +#: model:product.template,description_sale:product.product_product_11_product_template +#: model:product.template,description_sale:product.product_product_11b_product_template +msgid "Height: 76.5 mm\n" +"Width: 39.6 mm\n" +"Depth: 5.4 mm\n" +"Weight: 31 grams" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Highly rated designs." +msgstr "" + +#. module: product #: model:product.uom,name:product.product_uom_hour msgid "Hour(s)" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "How did we make an already gorgeous widescreen display even better? By making it 75 percent less reflective. And by re-architecting the LCD and moving it right up against the cover glass. So you see your photos, games, movies, and everything else in vivid, lifelike detail." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_uom_factor_inv msgid "How many times this Unit of Measure is bigger than the reference Unit of Measure in this category: 1 * (this unit) = ratio * (reference unit)" msgstr "" @@ -674,6 +1158,14 @@ msgid "How much bigger or smaller this unit is compared to the reference Unit of msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "How to get your groove on." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_attribute_id #: model:ir.model.fields,field_description:product.field_product_attribute_line_id #: model:ir.model.fields,field_description:product.field_product_attribute_price_id @@ -694,6 +1186,12 @@ msgid "ID" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "If it's made for iPad, it's made for iPad mini." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_pricelist_active msgid "If unchecked, it will allow you to hide the pricelist without removing it." msgstr "" @@ -725,11 +1223,30 @@ msgid "Image of the product variant (Small-sized image of product template if fa msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Individually calibrated for true-to-life color." +msgstr "" + +#. module: product #: model:ir.model,name:product.model_product_supplierinfo msgid "Information about a product vendor" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "Inside each earpiece is a stainless steel mesh cap that protects the precision acoustic\n" +" components from dust and debris. You can remove the caps for cleaning or replace\n" +" them with an extra set that’s included in the box." +msgstr "" + +#. module: product +#: model:product.category,name:product.product_category_2 +msgid "Internal" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_categ_id #: model:ir.model.fields,field_description:product.field_product_template_categ_id msgid "Internal Category" @@ -749,6 +1266,30 @@ msgid "International Article Number used for product identification." msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "Keep it clean." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Key Features" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_27 +#: model:product.template,name:product.product_product_27_product_template +msgid "Laptop Customized" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_25 +#: model:product.template,name:product.product_product_25_product_template +msgid "Laptop E5023" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_attribute___last_update #: model:ir.model.fields,field_description:product.field_product_attribute_line___last_update #: model:ir.model.fields,field_description:product.field_product_attribute_price___last_update @@ -832,6 +1373,12 @@ msgid "Liter(s)" msgstr "" #. module: product +#: model:product.product,name:product.consu_delivery_02 +#: model:product.template,name:product.consu_delivery_02_product_template +msgid "Little server" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_packaging_ids #: model:ir.model.fields,field_description:product.field_product_template_packaging_ids msgid "Logistical Units" @@ -884,6 +1431,11 @@ msgid "Medium-sized image of the product. It is automatically resized as a 128x1 msgstr "" #. module: product +#: model:product.attribute,name:product.product_attribute_1 +msgid "Memory" +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view msgid "Min. Margin" msgstr "" @@ -904,6 +1456,44 @@ msgid "Minimal Quantity" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "More energy efficient." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "More features." +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_20 +#: model:product.template,name:product.product_product_20_product_template +msgid "Motherboard I9P57" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_10 +#: model:product.template,name:product.product_product_10_product_template +msgid "Mouse, Optical" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_12 +#: model:product.template,name:product.product_product_12_product_template +msgid "Mouse, Wireless" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Music. It's what beats inside." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_attribute_name #: model:ir.model.fields,field_description:product.field_product_category_name #: model:ir.model.fields,field_description:product.field_product_pricelist_item_name @@ -945,6 +1535,12 @@ msgid "Other Pricelist" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Over 375,000 apps." +msgstr "" + +#. module: product #: model:ir.model,name:product.model_product_packaging #: model:ir.ui.view,arch_db:product.product_packaging_form_view #: model:ir.ui.view,arch_db:product.product_packaging_tree_view @@ -982,6 +1578,37 @@ msgid "Percentage Price" msgstr "" #. module: product +#: model:product.category,name:product.product_category_5 +msgid "Physical" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Playlists. The perfect mix for every mood." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Plays where you play" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Powered by fourth-generation Intel Core processors, this iMac is the fastest yet. Every model in the lineup comes standard with a quad-core Intel Core i5 processor, starting at 2.7GHz and topping out at 3.4GHz." +msgstr "" + +#. module: product +#: model:product.product,name:product.service_order_01 +#: model:product.template,name:product.service_order_01_product_template +msgid "Prepaid Consulting" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_pricelist_item_price #: model:ir.model.fields,field_description:product.field_product_product_price #: model:ir.model.fields,field_description:product.field_product_supplierinfo_price @@ -1087,6 +1714,7 @@ msgstr "" #. module: product #: model:ir.actions.act_window,name:product.product_pricelist_action2 +#: model:ir.model.fields,field_description:product.field_res_country_group_pricelist_ids msgid "Pricelists" msgstr "" @@ -1112,6 +1740,12 @@ msgid "Print" msgstr "" #. module: product +#: model:product.product,name:product.product_product_22 +#: model:product.template,name:product.product_product_22_product_template +msgid "Processor Core i5 2.70 Ghz" +msgstr "" + +#. module: product #: model:ir.model,name:product.model_product_product #: model:ir.model.fields,field_description:product.field_product_packaging_product_tmpl_id #: model:ir.model.fields,field_description:product.field_product_price_history_product_id @@ -1120,6 +1754,7 @@ msgstr "" #: model:ir.model.fields,field_description:product.field_product_template_product_variant_id #: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view #: model:ir.ui.view,arch_db:product.product_supplierinfo_form_view +#: model:ir.ui.view,arch_db:product.product_supplierinfo_search_view #: model:ir.ui.view,arch_db:product.product_supplierinfo_tree_view #: model:ir.ui.view,arch_db:product.product_template_form_view #: model:ir.ui.view,arch_db:product.product_template_search_view @@ -1131,6 +1766,7 @@ msgstr "" #. module: product #: model:ir.model,name:product.model_product_attribute +#: model:ir.ui.view,arch_db:product.product_attribute_view_form msgid "Product Attribute" msgstr "" @@ -1140,6 +1776,11 @@ msgid "Product Attribute Value" msgstr "" #. module: product +#: model:ir.ui.view,arch_db:product.product_attribute_line_form +msgid "Product Attribute and Values" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_attribute_line_ids #: model:ir.model.fields,field_description:product.field_product_template_attribute_line_ids msgid "Product Attributes" @@ -1250,7 +1891,7 @@ msgid "Products your store in the inventory" msgstr "" #. module: product -#: code:addons/product/models/product.py:457 +#: code:addons/product/models/product.py:466 #, python-format msgid "Products: " msgstr "" @@ -1262,11 +1903,6 @@ msgid "Public Price" msgstr "" #. module: product -#: model:product.pricelist,name:product.list0 -msgid "Public Pricelist" -msgstr "" - -#. module: product #: model:ir.model.fields,field_description:product.field_product_product_description_purchase #: model:ir.model.fields,field_description:product.field_product_template_description_purchase msgid "Purchase Description" @@ -1309,6 +1945,12 @@ msgid "Quantity-5" msgstr "" #. module: product +#: model:product.product,name:product.product_product_13 +#: model:product.template,name:product.product_product_13_product_template +msgid "RAM SR5" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_uom_factor msgid "Ratio" msgstr "" @@ -1319,11 +1961,51 @@ msgid "Reference Unit of Measure for this category" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Remote control for power, volume, track seek" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_category_parent_right msgid "Right Parent" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Right from the start, apps made for iPad also work with iPad mini.\n" +" They’re immersive, full-screen apps that let you do almost anything\n" +" you can imagine. And with automatic updates,\n" +" you're always getting the best experience possible." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +msgid "Right from the start, there’s a lot to love about\n" +" iPad. It’s simple yet powerful. Thin and light yet\n" +" full-featured. It can do just about everything and\n" +" be just about anything." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Right from the start, there’s a lot to love about iPad.\n" +" It’s simple yet powerful. Thin and light yet full-\n" +" featured. It can do just about everything and be just\n" +" about anything.And because it’s so easy to use, it’s\n" +" easy to love." +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view msgid "Rounding Method" msgstr "" @@ -1367,6 +2049,19 @@ msgid "Sales Pricelists" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Say you’re listening to a song you love and you want to stay in the mood.\n" +" Just tap Genius. It finds other songs on iPod nano that go great together\n" +" and makes a Genius playlist for you. For more song combinations\n" +" you wouldn’t have thought of yourself, create Genius Mixes in iTunes\n" +" and sync the ones you like to iPod nano. Then tap Genius Mixes and\n" +" rediscover songs you haven’t heard in a while — or find music you forgot you even had." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_categ_id #: model:ir.model.fields,help:product.field_product_template_categ_id msgid "Select category for the current product" @@ -1377,6 +2072,7 @@ msgstr "" #: model:ir.model.fields,field_description:product.field_product_attribute_value_sequence #: model:ir.model.fields,field_description:product.field_product_packaging_sequence #: model:ir.model.fields,field_description:product.field_product_pricelist_item_sequence +#: model:ir.model.fields,field_description:product.field_product_pricelist_sequence #: model:ir.model.fields,field_description:product.field_product_product_sequence #: model:ir.model.fields,field_description:product.field_product_supplierinfo_sequence #: model:ir.model.fields,field_description:product.field_product_template_sequence @@ -1384,6 +2080,12 @@ msgid "Sequence" msgstr "" #. module: product +#: model:product.product,name:product.consu_delivery_01 +#: model:product.template,name:product.consu_delivery_01_product_template +msgid "Server" +msgstr "" + +#. module: product #: code:addons/product/models/product_template.py:43 #: selection:product.template,type:0 #, python-format @@ -1392,6 +2094,7 @@ msgstr "" #. module: product #: model:ir.ui.view,arch_db:product.product_template_search_view +#: model:product.category,name:product.product_category_3 msgid "Services" msgstr "" @@ -1415,6 +2118,18 @@ msgid "Share your product to all companies defined in your instance.\n" msgstr "" #. module: product +#: model:product.product,name:product.membership_1 +#: model:product.template,name:product.membership_1_product_template +msgid "Silver Membership" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Sleek, compact design" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_image_small #: model:ir.model.fields,field_description:product.field_product_template_image_small msgid "Small-sized image" @@ -1431,6 +2146,17 @@ msgid "Smaller than the reference Unit of Measure" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Soft covers are available separately in blue, green or orange. Pick a color to match your style." +msgstr "" + +#. module: product +#: model:product.category,name:product.product_category_4 +msgid "Software" +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_pricelist_item_categ_id msgid "Specify a product category if this rule only applies to products belonging to this category or its children categories. Keep empty otherwise." msgstr "" @@ -1488,12 +2214,73 @@ msgid "Stockable Product" msgstr "" #. module: product +#: model:product.product,name:product.product_product_2 +#: model:product.template,name:product.product_product_2_product_template +msgid "Support Contract (on timesheet)" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_delivery_01 +#: model:product.template,name:product.product_delivery_01_product_template +msgid "Switch, 24 ports" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Sync to your heart’s content." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "Tap to play your favorite songs. Or entire albums.\n" +" Or everything by one artist. You can even browse by genres or composers.\n" +" Flip through your music: Album art looks great on the bigger screen.\n" +" Or to keep things fresh, give iPod nano a shake and it shuffles to a different song in your music library." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_pricelist_id #: model:ir.model.fields,help:product.field_product_template_pricelist_id msgid "Technical field. Used for searching on pricelists, not stored in database." msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "The Apple In-Ear Headphones deliver a truly immersive sound experience by drastically\n" +" reducing unwanted outside noises. The soft, silicone ear tips fit snugly and comfortably\n" +" in your ear, creating a seal that isolates your music from your surroundings.\n" +" Three different sizes of ear tips are included so you can find a perfect fit for each ear.\n" +" Also included are a convenient carrying case for the ear tips and a cable-control case\n" +" for the headphones themselves." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "The Bose® SoundLink® mini is Bose's smallest portable Bluetooth speaker. Its ultra-compact size fits in the \n" +" palm of your hand, yet gives you full, natural sound wirelessly from your iPhone, iPad, or iPod. Grab it and go \n" +" full-featured. It can do just about everything and\n" +" experience music just about anywhere." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "The SoundLink® Mini speaker is small and light enough\n" +" to tuck into your bag. It weighs in at just 1.5 pounds.\n" +" Its low profile lets you place it almost anywhere and\n" +" provides a low center of gravity that makes it nearly\n" +" impossible to tip over." +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view msgid "The computed price is expressed in the default Unit of Measure of the product." msgstr "" @@ -1504,16 +2291,46 @@ msgid "The computed quantity will be a multiple of this value. Use 1.0 for a Uni msgstr "" #. module: product +#: code:addons/product/models/product_uom.py:43 #: sql_constraint:product.uom:0 +#, python-format msgid "The conversion ratio for a unit of measure cannot be 0!" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "The desktop. In its most advanced form ever" +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_packaging_sequence msgid "The first in the sequence is the default one." msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +#: model:product.template,website_description:product.product_product_6_product_template +msgid "The full iPad experience." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_9 +#: model:product.template,website_description:product.product_product_9_product_template +msgid "The incredibly thin Apple Wireless Keyboard uses Bluetooth technology,\n" +" which makes it compatible with iPad. And you’re free to type wherever\n" +" you like — with the keyboard in front of your iPad or on your lap." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_supplierinfo_min_qty msgid "The minimal quantity to purchase from this vendor, expressed in the vendor Product Unit of Measure if not any, in the default unit of measure of the product otherwise." msgstr "" @@ -1550,11 +2367,43 @@ msgid "The product form contains information to simplify the sale process: price msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "The rechargeable lithium-ion battery delivers up to seven hours of playtime.\n" +" And at home, you can listen even longer—the charging cradle lets\n" +" you listen while it charges." +msgstr "" + +#. module: product +#: code:addons/product/models/product_uom.py:44 +#: sql_constraint:product.uom:0 +#, python-format +msgid "The rounding precision must be greater than 0!" +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_product_lst_price msgid "The sale price is managed from the product template. Click on the 'Variant Prices' button to set the extra attribute prices." msgstr "" #. module: product +#: model:product.product,description_sale:product.product_product_9 +#: model:product.template,description_sale:product.product_product_9_product_template +msgid "The sleek aluminium Apple Wireless Keyboard.\n" +" " +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "The speaker has a range of about 30 feet, so you can enjoy\n" +" the sound you want without wires. It pairs easily with your\n" +" smartphone, iPad® or other Bluetooth device.\n" +" And it remembers the most recent six devices you've used,\n" +" so reconnecting is even simpler." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_packaging_qty msgid "The total number of products you can have per pallet or box." msgstr "" @@ -1572,6 +2421,35 @@ msgid "The weight of the contents in Kg, not including any packaging, etc." msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +msgid "There is less of it, but no less to it." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "There's less of it, but no less to it." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "There’s another way to get a good mix of music on iPod: Let Genius do the work.\n" +" Activate Genius in iTunes on your computer, and it automatically finds songs that sound\n" +" great together. Then it creates Genius Mixes, which you can easily sync to your iPod.\n" +" It’s the perfect way to rediscover songs you haven’t listened to in forever." +msgstr "" + +#. module: product #: sql_constraint:product.attribute.value:0 msgid "This attribute value already exists !" msgstr "" @@ -1617,11 +2495,40 @@ msgid "This vendor's product name will be used when printing a request for quota msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "Two is better than one." +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_uom_uom_type msgid "Type" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "USB port allows for software update to ensure ongoing Bluetooth device compatibility" +msgstr "" + +#. module: product +#: model:product.pricelist,name:product.list0 +msgid "USD" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Ultrafast wireless." +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_8 +#: model:product.template,website_description:product.product_product_8_product_template +msgid "Ultrathin design" +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_uom_active msgid "Uncheck the active field to disable a unit of measure without deleting it." msgstr "" @@ -1669,6 +2576,23 @@ msgid "Units of measure belonging to the same category can be\n" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Universal iPod docking station fits most iPod/iPhone models" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_7 +#: model:product.template,website_description:product.product_product_7_product_template +msgid "Unlike many small headphones, each earpiece of the Apple In-Ear Headphones\n" +" contains two separate high-performance drivers — a woofer to handle bass and\n" +" mid-range sounds and a tweeter for high-frequency audio. These dedicated\n" +" drivers help ensure accurate, detailed sound across the entire sonic spectrum.\n" +" The result: you’re immersed in the music and hear details you never knew existed.\n" +" Even when listening to an old favorite, you may feel like you’re hearing it for the first time." +msgstr "" + +#. module: product #: model:ir.ui.view,arch_db:product.product_supplierinfo_form_view msgid "Validity" msgstr "" @@ -1680,6 +2604,8 @@ msgstr "" #. module: product #: model:ir.model.fields,field_description:product.field_product_attribute_value_ids +#: model:ir.ui.view,arch_db:product.product_attribute_line_form +#: model:ir.ui.view,arch_db:product.product_attribute_view_form msgid "Values" msgstr "" @@ -1774,6 +2700,18 @@ msgid "Volume" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Volume control on main system" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_5b +#: model:product.template,website_description:product.product_product_5b_product_template +msgid "Wall charger can be plugged into the cradle or directly into the speaker" +msgstr "" + +#. module: product #: model:ir.model.fields,field_description:product.field_product_product_warranty #: model:ir.model.fields,field_description:product.field_product_template_warranty msgid "Warranty" @@ -1792,11 +2730,53 @@ msgid "Weights" msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "When one playlist isn’t enough." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_product_supplierinfo_product_id msgid "When this field is filled in, the vendor data will only apply to the variant." msgstr "" #. module: product +#: model:product.attribute.value,name:product.product_attribute_value_3 +msgid "White" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_4 +#: model:product.product,website_description:product.product_product_4b +#: model:product.product,website_description:product.product_product_4c +#: model:product.product,website_description:product.product_product_4d +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_4_product_template +#: model:product.template,website_description:product.product_product_4b_product_template +#: model:product.template,website_description:product.product_product_4c_product_template +#: model:product.template,website_description:product.product_product_4d_product_template +#: model:product.template,website_description:product.product_product_6_product_template +msgid "Why you'll love an iPad." +msgstr "" + +#. module: product +#: model:product.attribute,name:product.product_attribute_3 +msgid "Wi-Fi" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_6 +#: model:product.template,website_description:product.product_product_6_product_template +msgid "With advanced Wi‑Fi that’s up to twice as fast as\n" +" any previous-generation iPad and access to fast\n" +" cellular data networks around the world, iPad mini\n" +" lets you download content, stream video,\n" +" and browse the web at amazing speeds." +msgstr "" + +#. module: product #: model:ir.model.fields,help:product.field_base_config_settings_group_product_variant msgid "Work with product variant allows you to define some variant of the same products, an ease the product management in the ecommerce for example" msgstr "" @@ -1839,6 +2819,24 @@ msgid "You must define a product for everything you sell, whether it's a physica msgstr "" #. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "You probably have multiple playlists in iTunes on your computer.\n" +" One for your commute. One for the gym. Sync those playlists\n" +" to iPod, and you can play the perfect mix for whatever\n" +" mood strikes you. VoiceOver tells you the name of each playlist,\n" +" so it’s easy to switch between them and find the one you want without looking." +msgstr "" + +#. module: product +#: model:product.product,name:product.product_order_01 +#: model:product.template,name:product.product_order_01_product_template +msgid "Zed+ Antivirus" +msgstr "" + +#. module: product #: model:ir.model,name:product.model_base_config_settings msgid "base.config.settings" msgstr "" @@ -1899,6 +2897,48 @@ msgid "gal(s)" msgstr "" #. module: product +#: model:product.product,name:product.product_product_8 +#: model:product.template,name:product.product_product_8_product_template +msgid "iMac" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_6 +#: model:product.template,name:product.product_product_6_product_template +msgid "iPad Mini" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_4 +#: model:product.product,name:product.product_product_4b +#: model:product.product,name:product.product_product_4c +#: model:product.product,name:product.product_product_4d +#: model:product.template,name:product.product_product_4_product_template +#: model:product.template,name:product.product_product_4b_product_template +#: model:product.template,name:product.product_product_4c_product_template +#: model:product.template,name:product.product_product_4d_product_template +msgid "iPad Retina Display" +msgstr "" + +#. module: product +#: model:product.product,name:product.product_product_11 +#: model:product.product,name:product.product_product_11b +#: model:product.template,name:product.product_product_11_product_template +#: model:product.template,name:product.product_product_11b_product_template +msgid "iPod" +msgstr "" + +#. module: product +#: model:product.product,website_description:product.product_product_11 +#: model:product.product,website_description:product.product_product_11b +#: model:product.template,website_description:product.product_product_11_product_template +#: model:product.template,website_description:product.product_product_11b_product_template +msgid "iTunes on your Mac or PC makes it easy to load up\n" +" your iPod. Just choose the playlists, audiobooks,\n" +" podcasts, and other audio files you want, then sync." +msgstr "" + +#. module: product #: model:product.uom,name:product.product_uom_inch msgid "inch(es)" msgstr "" @@ -1954,6 +2994,20 @@ msgid "qt" msgstr "" #. module: product +#: model:product.product,description_sale:product.consu_delivery_02 +#: model:product.template,description_sale:product.consu_delivery_02_product_template +msgid "raid 1 \n" +" 512ECC ram" +msgstr "" + +#. module: product +#: model:product.product,description_sale:product.consu_delivery_01 +#: model:product.template,description_sale:product.consu_delivery_01_product_template +msgid "raid 10 \n" +" 2048ECC ram" +msgstr "" + +#. module: product #: model:ir.model,name:product.model_report_product_report_pricelist msgid "report.product.report_pricelist" msgstr "" diff --git a/addons/product/models/product.py b/addons/product/models/product.py index 7053a443a8c..0416c68598b 100644 --- a/addons/product/models/product.py +++ b/addons/product/models/product.py @@ -245,7 +245,7 @@ class ProductProduct(models.Model): product_name = supplier_info.product_name or self.default_code else: product_name = self.name - self.partner_ref = '%s%s' % (self.code and '[%s]' % self.code or '', product_name) + self.partner_ref = '%s%s' % (self.code and '[%s] ' % self.code or '', product_name) @api.one @api.depends('image_variant', 'product_tmpl_id.image') diff --git a/addons/product/models/product_uom.py b/addons/product/models/product_uom.py index b67d8024692..6a3a0414778 100644 --- a/addons/product/models/product_uom.py +++ b/addons/product/models/product_uom.py @@ -40,7 +40,8 @@ class ProductUoM(models.Model): default='reference', required=1) _sql_constraints = [ - ('factor_gt_zero', 'CHECK (factor!=0)', 'The conversion ratio for a unit of measure cannot be 0!') + ('factor_gt_zero', 'CHECK (factor!=0)', _('The conversion ratio for a unit of measure cannot be 0!')), + ('rounding_gt_zero', 'CHECK (rounding>0)', _('The rounding precision must be greater than 0!')) ] @api.one diff --git a/addons/product/models/res_partner.py b/addons/product/models/res_partner.py index bb627fad8b9..8dc745eea1a 100644 --- a/addons/product/models/res_partner.py +++ b/addons/product/models/res_partner.py @@ -31,7 +31,7 @@ class Partner(models.Model): # update at each change country, and so erase old pricelist if self.property_product_pricelist or (actual and default_for_country and default_for_country.id != actual.id): - self.env['ir.property'].set_multi( + self.env['ir.property'].sudo().set_multi( 'property_product_pricelist', self._name, {self.id: self.property_product_pricelist or default_for_country.id}, diff --git a/addons/product/views/product_views.xml b/addons/product/views/product_views.xml index 0eb5745c5f4..b2ae897866b 100644 --- a/addons/product/views/product_views.xml +++ b/addons/product/views/product_views.xml @@ -505,6 +505,12 @@ <search string="Vendor"> <field name="name"/> <field name="product_tmpl_id"/> + <filter string="Active" name="active" domain="[('date_end', '>=', (context_today() - datetime.timedelta(days=1)).strftime('%%Y-%%m-%%d'))]"/> + <filter string="Archived" name="archived" domain="[('date_end', '<', (context_today() - datetime.timedelta(days=1)).strftime('%%Y-%%m-%%d'))]"/> + <group expand="0" string="Group By"> + <filter string="Product" name="groupby_product" domain="[]" context="{'group_by': 'product_tmpl_id'}"/> + <filter string="Vendor" name="groupby_vendor" domain="[]" context="{'group_by': 'name'}"/> + </group> </search> </field> </record> diff --git a/addons/project/i18n/project.pot b/addons/project/i18n/project.pot index aec2296c8a8..5c2f2ce8043 100644 --- a/addons/project/i18n/project.pot +++ b/addons/project/i18n/project.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -122,13 +122,37 @@ msgid "\n" msgstr "" #. module: project +#: model:mail.template,body_html:project.mail_template_data_project_task +msgid "\n" +"<p>Dear ${object.partner_id.name or 'customer'},</p>\n" +"<p>Thank you for your enquiry.<br /></p>\n" +"<p>If you have any questions, please let us know.</p>\n" +"<p>Best regards,</p>" +msgstr "" + +#. module: project +#: model:ir.model.fields,field_description:project.field_report_project_task_user_opening_days +msgid "# Days to Assign" +msgstr "" + +#. module: project +#: model:ir.model.fields,field_description:project.field_report_project_task_user_closing_days +msgid "# Days to Close" +msgstr "" + +#. module: project +#: model:ir.model.fields,field_description:project.field_report_project_task_user_delay_endings_days +msgid "# Days to Deadline" +msgstr "" + +#. module: project #: model:ir.model.fields,field_description:project.field_res_partner_task_count msgid "# Tasks" msgstr "" #. module: project #: model:ir.model.fields,field_description:project.field_report_project_task_user_no_of_days -msgid "# of Days" +msgid "# Working Days" msgstr "" #. module: project @@ -138,7 +162,7 @@ msgstr "" #. module: project #: code:addons/project/models/project.py:240 -#: code:addons/project/models/project.py:416 +#: code:addons/project/models/project.py:410 #, python-format msgid "%s (copy)" msgstr "" @@ -351,7 +375,7 @@ msgstr "" #. module: project #: model:ir.ui.view,arch_db:project.view_config_settings -msgid "<span>(*) This configuration value is related to the company you're logged in.</span>" +msgid "<span>(*) This configuration is related to the company you're logged into.</span>" msgstr "" #. module: project @@ -876,8 +900,8 @@ msgstr "" #. module: project #: model:ir.ui.view,arch_db:project.task_type_edit msgid "At each stage employees can block or make task/issue ready for next stage.\n" -" You can define here labels that will be displayed for the state instead\n" -" of the default labels." +" You can define here labels that will be displayed for the state instead\n" +" of the default labels." msgstr "" #. module: project @@ -953,6 +977,24 @@ msgid "But because change is never easy, we've created this Planner to guide you msgstr "" #. module: project +#: model:project.task,legend_done:project.project_task_10 +#: model:project.task,legend_done:project.project_task_11 +#: model:project.task,legend_done:project.project_task_13 +#: model:project.task,legend_done:project.project_task_14 +#: model:project.task,legend_done:project.project_task_17 +#: model:project.task,legend_done:project.project_task_2 +#: model:project.task,legend_done:project.project_task_21 +#: model:project.task,legend_done:project.project_task_22 +#: model:project.task,legend_done:project.project_task_23 +#: model:project.task,legend_done:project.project_task_4 +#: model:project.task,legend_done:project.project_task_5 +#: model:project.task,legend_done:project.project_task_6 +#: model:project.task,legend_done:project.project_task_7 +#: model:project.task.type,legend_done:project.project_stage_1 +msgid "Buzz or set as done" +msgstr "" + +#. module: project #: model:ir.filters,name:project.filter_task_report_responsible msgid "By Responsible" msgstr "" @@ -967,6 +1009,7 @@ msgstr "" #: code:addons/project/static/src/js/web_planner_project.js:69 #: code:addons/project/static/src/js/web_planner_project.js:84 #: code:addons/project/static/src/js/web_planner_project.js:98 +#: model:project.task.type,name:project.project_stage_3 #, python-format msgid "Cancelled" msgstr "" @@ -1010,13 +1053,6 @@ msgstr "" #. module: project #. openerp-web -#: code:addons/project/static/src/js/tour.js:88 -#, python-format -msgid "Click on layers in the path to easily <b>return to tasks</b>." -msgstr "" - -#. module: project -#. openerp-web #: code:addons/project/static/src/js/tour.js:31 #, python-format msgid "Click on the card to <b>go to your project</b> and start organizing tasks." @@ -1233,7 +1269,7 @@ msgid "Current Timesheet" msgstr "" #. module: project -#: code:addons/project/models/project.py:659 +#: code:addons/project/models/project.py:643 #: model:ir.model.fields,field_description:project.field_project_project_partner_id #: model:ir.model.fields,field_description:project.field_project_task_partner_id #: model:ir.ui.view,arch_db:project.edit_project @@ -1242,7 +1278,7 @@ msgid "Customer" msgstr "" #. module: project -#: code:addons/project/models/project.py:659 +#: code:addons/project/models/project.py:643 #, python-format msgid "Customer Email" msgstr "" @@ -1296,16 +1332,6 @@ msgid "Dashboard" msgstr "" #. module: project -#: model:ir.model.fields,field_description:project.field_report_project_task_user_opening_days -msgid "Days to Assign" -msgstr "" - -#. module: project -#: model:ir.model.fields,field_description:project.field_report_project_task_user_closing_days -msgid "Days to Close" -msgstr "" - -#. module: project #: model:ir.model.fields,field_description:project.field_project_task_date_deadline #: model:ir.model.fields,field_description:project.field_report_project_task_user_date_deadline msgid "Deadline" @@ -1450,6 +1476,7 @@ msgstr "" #: code:addons/project/static/src/js/web_planner_project.js:68 #: code:addons/project/static/src/js/web_planner_project.js:83 #: code:addons/project/static/src/js/web_planner_project.js:97 +#: model:project.task.type,name:project.project_stage_2 #, python-format msgid "Done" msgstr "" @@ -1496,7 +1523,7 @@ msgid "Ending Date" msgstr "" #. module: project -#: code:addons/project/models/project.py:424 +#: code:addons/project/models/project.py:418 #, python-format msgid "Error ! Task starting date must be lower than its ending date." msgstr "" @@ -1576,7 +1603,7 @@ msgstr "" #. module: project #: model:ir.model.fields,field_description:project.field_project_task_type_fold -msgid "Folded in Tasks Pipeline" +msgid "Folded in Kanban" msgstr "" #. module: project @@ -1661,6 +1688,13 @@ msgid "Gives the sequence order when displaying a list of tasks." msgstr "" #. module: project +#. openerp-web +#: code:addons/project/static/src/js/tour.js:102 +#, python-format +msgid "Good job! Your completed the Project Management tour. You can continue with the <b>implementation guide</b> to help you setup Project Management in your company." +msgstr "" + +#. module: project #: model:ir.ui.view,arch_db:project.project_planner msgid "Good luck!" msgstr "" @@ -1710,7 +1744,7 @@ msgid "Holds visibility of the tasks or issues that belong to the current projec msgstr "" #. module: project -#: code:addons/project/models/project.py:587 +#: code:addons/project/models/project.py:567 #, python-format msgid "I take it" msgstr "" @@ -1803,6 +1837,7 @@ msgstr "" #. module: project #: selection:project.task,kanban_state:0 +#: model:project.task.type,name:project.project_stage_1 #: selection:report.project.task.user,state:0 msgid "In Progress" msgstr "" @@ -2081,6 +2116,24 @@ msgid "Name" msgstr "" #. module: project +#: model:project.task,legend_blocked:project.project_task_10 +#: model:project.task,legend_blocked:project.project_task_11 +#: model:project.task,legend_blocked:project.project_task_13 +#: model:project.task,legend_blocked:project.project_task_14 +#: model:project.task,legend_blocked:project.project_task_17 +#: model:project.task,legend_blocked:project.project_task_2 +#: model:project.task,legend_blocked:project.project_task_21 +#: model:project.task,legend_blocked:project.project_task_22 +#: model:project.task,legend_blocked:project.project_task_23 +#: model:project.task,legend_blocked:project.project_task_4 +#: model:project.task,legend_blocked:project.project_task_5 +#: model:project.task,legend_blocked:project.project_task_6 +#: model:project.task,legend_blocked:project.project_task_7 +#: model:project.task.type,legend_blocked:project.project_stage_1 +msgid "Need functional or technical help" +msgstr "" + +#. module: project #. openerp-web #: code:addons/project/static/src/js/web_planner_project.js:64 #: model:ir.ui.view,arch_db:project.view_task_project_user_search @@ -2091,7 +2144,7 @@ msgid "New" msgstr "" #. module: project -#: code:addons/project/models/project.py:589 +#: code:addons/project/models/project.py:571 #, python-format msgid "New Task" msgstr "" @@ -2115,6 +2168,17 @@ msgid "Normal" msgstr "" #. module: project +#: model:project.task,legend_blocked:project.project_task_1 +#: model:project.task,legend_blocked:project.project_task_12 +#: model:project.task,legend_blocked:project.project_task_20 +#: model:project.task,legend_blocked:project.project_task_25 +#: model:project.task,legend_blocked:project.project_task_26 +#: model:project.task,legend_blocked:project.project_task_9 +#: model:project.task.type,legend_blocked:project.project_stage_0 +msgid "Not validated" +msgstr "" + +#. module: project #: model:ir.model.fields,field_description:project.field_project_task_notes msgid "Notes" msgstr "" @@ -2206,11 +2270,6 @@ msgid "Organize your company, from personal tasks to collaborative meeting minut msgstr "" #. module: project -#: model:ir.model.fields,field_description:project.field_report_project_task_user_delay_endings_days -msgid "Overpassed Deadline" -msgstr "" - -#. module: project #: model:ir.actions.act_window,name:project.action_view_task_overpassed_draft msgid "Overpassed Tasks" msgstr "" @@ -2274,7 +2333,7 @@ msgid "Planner" msgstr "" #. module: project -#: code:addons/project/models/project.py:739 +#: code:addons/project/models/project.py:723 #, python-format msgid "Please remove existing tasks in the project linked to the accounts you want to delete." msgstr "" @@ -2404,8 +2463,8 @@ msgid "Projects" msgstr "" #. module: project -#: model:ir.ui.view,arch_db:project.task_type_edit -msgid "Projects using this stage" +#: model:mail.channel,name:project.mail_channel_project_task +msgid "Projects & Tasks" msgstr "" #. module: project @@ -2448,6 +2507,13 @@ msgid "Ready to be displayed, published or sent" msgstr "" #. module: project +#: model:project.task,legend_done:project.project_task_16 +#: model:project.task,legend_done:project.project_task_19 +#: model:project.task.type,legend_done:project.project_stage_3 +msgid "Ready to reopen" +msgstr "" + +#. module: project #. openerp-web #: code:addons/project/static/src/js/web_planner_project.js:76 #: code:addons/project/static/src/js/web_planner_project.js:105 @@ -2456,6 +2522,11 @@ msgid "Reason for cancellation has been documented" msgstr "" #. module: project +#: model:mail.template,subject:project.mail_template_data_project_task +msgid "Reception of ${object.name}" +msgstr "" + +#. module: project #: model:ir.model.fields,field_description:project.field_project_project_alias_force_thread_id msgid "Record Thread ID" msgstr "" @@ -2790,7 +2861,7 @@ msgstr "" #. module: project #: selection:project.config.settings,module_pad:0 -msgid "Task description is a plain text" +msgid "Task description is plain text" msgstr "" #. module: project @@ -2850,6 +2921,7 @@ msgstr "" #. module: project #: model:ir.actions.act_window,name:project.action_project_task_user_tree #: model:ir.actions.act_window,name:project.action_project_task_user_tree_filtered +#: model:ir.ui.menu,name:project.menu_project_report_task_analysis #: model:ir.ui.view,arch_db:project.view_task_project_user_graph #: model:ir.ui.view,arch_db:project.view_task_project_user_pivot #: model:ir.ui.view,arch_db:project.view_task_project_user_search @@ -2983,6 +3055,11 @@ msgid "Time Estimation on Tasks" msgstr "" #. module: project +#: model:ir.ui.view,arch_db:project.edit_project +msgid "Time Scheduling" +msgstr "" + +#. module: project #: model:ir.model.fields,field_description:project.field_res_company_project_time_mode_id #: model:ir.model.fields,field_description:project.project_time_mode_id_duplicate_xmlid msgid "Timesheet UoM" @@ -3013,6 +3090,7 @@ msgstr "" #. module: project #. openerp-web #: code:addons/project/static/src/js/web_planner_project.js:96 +#: model:project.task.type,name:project.project_stage_0 #, python-format msgid "To Do" msgstr "" @@ -3076,6 +3154,25 @@ msgid "Use separate meetings to solve big issues or issues that aren’t importa msgstr "" #. module: project +#. openerp-web +#: code:addons/project/static/src/js/tour.js:106 +#, python-format +msgid "Use the <b>implementation guide</b> to setup Project Management in your company." +msgstr "" + +#. module: project +#. openerp-web +#: code:addons/project/static/src/js/tour.js:88 +#, python-format +msgid "Use the breadcrumbs to <b>go back to your tasks pipeline</b>." +msgstr "" + +#. module: project +#: model:project.task.type,legend_priority:project.project_stage_0 +msgid "Use the priority for tasks related to gold customers" +msgstr "" + +#. module: project #: model:res.groups,name:project.group_project_user msgid "User" msgstr "" @@ -3346,7 +3443,7 @@ msgid "send us an email" msgstr "" #. module: project -#: code:addons/project/models/project.py:472 +#: code:addons/project/models/project.py:466 #, python-format msgid "tasks" msgstr "" diff --git a/addons/project/models/project.py b/addons/project/models/project.py index 37518767e03..a36e7209dd4 100644 --- a/addons/project/models/project.py +++ b/addons/project/models/project.py @@ -292,6 +292,14 @@ class Task(models.Model): _mail_post_access = 'read' _order = "priority desc, sequence, date_start, name, id" + @api.model + def default_get(self, field_list): + """ Set 'date_assign' if user_id is set. """ + result = super(Task, self).default_get(field_list) + if 'user_id' in result: + result['date_assign'] = fields.Datetime.now() + return result + def _get_default_partner(self): if 'default_project_id' in self.env.context: default_project_id = self.env['project.project'].browse(self.env.context['default_project_id']) @@ -314,7 +322,7 @@ class Task(models.Model): return stages.browse(stage_ids) active = fields.Boolean(default=True) - name = fields.Char(string='Task Title', track_visibility='onchange', required=True, index=True) + name = fields.Char(string='Task Title', track_visibility='always', required=True, index=True) description = fields.Html(string='Description') priority = fields.Selection([ ('0','Normal'), @@ -363,7 +371,7 @@ class Task(models.Model): user_id = fields.Many2one('res.users', string='Assigned to', default=lambda self: self.env.uid, - index=True, track_visibility='onchange') + index=True, track_visibility='always') partner_id = fields.Many2one('res.partner', string='Customer', default=_get_default_partner) @@ -548,36 +556,26 @@ class Task(models.Model): return super(Task, self)._track_subtype(init_values) @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the mail.thread method to handle project users and officers - recipients. Indeed those will have specific action in their notification - emails: creating tasks, assigning it. """ - group_project_user = self.env.ref('project.group_project_user') - for recipient in recipients.filtered(lambda recipient: recipient.id not in done_ids): - if recipient.user_ids and group_project_user in recipient.user_ids[0].groups_id: - group_data['group_project_user'] |= recipient - done_ids.add(recipient.id) - return super(Task, self)._notification_group_recipients(message, recipients, done_ids, group_data) + def _notification_recipients(self, message, groups): + """ Handle project users and managers recipients that can convert assign + tasks and create new one directly from notification emails. """ + groups = super(Task, self)._notification_recipients(message, groups) - @api.multi - def _notification_get_recipient_groups(self, message, recipients): self.ensure_one() - res = super(Task, self)._notification_get_recipient_groups(message, recipients) - - take_action = self._notification_link_helper('assign') - new_action_id = self.env.ref('project.action_view_task').id - new_action = self._notification_link_helper('new', action_id=new_action_id) - - actions = [] if not self.user_id: - actions.append({'url': take_action, 'title': _('I take it')}) + take_action = self._notification_link_helper('assign') + project_actions = [{'url': take_action, 'title': _('I take it')}] else: - actions.append({'url': new_action, 'title': _('New Task')}) + new_action_id = self.env.ref('project.action_view_task').id + new_action = self._notification_link_helper('new', action_id=new_action_id) + project_actions = [{'url': new_action, 'title': _('New Task')}] - res['group_project_user'] = { - 'actions': actions - } - return res + new_group = ( + 'group_project_user', lambda partner: bool(partner.user_ids) and any(user.has_group('project.group_project_user') for user in partner.user_ids), { + 'actions': project_actions, + }) + + return [new_group] + groups @api.model def message_get_reply_to(self, res_ids, default=None): diff --git a/addons/project/static/src/js/tour.js b/addons/project/static/src/js/tour.js index a455f927834..22bf66976e1 100644 --- a/addons/project/static/src/js/tour.js +++ b/addons/project/static/src/js/tour.js @@ -85,7 +85,7 @@ tour.register('project_tour', { }, { trigger: ".breadcrumb li:not(.active):last", extra_trigger: '.o_form_project_tasks.o_form_readonly', - content: _t("Click on layers in the path to easily <b>return to tasks</b>."), + content: _t("Use the breadcrumbs to <b>go back to your tasks pipeline</b>."), position: "bottom" }, tour.STEPS.TOGGLE_APPSWITCHER, tour.STEPS.MENU_MORE, { @@ -96,6 +96,15 @@ tour.STEPS.MENU_MORE, { trigger: ".o_web_settings_dashboard textarea#user_emails", content: _t("<b>Invite coworkers</b> via email.<br/><i>Enter one email per line.</i>"), position: "right" +}, tour.STEPS.TOGGLE_APPSWITCHER, +tour.STEPS.MENU_MORE, { + trigger: '.o_app[data-menu-xmlid="project.menu_main_pm"], .oe_menu_toggler[data-menu-xmlid="project.menu_main_pm"]', + content: _t("Good job! Your completed the Project Management tour. You can continue with the <b>implementation guide</b> to help you setup Project Management in your company."), + position: 'bottom', +}, { + trigger: '.o_planner_systray div.progress', + content: _t("Use the <b>implementation guide</b> to setup Project Management in your company."), + position: 'bottom', }]); }); diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml index 2429c7cdcb0..b408c44c95f 100644 --- a/addons/project/views/project_views.xml +++ b/addons/project/views/project_views.xml @@ -736,7 +736,12 @@ action = model.activate_sample_project() <!-- Reporting menus --> <menuitem id="menu_project_report" name="Reports" groups="project.group_project_manager" - action="project.action_project_task_user_tree" parent="menu_main_pm" sequence="99"/> + <menuitem id="menu_project_report_task_analysis" + name="Tasks Analysis" + action="project.action_project_task_user_tree" + parent="menu_project_report" + sequence="10"/> + </odoo> diff --git a/addons/project_issue/i18n/en.po b/addons/project_issue/i18n/en.po deleted file mode 100644 index d5baac65379..00000000000 --- a/addons/project_issue/i18n/en.po +++ /dev/null @@ -1,755 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * project_issue -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:06+0000\n" -"PO-Revision-Date: 2015-09-29 10:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_email -msgid "# Emails" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_res_partner_issue_count -msgid "# Issues" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_nbr -msgid "# of Issues" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:215 -#, python-format -msgid "%s (copy)" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_kanban_view -msgid "<b>Category:</b>" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_kanban_view -msgid "<b>Project:</b>" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_form_inherited -msgid "<span attrs=\"{'invisible':[('use_issues', '=', False)]}\">as </span>" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_kanban_state -msgid "" -"A Issue's kanban state indicates special situations affecting it:\n" -" * Normal is the default situation\n" -" * Blocked indicates something is preventing the progress of this issue\n" -" * Ready for next stage indicates the issue is ready to be pulled to the " -"next stage" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_active -msgid "Active" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_form_view -msgid "Add an internal note..." -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_account_analytic_account -msgid "Analytic Account" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Archived" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_open -msgid "Assigned" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_user_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_user_id -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Assigned to" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_delay_close -msgid "Avg. Delay to Close" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_delay_open -msgid "Avg. Delay to Open" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_working_hours_close -msgid "Avg. Working Hours to Close" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_working_hours_open -msgid "Avg. Working Hours to Open" -msgstr "" - -#. module: project_issue -#: selection:project.issue,kanban_state:0 -msgid "Blocked" -msgstr "" - -#. module: project_issue -#: model:ir.filters,name:project_issue.filter_issue_report_responsible -msgid "By Responsible" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_channel -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_channel -msgid "Channel" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_account_analytic_account_use_issues -#: model:ir.model.fields,help:project_issue.field_project_project_use_issues -msgid "Check this box to manage customer activities through this project" -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,help:project_issue.open_view_issue -msgid "Click to create an issue." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_closed -msgid "Closed" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_color -msgid "Color Index" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_report_channel -msgid "Communication Channel." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_channel -msgid "Communication channel." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_company_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_company_id -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Company" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_partner_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_partner_id -msgid "Contact" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_create_date -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Create Date" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Create Day" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_create_uid -msgid "Created by" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_create_date -msgid "Creation Date" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:384 -#, python-format -msgid "Customer" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:386 -#, python-format -msgid "Customer Email" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_project_label_issues -msgid "Customize the issues label, for example to call them cases." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date -msgid "Date" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_date_closed -msgid "Date of Closing" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_opening_date -msgid "Date of Opening" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_days_since_creation -msgid "Days since creation date" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_inactivity_days -msgid "Days since last action" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_day_open -msgid "Days to Assign" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_day_close -msgid "Days to Close" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_deadline -msgid "Deadline" -msgstr "" - -#. module: project_issue -#: model:ir.filters,name:project_issue.filter_issue_report_delay -msgid "Delay" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_kanban_view -msgid "Delete" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_form_view -msgid "Description" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_days_since_creation -msgid "Difference in days between creation date and current date" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_inactivity_days -msgid "Difference in days between last action and current date" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_display_name -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_display_name -msgid "Display Name" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_duration -msgid "Duration" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_kanban_view -msgid "Edit Issue" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_email_from -msgid "Email" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_form_view -msgid "Extra Info" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_feature_tree_view -msgid "Feature Tracker Tree" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_feature_tree_view -msgid "Feature description" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Group By" -msgstr "" - -#. module: project_issue -#: selection:project.issue,priority:0 selection:project.issue.report,priority:0 -msgid "High" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:362 -#, python-format -msgid "I take it" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_id -msgid "ID" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_name -#: model:ir.ui.view,arch_db:project_issue.project_issue_form_view -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Issue" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,name:project_issue.mt_issue_blocked -#: model:mail.message.subtype,name:project_issue.mt_project_issue_blocked -msgid "Issue Blocked" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,name:project_issue.mt_issue_new -#: model:mail.message.subtype,name:project_issue.mt_project_issue_new -msgid "Issue Opened" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,name:project_issue.mt_issue_ready -#: model:mail.message.subtype,name:project_issue.mt_project_issue_ready -msgid "Issue Ready" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,name:project_issue.mt_project_issue_stage -msgid "Issue Stage Changed" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_form_view -msgid "Issue Summary..." -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Issue Tracker Search" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_tree_view -msgid "Issue Tracker Tree" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,description:project_issue.mt_issue_blocked -msgid "Issue blocked" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,description:project_issue.mt_issue_new -msgid "Issue opened" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,description:project_issue.mt_issue_ready -#, fuzzy -msgid "Issue ready for next stage" -msgstr "Issue ready for next stage" - -#. module: project_issue -#: model:ir.actions.act_window,name:project_issue.act_project_project_2_project_issue_all -#: model:ir.actions.act_window,name:project_issue.action_view_issues -#: model:ir.actions.act_window,name:project_issue.open_view_issue -#: model:ir.actions.act_window,name:project_issue.project_issue_categ_act0 -#: model:ir.model.fields,field_description:project_issue.field_account_analytic_account_use_issues -#: model:ir.model.fields,field_description:project_issue.field_project_project_issue_count -#: model:ir.model.fields,field_description:project_issue.field_project_project_issue_ids -#: model:ir.model.fields,field_description:project_issue.field_project_project_issue_needaction_count -#: model:ir.model.fields,field_description:project_issue.field_project_project_use_issues -#: model:ir.ui.menu,name:project_issue.menu_project_issue_track -#: model:ir.ui.menu,name:project_issue.portal_services_issues -#: model:ir.ui.view,arch_db:project_issue.project_issue_calendar_view -#: model:ir.ui.view,arch_db:project_issue.res_partner_issues_button_view -#: model:ir.ui.view,arch_db:project_issue.view_project_form_inherited -#: model:ir.ui.view,arch_db:project_issue.view_project_kanban_inherited -msgid "Issues" -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,name:project_issue.action_project_issue_report -#: model:ir.actions.act_window,name:project_issue.action_project_issue_report_filtered -#: model:ir.ui.menu,name:project_issue.menu_project_issue_report_tree -msgid "Issues Analysis" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_legend_blocked -msgid "Kanban Blocked Explanation" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_legend_normal -msgid "Kanban Ongoing Explanation" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_kanban_state -msgid "Kanban State" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_legend_done -msgid "Kanban Valid Explanation" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_action_last -msgid "Last Action" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Last Message" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue___last_update -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report___last_update -msgid "Last Modified on" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_last_stage_update -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_date_last_stage_update -msgid "Last Stage Update" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: project_issue -#: selection:project.issue,priority:0 selection:project.issue.report,priority:0 -msgid "Low" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "My Issues" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "New" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:364 -#, python-format -msgid "New Issue" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_date_action_next -msgid "Next Action" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:413 -#, python-format -msgid "No Subject" -msgstr "" - -#. module: project_issue -#: selection:project.issue,kanban_state:0 selection:project.issue,priority:0 -#: selection:project.issue.report,priority:0 -msgid "Normal" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_report_delay_close -msgid "Number of Days to close the project issue" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_report_delay_open -msgid "Number of Days to open the project issue." -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_res_partner -msgid "Partner" -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:530 -#, python-format -msgid "" -"Please remove existing issues in the project linked to the accounts you want " -"to delete." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_priority -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_priority -#: model:ir.ui.view,arch_db:project_issue.project_feature_tree_view -#: model:ir.ui.view,arch_db:project_issue.project_issue_tree_view -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Priority" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_description -msgid "Private Note" -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_project_project -#: model:ir.model.fields,field_description:project_issue.field_project_issue_project_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_project_id -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Project" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_graph -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_pivot -msgid "Project Issue" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_graph_view -#: model:ir.ui.view,arch_db:project_issue.project_issue_pivot_view -msgid "Project Issues" -msgstr "" - -#. module: project_issue -#: selection:project.issue,kanban_state:0 -#, fuzzy -msgid "Ready for next stage" -msgstr "Issue ready for next stage" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_team_id -msgid "Sale Team" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_team_id -msgid "Sales Team" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_team_id -msgid "" -"Sales team to which Case belongs to. Define " -"Responsible user and Email account for mail gateway." -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Search" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_stage_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_stage_id -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Stage" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,name:project_issue.mt_issue_stage -msgid "Stage Changed" -msgstr "" - -#. module: project_issue -#: model:mail.message.subtype,description:project_issue.mt_issue_stage -#: model:mail.message.subtype,description:project_issue.mt_project_issue_stage -msgid "Stage changed" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_tag_ids -msgid "Tags" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_report_task_id -#: model:ir.model.fields,field_description:project_issue.field_project_issue_task_id -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Task" -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_project_task_type -msgid "Task Stage" -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,help:project_issue.act_project_project_2_project_issue_all -#: model:ir.actions.act_window,help:project_issue.action_view_issues -msgid "" -"The Odoo issues tacker allows you to efficiently manage things\n" -" like internal requests, software development bugs, " -"customer\n" -" complaints, project troubles, material breakdowns, etc." -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,help:project_issue.project_issue_categ_act0 -msgid "" -"The Odoo issues tacker allows you to efficiently manage things\n" -" like internal requests, software development bugs, customer\n" -" complaints, project troubles, material breakdowns, etc." -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_email_cc -msgid "" -"These email addresses will be added to the CC field of all inbound and " -"outbound emails for this record before being sent. Separate multiple email " -"addresses with a comma" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_email_from -msgid "These people will receive email." -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,help:project_issue.action_project_issue_report -#: model:ir.actions.act_window,help:project_issue.action_project_issue_report_filtered -msgid "" -"This report on the project issues allows you to analyse the quality of your " -"support or after-sales services. You can track the issues per age. You can " -"analyse the time required to open or close an issue, the number of email to " -"exchange and the time spent on average by issues." -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_report_filter -msgid "Unassigned" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.project_issue_kanban_view -#: model:ir.ui.view,arch_db:project_issue.view_project_issue_filter -msgid "Unread Messages" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_write_date -msgid "Update Date" -msgstr "" - -#. module: project_issue -#: model:ir.ui.view,arch_db:project_issue.view_project_form_inherited -msgid "Use Issues" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_project_label_issues -msgid "Use Issues as" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_user_email -msgid "User Email" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_email_cc -msgid "Watchers Emails" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_working_hours_open -msgid "Working Hours to assign the Issue" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,field_description:project_issue.field_project_issue_working_hours_close -msgid "Working Hours to close the Issue" -msgstr "" - -#. module: project_issue -#: model:ir.model.fields,help:project_issue.field_project_issue_task_id -msgid "" -"You can link this issue to an existing task or directly create a new one " -"from here" -msgstr "" - -#. module: project_issue -#: model:ir.actions.act_window,help:project_issue.open_view_issue -msgid "" -"You can track your issues from this menu and the action we \n" -" will take." -msgstr "" - -#. module: project_issue -#: code:addons/project_issue/project_issue.py:263 -#, python-format -msgid "issues" -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_project_issue -msgid "project issue" -msgstr "" - -#. module: project_issue -#: model:ir.model,name:project_issue.model_project_issue_report -msgid "project.issue.report" -msgstr "" diff --git a/addons/project_issue/models/project_issue.py b/addons/project_issue/models/project_issue.py index 2eec0b49aa6..ce310dedb9a 100644 --- a/addons/project_issue/models/project_issue.py +++ b/addons/project_issue/models/project_issue.py @@ -121,8 +121,9 @@ class ProjectIssue(models.Model): @api.onchange('project_id') def _onchange_project_id(self): if self.project_id: - self.partner_id = self.project_id.partner_id.id - self.email_from = self.project_id.partner_id.email + if not self.partner_id and not self.email_from: + self.partner_id = self.project_id.partner_id.id + self.email_from = self.project_id.partner_id.email self.stage_id = self.stage_find(self.project_id.id, [('fold', '=', False)]) else: self.partner_id = False @@ -225,43 +226,26 @@ class ProjectIssue(models.Model): return super(ProjectIssue, self)._track_subtype(init_values) @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the mail.thread method to handle project users and officers - recipients. Indeed those will have specific action in their notification - emails: creating tasks, assigning it. """ - group_project_user_id = self.env.ref('project.group_project_user').id - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and group_project_user_id in recipient.user_ids[0].groups_id.ids: - group_data['group_project_user'] |= recipient - elif not recipient.user_ids: - group_data['partner'] |= recipient - elif all(recipient.user_ids.mapped('share')): - group_data['partner'] |= recipient - else: - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(ProjectIssue, self)._notification_group_recipients(message, recipients, done_ids, group_data) + def _notification_recipients(self, message, groups): + """ + """ + groups = super(ProjectIssue, self)._notification_recipients(message, groups) - @api.multi - def _notification_get_recipient_groups(self, message, recipients): self.ensure_one() - res = super(ProjectIssue, self)._notification_get_recipient_groups(message, recipients) - - actions = [] if not self.user_id: take_action = self._notification_link_helper('assign') - actions.append({'url': take_action, 'title': _('I take it')}) + project_actions = [{'url': take_action, 'title': _('I take it')}] else: new_action_id = self.env.ref('project_issue.project_issue_categ_act0').id new_action = self._notification_link_helper('new', action_id=new_action_id) - actions.append({'url': new_action, 'title': _('New Issue')}) + project_actions = [{'url': new_action, 'title': _('New Issue')}] - res['group_project_user'] = { - 'actions': actions - } - return res + new_group = ( + 'group_project_user', lambda partner: bool(partner.user_ids) and any(user.has_group('project.group_project_user') for user in partner.user_ids), { + 'actions': project_actions, + }) + + return [new_group] + groups @api.model def message_get_reply_to(self, res_ids, default=None): diff --git a/addons/project_issue/report/project_issue_report_views.xml b/addons/project_issue/report/project_issue_report_views.xml index e5aeefedfc4..99a37f59b91 100644 --- a/addons/project_issue/report/project_issue_report_views.xml +++ b/addons/project_issue/report/project_issue_report_views.xml @@ -91,5 +91,5 @@ </record> <menuitem id="menu_project_issue_report_tree" action="action_project_issue_report" - parent="project.menu_project_report"/> + parent="project.menu_project_report" sequence="20"/> </odoo> diff --git a/addons/purchase/__manifest__.py b/addons/purchase/__manifest__.py index 3c3470196e3..60e242c9244 100644 --- a/addons/purchase/__manifest__.py +++ b/addons/purchase/__manifest__.py @@ -34,6 +34,7 @@ Dashboard / Reports for Purchase Management will include: 'data/purchase_data.yml', 'report/purchase_reports.xml', 'views/purchase_views.xml', + 'views/procurement_views.xml', 'views/stock_views.xml', 'views/res_partner_views.xml', 'report/purchase_report_views.xml', diff --git a/addons/purchase/i18n/purchase.pot b/addons/purchase/i18n/purchase.pot index 0e118137a4f..f495550b705 100644 --- a/addons/purchase/i18n/purchase.pot +++ b/addons/purchase/i18n/purchase.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -113,7 +113,7 @@ msgstr "" #. module: purchase #: model:ir.ui.view,arch_db:purchase.view_purchase_configuration -msgid "<span>(*) This configuration value is related to the company you're logged in.</span>" +msgid "<span>(*) This configuration is related to the company you're logged into.</span>" msgstr "" #. module: purchase @@ -321,6 +321,7 @@ msgid "Bills" msgstr "" #. module: purchase +#: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter #: selection:purchase.order,invoice_status:0 msgid "Bills Received" msgstr "" @@ -332,7 +333,7 @@ msgid "Blocking Message" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:792 +#: code:addons/purchase/models/purchase.py:796 #: code:addons/purchase/models/stock.py:81 #: model:stock.location.route,name:purchase.route_warehouse0_buy #, python-format @@ -361,7 +362,7 @@ msgid "Calls for tenders are used when you want to generate requests for quotati msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:808 +#: code:addons/purchase/models/purchase.py:812 #, python-format msgid "Can not cancel a procurement related to a purchase order. Please cancel the purchase order first." msgstr "" @@ -385,7 +386,7 @@ msgid "Cancelled" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:658 +#: code:addons/purchase/models/purchase.py:662 #, python-format msgid "Cannot delete a purchase order line which is in state '%s'." msgstr "" @@ -697,16 +698,6 @@ msgid "Invoice Line" msgstr "" #. module: purchase -#: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter -msgid "Invoiced" -msgstr "" - -#. module: purchase -#: model:ir.ui.view,arch_db:purchase.purchase_order_form -msgid "Invoices" -msgstr "" - -#. module: purchase #: model:ir.ui.view,arch_db:purchase.purchase_order_form msgid "Invoices and Incoming Shipments" msgstr "" @@ -839,17 +830,12 @@ msgid "No variants on products" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:941 +#: code:addons/purchase/models/purchase.py:945 #, python-format msgid "No vendor associated to product %s. Please set one to fix this procurement." msgstr "" #. module: purchase -#: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter -msgid "Not Invoiced" -msgstr "" - -#. module: purchase #: model:ir.ui.view,arch_db:purchase.purchase_order_form msgid "Notes" msgstr "" @@ -912,7 +898,7 @@ msgid "Order of Day" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:765 +#: code:addons/purchase/models/purchase.py:769 #, python-format msgid "Ordered quantity decreased!" msgstr "" @@ -1156,6 +1142,7 @@ msgstr "" #. module: purchase #: model:ir.actions.act_window,name:purchase.purchase_form_action +#: model:ir.actions.act_window,name:purchase.purchase_order_action_generic #: model:ir.model.fields,field_description:purchase.field_stock_picking_purchase_id #: model:ir.ui.menu,name:purchase.menu_purchase_form_action #: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter @@ -1170,13 +1157,18 @@ msgid "Purchase Orders Statistics" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:660 +#: code:addons/purchase/models/purchase.py:664 #, python-format msgid "Purchase order line deleted." msgstr "" #. module: purchase #: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter +msgid "Purchase orders that have been invoiced." +msgstr "" + +#. module: purchase +#: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter msgid "Purchase orders that include lines not invoiced." msgstr "" @@ -1198,6 +1190,7 @@ msgstr "" #. module: purchase #: model:ir.actions.act_window,name:purchase.action_purchase_line_product_tree #: model:ir.ui.menu,name:purchase.menu_purchase_root +#: model:ir.ui.view,arch_db:purchase.procurement_order_view_form_inherit_purchase #: model:ir.ui.view,arch_db:purchase.res_partner_view_purchase_buttons #: model:ir.ui.view,arch_db:purchase.view_product_template_purchase_buttons_from msgid "Purchases" @@ -1517,13 +1510,13 @@ msgid "This note will be displayed on requests for quotation." msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:969 +#: code:addons/purchase/models/purchase.py:973 #, python-format msgid "This purchase order has been created from: <a href=# data-oe-model=procurement.order data-oe-id=%d>%s</a>" msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:982 +#: code:addons/purchase/models/purchase.py:986 #, python-format msgid "This purchase order has been modified from: <a href=# data-oe-model=procurement.order data-oe-id=%d>%s</a>" msgstr "" @@ -1678,6 +1671,7 @@ msgstr "" #: model:ir.actions.act_window,name:purchase.action_invoice_pending #: model:ir.actions.act_window,name:purchase.purchase_open_invoice #: model:ir.ui.menu,name:purchase.menu_procurement_management_pending_invoice +#: model:ir.ui.view,arch_db:purchase.purchase_order_form #: model:ir.ui.view,arch_db:purchase.res_partner_view_purchase_account_buttons msgid "Vendor Bills" msgstr "" @@ -1722,6 +1716,7 @@ msgid "Volume" msgstr "" #. module: purchase +#: model:ir.ui.view,arch_db:purchase.view_purchase_order_filter #: selection:purchase.order,invoice_status:0 msgid "Waiting Bills" msgstr "" @@ -1741,7 +1736,7 @@ msgstr "" #. module: purchase #: code:addons/purchase/models/purchase.py:251 -#: code:addons/purchase/models/purchase.py:726 +#: code:addons/purchase/models/purchase.py:730 #, python-format msgid "Warning for %s" msgstr "" @@ -1767,7 +1762,7 @@ msgid "Work with product variant allows you to define some variant of the same p msgstr "" #. module: purchase -#: code:addons/purchase/models/purchase.py:766 +#: code:addons/purchase/models/purchase.py:770 #, python-format msgid "You are decreasing the ordered quantity!\n" "You must update the quantities on the reception and/or bills." diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index dadf196e8fd..60e8322d17e 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -1014,6 +1014,14 @@ class ProcurementOrder(models.Model): self.env['purchase.order.line'].create(vals) return res + @api.multi + def open_purchase_order(self): + action = self.env.ref('purchase.purchase_order_action_generic') + action_dict = action.read()[0] + action_dict['res_id'] = self.purchase_id.id + action_dict['target'] = 'current' + return action_dict + class ProductTemplate(models.Model): _name = 'product.template' diff --git a/addons/purchase/views/procurement_views.xml b/addons/purchase/views/procurement_views.xml new file mode 100644 index 00000000000..d7ad173ac92 --- /dev/null +++ b/addons/purchase/views/procurement_views.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <record id="procurement_order_view_form_inherit_purchase" model="ir.ui.view"> + <field name="name">procurement.order.form.inherit.button</field> + <field name="model">procurement.order</field> + <field name="inherit_id" ref="procurement.procurement_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//button[@name='do_view_procurements']" position="before"> + <button name="open_purchase_order" string="Purchases" type="object" + class="oe_stat_button" icon="fa-shopping-cart" + context="{'active_id':purchase_id}" + attrs="{'invisible':[('purchase_id', '=', False)]}"> + </button> + </xpath> + </field> + </record> + </data> +</odoo>
\ No newline at end of file diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml index 2208d7cf237..4b612a8db97 100644 --- a/addons/purchase/views/purchase_views.xml +++ b/addons/purchase/views/purchase_views.xml @@ -182,7 +182,7 @@ <button type="object" name="action_view_invoice" class="oe_stat_button" icon="fa-pencil-square-o" attrs="{'invisible':[('state', 'in', ('draft','sent','to approve')),('invoice_ids','=',[])]}"> - <field name="invoice_count" widget="statinfo" string="Invoices"/> + <field name="invoice_count" widget="statinfo" string="Vendor Bills"/> <field name='invoice_ids' invisible="1"/> </button> </div> @@ -317,8 +317,8 @@ <filter name="approved" string="Purchase Orders" domain="[('state','in',('purchase','done'))]"/> <filter name="to_approve" string="To Approve" domain="[('state', '=', 'to approve')]"/> <separator/> - <filter name="not_invoiced" string="Not Invoiced" domain="[('invoice_status','=', 'to invoice')]" help="Purchase orders that include lines not invoiced."/> - <filter name="invoiced" string="Invoiced" domain="[('invoice_status','=', 'invoiced')]" help="Purchase orders that include lines not invoiced."/> + <filter name="not_invoiced" string="Waiting Bills" domain="[('invoice_status','=', 'to invoice')]" help="Purchase orders that include lines not invoiced."/> + <filter name="invoiced" string="Bills Received" domain="[('invoice_status','=', 'invoiced')]" help="Purchase orders that have been invoiced."/> <filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/> <group expand="0" string="Group By"> <filter string="Vendor" domain="[]" context="{'group_by':'partner_id'}"/> @@ -390,6 +390,14 @@ </field> </record> + <record id="purchase_order_action_generic" model="ir.actions.act_window"> + <field name="name">Purchase Orders</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">purchase.order</field> + <field name="domain">[]</field> + <field name="view_id" ref="purchase_order_form"/> + </record> + <record id="purchase_rfq" model="ir.actions.act_window"> <field name="name">Requests for Quotation</field> <field name="type">ir.actions.act_window</field> diff --git a/addons/purchase_mrp/models/purchase_mrp.py b/addons/purchase_mrp/models/purchase_mrp.py index 2bdf19c2006..4c22ee1a58c 100644 --- a/addons/purchase_mrp/models/purchase_mrp.py +++ b/addons/purchase_mrp/models/purchase_mrp.py @@ -27,7 +27,7 @@ class PurchaseOrderLine(models.Model): bom_delivered = {} if bom: bom_delivered[bom.id] = False - product_uom_qty_bom = self.product_uom._compute_quantity(self.product_qty, bom.product_uom_id) + product_uom_qty_bom = self.product_uom._compute_quantity(self.product_qty, bom.product_uom_id) / bom.product_qty boms, lines = bom.explode(self.product_id, product_uom_qty_bom) for bom_line, data in lines: qty = 0.0 diff --git a/addons/purchase_requisition/views/purchase_requisition_views.xml b/addons/purchase_requisition/views/purchase_requisition_views.xml index 1b7d34aa6e2..d5177adf924 100644 --- a/addons/purchase_requisition/views/purchase_requisition_views.xml +++ b/addons/purchase_requisition/views/purchase_requisition_views.xml @@ -131,7 +131,7 @@ <group> <field name="user_id" attrs="{'readonly': [('state','not in',('draft','in_progress','open'))]}"/> <field name="type_id" attrs="{'readonly': [('state','not in',('draft','in_progress','open'))]}" widget="selection"/> - <field name="vendor_id"/> + <field name="vendor_id" context="{'search_default_supplier':1, 'default_supplier':1, 'default_customer':0}" domain="[('supplier','=',True)]"/> <field name="account_analytic_id" colspan="2" groups="purchase.group_analytic_accounting" attrs="{'readonly': [('state','not in',('draft'))]}"/> </group> <group> diff --git a/addons/rating/controllers/main.py b/addons/rating/controllers/main.py index 1bae7d13874..e4535131bf2 100644 --- a/addons/rating/controllers/main.py +++ b/addons/rating/controllers/main.py @@ -37,4 +37,6 @@ class Rating(http.Controller): # redirect to the form view if logged person if request.session.uid: return werkzeug.utils.redirect('/web#model=%s&id=%s&view_type=form' % (record_sudo._name, record_sudo.id)) - return request.render('rating.rating_external_page_view') + return request.render('rating.rating_external_page_view', { + 'web_base_url': request.env['ir.config_parameter'].sudo().get_param('web.base.url') + }) diff --git a/addons/rating/i18n/rating.pot b/addons/rating/i18n/rating.pot index 6df0b3a99be..ba9f9b206b7 100644 --- a/addons/rating/i18n/rating.pot +++ b/addons/rating/i18n/rating.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:11+0000\n" -"PO-Revision-Date: 2016-09-05 14:11+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -105,7 +105,7 @@ msgstr "" #. module: rating #: model:ir.ui.view,arch_db:rating.rating_external_page_view -msgid "Go to Odoo" +msgid "Go to our website" msgstr "" #. module: rating diff --git a/addons/rating/views/rating_template.xml b/addons/rating/views/rating_template.xml index b0af8bab7cd..85c79b0f2bf 100644 --- a/addons/rating/views/rating_template.xml +++ b/addons/rating/views/rating_template.xml @@ -106,7 +106,7 @@ </div> <h2 class="text-center">We appreciate your feedback!</h2> <div class="text-center"> - <a href="https://www.odoo.com" class="btn btn-primary">Go to Odoo</a> + <a t-att-href="web_base_url" class="btn btn-primary">Go to our website</a> </div> </div> </template> diff --git a/addons/rating_project/data/project_data.xml b/addons/rating_project/data/project_data.xml index da6278b3c22..d8089c709e5 100644 --- a/addons/rating_project/data/project_data.xml +++ b/addons/rating_project/data/project_data.xml @@ -87,7 +87,7 @@ </tr> </table> </td></tr> - <tr><td style="padding:15px 20px 10px 20px;">${object.user_id.signature | safe}</td></tr> + <tr><td style="padding:15px 20px 10px 20px;">${object.user_id.signature or ''| safe}</td></tr> </tbody> </table> <table style="width:600px;margin:auto;text-align:center;font-size:12px;"> diff --git a/addons/rating_project/i18n/rating_project.pot b/addons/rating_project/i18n/rating_project.pot index 2aefa32b98f..a034ea86884 100644 --- a/addons/rating_project/i18n/rating_project.pot +++ b/addons/rating_project/i18n/rating_project.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-06 09:46+0000\n" -"PO-Revision-Date: 2016-09-06 09:46+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -72,7 +72,7 @@ msgid "\n" " </tr>\n" " </table>\n" " </td></tr>\n" -" <tr><td style=\"padding:15px 20px 10px 20px;\">${object.user_id.signature | safe}</td></tr>\n" +" <tr><td style=\"padding:15px 20px 10px 20px;\">${object.user_id.signature or ''| safe}</td></tr>\n" " </tbody>\n" " </table>\n" " <table style=\"width:600px;margin:auto;text-align:center;font-size:12px;\">\n" @@ -82,7 +82,7 @@ msgid "\n" " <p>This customer survey has been sent because your task has been moved to the stage <b>${object.stage_id.name}</b></p>\n" " % endif\n" " % if object.project_id.rating_status == 'periodic':\n" -" <p>This customer survey is send <b>${object.project_id.rating_status_period}</b> as long as the task is in the <b>${object.stage_id.name}</b> stage.\n" +" <p>This customer survey is sent <b>${object.project_id.rating_status_period}</b> as long as the task is in the <b>${object.stage_id.name}</b> stage.\n" " % endif\n" " <p>Email automatically sent by <a href=\"https://www.odoo.com/page/project-management\" style=\"color:#a24689;text-decoration:none;\">Odoo Project</a> for <a href=\"${object.project_id.company_id.website}\" style=\"color:#a24689;text-decoration:none;\">${object.project_id.company_id.name}</a></p>\n" " </td></tr>\n" diff --git a/addons/rating_project/models/project.py b/addons/rating_project/models/project.py index 3a981885686..a82ca8cc1b9 100644 --- a/addons/rating_project/models/project.py +++ b/addons/rating_project/models/project.py @@ -36,7 +36,8 @@ class Task(models.Model): for task in self: rating_template = task.stage_id.rating_template_id if rating_template: - task.rating_send_request(rating_template, reuse_rating=False) + force_send = self.env.context.get('force_send', True) + task.rating_send_request(rating_template, reuse_rating=False, force_send=force_send) def _rating_get_partner_id(self): res = super(Task, self)._rating_get_partner_id() @@ -56,7 +57,7 @@ class Project(models.Model): @api.model def _send_rating_all(self): projects = self.search([('rating_status', '=', 'periodic'), ('rating_request_deadline', '<=', fields.Datetime.now())]) - projects._send_rating_mail() + projects.with_context(force_send=False)._send_rating_mail() projects._compute_rating_request_deadline() def _send_rating_mail(self): diff --git a/addons/rating_project/views/project_view.xml b/addons/rating_project/views/project_view.xml index 97e3984ad81..f220eb39fba 100644 --- a/addons/rating_project/views/project_view.xml +++ b/addons/rating_project/views/project_view.xml @@ -104,7 +104,7 @@ </p> </field> </record> - <menuitem id="rating_rating_menu_project" action="rating_rating_action_project" parent="project.menu_project_report" sequence="5"/> + <menuitem id="rating_rating_menu_project" action="rating_rating_action_project" parent="project.menu_project_report" sequence="40"/> </data> </odoo> diff --git a/addons/report/static/src/js/client_action.js b/addons/report/static/src/js/client_action.js index c940f03150b..041a7af383b 100644 --- a/addons/report/static/src/js/client_action.js +++ b/addons/report/static/src/js/client_action.js @@ -18,8 +18,7 @@ var AUTHORIZED_MESSAGES = [ var ReportAction = Widget.extend(ControlPanelMixin, { - tagName: 'iframe', - className: 'o_report_iframe', + template: 'report.client_action', init: function (parent, action, options) { this._super.apply(this, arguments); @@ -43,6 +42,7 @@ var ReportAction = Widget.extend(ControlPanelMixin, { start: function () { var self = this; this.set('title', this.title); + this.iframe = this.$('iframe')[0]; return $.when(this._super.apply(this, arguments), session.is_bound).then(function () { var web_base_url = session['web.base.url']; var trusted_host = utils.get_host_from_url(web_base_url); @@ -58,10 +58,10 @@ var ReportAction = Widget.extend(ControlPanelMixin, { self._update_control_panel(); // Load the report in the iframe. Note that we use a relative URL. - self.el.src = self.report_url; + self.iframe.src = self.report_url; // Once the iframe is loaded, check if we can edit the report. - self.el.onload = function () { + self.iframe.onload = function () { self._on_iframe_loaded(); }; }); @@ -84,7 +84,7 @@ var ReportAction = Widget.extend(ControlPanelMixin, { }, _on_iframe_loaded: function () { - var editable = this.$el.contents().find('html').data('editable'); + var editable = $(this.iframe).contents().find('html').data('editable'); if (editable === 1) { this.edit_mode_available = true; this._update_control_panel(); @@ -132,13 +132,13 @@ var ReportAction = Widget.extend(ControlPanelMixin, { switch(message) { case 'report.editor:save_ok': // Reload the iframe in order to disable the editor. - this.el.src = this.report_url; + this.iframe.src = this.report_url; this.in_edit_mode = false; this._update_control_panel_buttons(); break; case 'report.editor:discard_ok': // Reload the iframe in order to disable the editor. - this.el.src = this.report_url; + this.iframe.src = this.report_url; this.in_edit_mode = false; this._update_control_panel_buttons(); break; @@ -156,15 +156,15 @@ var ReportAction = Widget.extend(ControlPanelMixin, { * this method we only send the message to a trusted domain. */ _post_message: function (message) { - this.el.contentWindow.postMessage(message, this.trusted_origin); + this.iframe.contentWindow.postMessage(message, this.trusted_origin); }, on_click_edit: function () { // We reload the iframe with a special query string to enable the editor. if (this.report_url.indexOf('?') === -1) { - this.el.src = this.report_url + '?enable_editor=1'; + this.iframe.src = this.report_url + '?enable_editor=1'; } else { - this.el.src = this.report_url + '&enable_editor=1'; + this.iframe.src = this.report_url + '&enable_editor=1'; } this.in_edit_mode = true; this._update_control_panel_buttons(); @@ -195,4 +195,6 @@ var ReportAction = Widget.extend(ControlPanelMixin, { core.action_registry.add('report.client_action', ReportAction); +return ReportAction; + }); diff --git a/addons/report/static/src/xml/report.xml b/addons/report/static/src/xml/report.xml index 741022259d0..c578add8ce9 100644 --- a/addons/report/static/src/xml/report.xml +++ b/addons/report/static/src/xml/report.xml @@ -1,4 +1,10 @@ <template> + + <!-- Main layout (iframe) --> + <div t-name="report.client_action"> + <iframe class="o_report_iframe"/> + </div> + <!-- Buttons of the Control Panel --> <t t-name="report.client_action.ControlButtons"> <div class="o_report_no_edit_mode"> diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 8fc299036b7..81f2d7fbb30 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -180,9 +180,7 @@ class SaleOrder(models.Model): """ Trigger the change of fiscal position when the shipping address is modified. """ - fiscal_position = self.env['account.fiscal.position'].get_fiscal_position(self.partner_id.id, self.partner_shipping_id.id) - if fiscal_position: - self.fiscal_position_id = fiscal_position + self.fiscal_position_id = self.env['account.fiscal.position'].get_fiscal_position(self.partner_id.id, self.partner_shipping_id.id) return {} @api.multi @@ -480,20 +478,6 @@ class SaleOrder(models.Model): order.project_id = analytic @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - for recipient in recipients: - if recipient.id in done_ids: - continue - if not recipient.user_ids: - group_data['partner'] |= recipient - elif all(recipient.user_ids.mapped('share')): - group_data['partner'] |= recipient - else: - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(SaleOrder, self)._notification_group_recipients(message, recipients, done_ids, group_data) - - @api.multi def order_lines_layouted(self): """ Returns this order lines classified by sale_layout_category and separated in diff --git a/addons/sale/wizard/mail_compose_message.py b/addons/sale/wizard/mail_compose_message.py index 784d07dd568..73d81116d50 100644 --- a/addons/sale/wizard/mail_compose_message.py +++ b/addons/sale/wizard/mail_compose_message.py @@ -13,4 +13,5 @@ class MailComposeMessage(models.TransientModel): order = self.env['sale.order'].browse([self._context['default_res_id']]) if order.state == 'draft': order.state = 'sent' - return super(MailComposeMessage, self.with_context(mail_post_autofollow=True)).send_mail(auto_commit=auto_commit) + self = self.with_context(mail_post_autofollow=True) + return super(MailComposeMessage, self).send_mail(auto_commit=auto_commit) diff --git a/addons/sale_mrp/sale_mrp.py b/addons/sale_mrp/sale_mrp.py index 2247c8f7604..fce9f550395 100644 --- a/addons/sale_mrp/sale_mrp.py +++ b/addons/sale_mrp/sale_mrp.py @@ -38,7 +38,7 @@ class SaleOrderLine(models.Model): bom = self.env['mrp.bom']._bom_find(product=self.product_id) if bom and bom.type == 'phantom': bom_delivered[bom.id] = False - product_uom_qty_bom = self.product_uom._compute_quantity(self.product_uom_qty, bom.product_uom_id) + product_uom_qty_bom = self.product_uom._compute_quantity(self.product_uom_qty, bom.product_uom_id) / bom.product_qty boms, lines = bom.explode(self.product_id, product_uom_qty_bom) for bom_line, data in lines: qty = 0.0 diff --git a/addons/sale_mrp/tests/test_sale_mrp_flow.py b/addons/sale_mrp/tests/test_sale_mrp_flow.py index 1cd94fcccab..9aaa21ed16e 100644 --- a/addons/sale_mrp/tests/test_sale_mrp_flow.py +++ b/addons/sale_mrp/tests/test_sale_mrp_flow.py @@ -282,7 +282,7 @@ class TestSaleMrpFlow(common.TransactionCase): mnf_product_d.post_inventory() # Check state of manufacturing order. - self.assertEqual(mnf_product_d.state, 'confirmed', 'Manufacturing order should still be in confirmed state.') + self.assertEqual(mnf_product_d.state, 'progress', 'Manufacturing order should still be in progress state.') # Check available quantity of product D. self.assertEqual(product_d.qty_available, 20, 'Wrong quantity available of product D.') @@ -334,7 +334,7 @@ class TestSaleMrpFlow(common.TransactionCase): mnf_product_a.post_inventory() # Check state of manufacturing order product A. - self.assertEqual(mnf_product_a.state, 'confirmed', 'Manufacturing order should still be in confirmed state.') + self.assertEqual(mnf_product_a.state, 'progress', 'Manufacturing order should still be in the progress state.') # Check product A avaialble quantity should be 120. self.assertEqual(product_a.qty_available, 120, 'Wrong quantity available of product A.') diff --git a/addons/sale_stock/i18n/en.po b/addons/sale_stock/i18n/en.po deleted file mode 100644 index 620332324bd..00000000000 --- a/addons/sale_stock/i18n/en.po +++ /dev/null @@ -1,320 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * sale_stock -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2015-01-21 14:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: sale_stock -#: model:ir.ui.view,arch_db:sale_stock.report_invoice_document_inherit_sale_stock -#: model:ir.ui.view,arch_db:sale_stock.report_saleorder_document_inherit_sale_stock -msgid "<strong>Incoterms:</strong>" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,module_delivery:0 -msgid "Allow adding shipping costs" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,group_mrp_properties:0 -msgid "Allow setting manufacturing order properties per order line (advanced)" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,help:sale_stock.field_sale_config_settings_group_mrp_properties -msgid "Allows you to tag sales order lines with properties." -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,group_route_so_lines:0 -msgid "Choose specific routes on sales order lines (advanced)" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_res_company -msgid "Companies" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_config_settings_default_picking_policy -msgid "Default Shipping Policy" -msgstr "" - -#. module: sale_stock -#: selection:sale.order,picking_policy:0 -msgid "Deliver all products at once" -msgstr "" - -#. module: sale_stock -#: selection:sale.order,picking_policy:0 -msgid "Deliver each product when available" -msgstr "" - -#. module: sale_stock -#: model:ir.ui.view,arch_db:sale_stock.view_order_form_inherit_sale_stock -msgid "Delivery" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_delivery_count -msgid "Delivery Orders" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,group_mrp_properties:0 -msgid "Don't use manufacturing properties (recommended as its easier)" -msgstr "" - -#. module: sale_stock -#: model:res.groups,name:sale_stock.group_route_so_lines -msgid "Enable Route on Sales Order Line" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_product_product_expense_policy -msgid "Expense Invoice Policy" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,help:sale_stock.field_product_product_expense_policy -msgid "" -"If you invoice at cost, the expense will be invoiced on the sale order at " -"the cost of the analytic line;if you invoice at sales price, the price of " -"the product will be used instead." -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_account_invoice_incoterms_id -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_incoterm -msgid "Incoterms" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,help:sale_stock.field_account_invoice_incoterms_id -msgid "" -"Incoterms are series of sales terms. They are used to divide transaction " -"costs and responsibilities between buyer and seller and reflect state-of-the-" -"art transportation practices." -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,help:sale_stock.field_sale_order_incoterm -msgid "" -"International Commercial Terms are a series of predefined commercial terms " -"used in international transactions." -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_stock_location_route -msgid "Inventory Routes" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_account_invoice -msgid "Invoice" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_account_invoice_line -msgid "Invoice Line" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,help:sale_stock.field_res_company_security_lead -msgid "" -"Margin of error for dates promised to customers. Products will be scheduled " -"for procurement and delivery that many days earlier than the actual promised " -"date, to cope with unexpected delays in the supply chain." -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,group_route_so_lines:0 -msgid "No order specific routes like MTO or drop shipping" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,module_delivery:0 -msgid "No shipping costs on sales orders" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:156 -#, python-format -msgid "Not enough inventory!" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/res_config.py:42 -#, python-format -msgid "Only administrators can change the settings" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_config_settings_group_route_so_lines -msgid "Order Routing" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:167 -#, python-format -msgid "Ordered quantity decreased!" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_line_product_packaging -msgid "Packaging" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_picking_ids -msgid "Picking associated to this sale" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_procurement_order -msgid "Procurement" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_product_product -msgid "Product" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_line_product_tmpl_id -msgid "Product Template" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_config_settings_group_mrp_properties -msgid "Properties on SO Lines" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_line_route_id -msgid "Route" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_stock_picking_sale_id -msgid "Sale Order" -msgstr "" - -#. module: sale_stock -#: model:ir.ui.view,arch_db:sale_stock.stock_location_route_form_view_inherit_sale_stock -msgid "Sale Order Lines" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_sale_order -msgid "Sales Order" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_sale_report -msgid "Sales Orders Statistics" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_res_company_security_lead -msgid "Sales Safety Days" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_stock_location_route_sale_selectable -msgid "Selectable on Sales Order Line" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,default_picking_policy:0 -msgid "Ship all products at once, without back orders" -msgstr "" - -#. module: sale_stock -#: selection:sale.config.settings,default_picking_policy:0 -msgid "Ship products when some are available, and allow back orders" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_config_settings_module_delivery -#: model:ir.ui.view,arch_db:sale_stock.view_sales_config_inherit_sale_stock -msgid "Shipping" -msgstr "" - -#. module: sale_stock -#: model:ir.ui.view,arch_db:sale_stock.view_order_form_inherit_sale_stock -msgid "Shipping Information" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_picking_policy -msgid "Shipping Policy" -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_stock_move -msgid "Stock Move" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:213 -#, python-format -msgid "This product is packaged by %s %s. You should sell %s %s." -msgstr "" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_stock_picking -msgid "Transfer" -msgstr "" - -#. module: sale_stock -#: model:ir.model.fields,field_description:sale_stock.field_sale_order_warehouse_id -#: model:ir.model.fields,field_description:sale_stock.field_sale_report_warehouse_id -msgid "Warehouse" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:212 -#, python-format -msgid "Warning" -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:168 -#, python-format -msgid "" -"You are decreasing the ordered quantity! Do not forget to manually update " -"the delivery order if needed." -msgstr "" - -#. module: sale_stock -#: code:addons/sale_stock/sale_stock.py:157 -#, fuzzy, python-format -msgid "" -"You plan to sell %.2f %s but you only have %.2f %s available!\n" -"The stock on hand is %.2f %s." -msgstr "" -"You plan to sell %s %s but you only have %s %s available !\n" -"The real stock is %s %s. (without reservations)" - -#. module: sale_stock -#: model:ir.model,name:sale_stock.model_sale_config_settings -msgid "sale.config.settings" -msgstr "" diff --git a/addons/stock/models/product.py b/addons/stock/models/product.py index 2b3192dc0cf..dc4b52bdf14 100644 --- a/addons/stock/models/product.py +++ b/addons/stock/models/product.py @@ -234,8 +234,8 @@ class Product(models.Model): dest_loc_domain = dest_loc_domain + [('location_dest_id', operator, [location.id for location in other_locations])] return ( domain + loc_domain, - domain + ['&'] + dest_loc_domain + ['!'] + loc_domain, - domain + ['&'] + loc_domain + ['!'] + dest_loc_domain + domain + dest_loc_domain + ['!'] + loc_domain if loc_domain else domain + dest_loc_domain, + domain + loc_domain + ['!'] + dest_loc_domain if dest_loc_domain else domain + loc_domain ) def _search_virtual_available(self, operator, value): diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index 34d98ba27ef..7cb80c8b360 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -264,11 +264,6 @@ class StockMove(models.Model): raise UserError(_('Quantities, Units of Measure, Products and Locations cannot be modified on stock moves that have already been processed (except by the Administrator).')) propagated_changes_dict = {} - #propagation of quantity change - if vals.get('product_uom_qty'): - propagated_changes_dict['product_uom_qty'] = vals['product_uom_qty'] - if vals.get('product_uom_id'): - propagated_changes_dict['product_uom_id'] = vals['product_uom_id'] #propagation of expected date: propagated_date_field = False if vals.get('date_expected'): @@ -634,6 +629,7 @@ class StockMove(models.Model): if move.state != 'assigned' and not self.env.context.get('reserve_only_ops'): qty_already_assigned = move.reserved_availability qty = move.product_qty - qty_already_assigned + quants = Quant.quants_get_preferred_domain(qty, move, domain=main_domain[move.id], preferred_domain_list=[]) Quant.quants_reserve(quants, move) diff --git a/addons/stock/models/stock_scrap.py b/addons/stock/models/stock_scrap.py index a0465d5e3f8..355f0139d04 100644 --- a/addons/stock/models/stock_scrap.py +++ b/addons/stock/models/stock_scrap.py @@ -93,7 +93,7 @@ class StockScrap(models.Model): self.ensure_one() return { 'name': self.name, - 'origin': self.origin, + 'origin': self.origin or self.picking_id.name, 'product_id': self.product_id.id, 'product_uom': self.product_uom_id.id, 'product_uom_qty': self.scrap_qty, diff --git a/addons/stock/views/stock_pack_operation_views.xml b/addons/stock/views/stock_pack_operation_views.xml index 5f7e46850e6..e982fac90bf 100644 --- a/addons/stock/views/stock_pack_operation_views.xml +++ b/addons/stock/views/stock_pack_operation_views.xml @@ -21,8 +21,8 @@ </div> </group> <group string="Locations" groups="stock.group_stock_multi_locations"> - <field name="location_id"/> - <field name="location_dest_id"/> + <field name="location_id" domain="[('id', 'child_of', picking_source_location_id)]"/> + <field name="location_dest_id" domain="[('id', 'child_of', picking_destination_location_id)]"/> </group> <group string="Packages" groups="stock.group_tracking_lot"> <field name="package_id" attrs="{'required': [('product_id', '=', False)]}" domain="[('location_id', '=', location_id)]" context="{'location_id': location_id}"/> diff --git a/addons/stock_account/models/account_invoice.py b/addons/stock_account/models/account_invoice.py index b4149ead98b..9ddc1c686f4 100644 --- a/addons/stock_account/models/account_invoice.py +++ b/addons/stock_account/models/account_invoice.py @@ -48,7 +48,8 @@ class AccountInvoice(models.Model): 'account_id':dacc, 'product_id':i_line.product_id.id, 'uom_id':i_line.uom_id.id, - 'account_analytic_id': False, + 'account_analytic_id': i_line.account_analytic_id.id, + 'analytic_tag_ids': i_line.analytic_tag_ids.ids and [(6, 0, i_line.analytic_tag_ids.ids)] or False, }, { @@ -60,7 +61,8 @@ class AccountInvoice(models.Model): 'account_id':cacc, 'product_id':i_line.product_id.id, 'uom_id':i_line.uom_id.id, - 'account_analytic_id': False, + 'account_analytic_id': i_line.account_analytic_id.id, + 'analytic_tag_ids': i_line.analytic_tag_ids.ids and [(6, 0, i_line.analytic_tag_ids.ids)] or False, }, ] return [] diff --git a/addons/stock_account/views/product_views.xml b/addons/stock_account/views/product_views.xml index 1dcc5e7e9df..94f9bcac870 100644 --- a/addons/stock_account/views/product_views.xml +++ b/addons/stock_account/views/product_views.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="account.view_category_property_form"/> <field name="arch" type="xml"> <group name="account_property" position="inside"> - <group name="account_stock_property" string="Account Stock Properties" attrs="{'invisible': [('property_valuation', '=', 'manual_periodic')]}"> + <group name="account_stock_property" string="Account Stock Properties"> <field name="property_stock_account_input_categ_id" domain="[('deprecated', '=', False)]"/> <field name="property_stock_account_output_categ_id" domain="[('deprecated', '=', False)]"/> <field name="property_stock_valuation_account_id" domain="[('deprecated', '=', False)]"/> diff --git a/addons/stock_picking_wave/i18n/en_US.po b/addons/stock_picking_wave/i18n/en_US.po deleted file mode 100644 index d8426e97f7c..00000000000 --- a/addons/stock_picking_wave/i18n/en_US.po +++ /dev/null @@ -1,315 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * stock_picking_wave -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2015-09-18 08:11+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: stock_picking_wave -#: model:ir.model,name:stock_picking_wave.model_stock_picking_to_wave -msgid "Add pickings to a picking wave" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.picking_to_wave_form -msgid "Add pickings to wave" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.actions.act_window,name:stock_picking_wave.action_picking_to_wave -#: model:ir.actions.act_window,name:stock_picking_wave.picking_to_wave_act -#: model:ir.ui.view,arch_db:stock_picking_wave.picking_to_wave_form -msgid "Add to Wave" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.picking_to_wave_form -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Cancel" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Cancel picking" -msgstr "" - -#. module: stock_picking_wave -#: selection:stock.picking.wave,state:0 -msgid "Cancelled" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.actions.act_window,help:stock_picking_wave.action_picking_wave -msgid "Click to create a Picking Wave." -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Confirm" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Confirm picking" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_create_uid -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_create_uid -msgid "Created by" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_create_date -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_create_date -msgid "Created on" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_display_name -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_display_name -msgid "Display Name" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -#: selection:stock.picking.wave,state:0 -msgid "Done" -msgstr "" - -#. module: stock_picking_wave -#: selection:stock.picking.wave,state:0 -msgid "Draft" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Force availability" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "Group By" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_id -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_id -msgid "ID" -msgstr "" - -#. module: stock_picking_wave -#: model:product.product,name:stock_picking_wave.product_product_ice_cream_choco -#: model:product.template,name:stock_picking_wave.product_product_ice_cream_choco_product_template -msgid "Ice Cream Chocolate" -msgstr "" - -#. module: stock_picking_wave -#: model:product.product,description_sale:stock_picking_wave.product_product_ice_cream_choco -#: model:product.template,description_sale:stock_picking_wave.product_product_ice_cream_choco_product_template -msgid "Ice Cream Chocolate with sticks" -msgstr "" - -#. module: stock_picking_wave -#: model:product.product,description_sale:stock_picking_wave.product_product_ice_cream_vani -#: model:product.product,name:stock_picking_wave.product_product_ice_cream_vani -#: model:product.template,description_sale:stock_picking_wave.product_product_ice_cream_vani_product_template -#: model:product.template,name:stock_picking_wave.product_product_ice_cream_vani_product_template -msgid "Ice Cream Vanilla" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "In Progress" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave___last_update -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave___last_update -msgid "Last Modified on" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_write_uid -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_write_uid -msgid "Last Updated by" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_write_date -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_write_date -msgid "Last Updated on" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,help:stock_picking_wave.field_stock_picking_wave_picking_ids -msgid "List of picking associated to this wave" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,help:stock_picking_wave.field_stock_picking_wave_name -msgid "Name of the picking wave" -msgstr "" - -#. module: stock_picking_wave -#: code:addons/stock_picking_wave/stock_picking_wave.py:42 -#, python-format -msgid "Nothing to print." -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,help:stock_picking_wave.field_stock_picking_wave_user_id -msgid "Person responsible for this wave" -msgstr "" - -#. module: stock_picking_wave -#: code:addons/stock_picking_wave/stock_picking_wave.py:60 -#: model:ir.model,name:stock_picking_wave.model_stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_to_wave_wave_id -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_id_9535 -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -#, python-format -msgid "Picking Wave" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_name -msgid "Picking Wave Name" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.actions.act_window,name:stock_picking_wave.action_picking_wave -#: model:ir.ui.menu,name:stock_picking_wave.menu_action_picking_wave -msgid "Picking Waves" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "Picking Waves not finished" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,help:stock_picking_wave.field_stock_picking_wave_id_9535 -msgid "Picking wave associated to this picking" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_picking_ids -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Pickings" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -msgid "Print all pickings" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_user_id -msgid "Responsible" -msgstr "" - -#. module: stock_picking_wave -#: selection:stock.picking.wave,state:0 -msgid "Running" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "Search Picking Waves" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.picking_to_wave_form -msgid "Select a wave" -msgstr "" - -#. module: stock_picking_wave -#: code:addons/stock_picking_wave/stock_picking_wave.py:59 -#, python-format -msgid "" -"Some pickings are still waiting for goods. Please check or force their " -"availability before setting this wave to done." -msgstr "" - -#. module: stock_picking_wave -#: model:product.product,name:stock_picking_wave.product_product_dry_specu -#: model:product.template,name:stock_picking_wave.product_product_dry_specu_product_template -msgid "Speculoos" -msgstr "" - -#. module: stock_picking_wave -#: model:product.product,description_sale:stock_picking_wave.product_product_dry_specu -#: model:product.template,description_sale:stock_picking_wave.product_product_dry_specu_product_template -msgid "Speculoos - A belgian speciality" -msgstr "" - -#. module: stock_picking_wave -#: model:mail.message.subtype,description:stock_picking_wave.mt_wave_state -#: model:mail.message.subtype,name:stock_picking_wave.mt_wave_state -msgid "Stage Changed" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.model.fields,field_description:stock_picking_wave.field_stock_picking_wave_state -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "State" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_form -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_tree -msgid "Stock Picking Waves" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.actions.act_window,help:stock_picking_wave.action_picking_wave -#, fuzzy -msgid "" -"The goal of the picking waves is to group operations that may\n" -" (needs to) be done together in order to increase their " -"efficiency.\n" -" It may also be useful to assign jobs (one person = one wave) " -"or\n" -" help the timing management of operations (tasks to be done " -"at 1pm)." -msgstr "" -"The goal of the picking waves is to group operations that may \n" -" (needs to) be done together in order to increase their " -"efficiency.\n" -" It may also be useful to assign jobs (one person = one wave) " -"or\n" -" help the timing management of operations (tasks to be done " -"at 1pm)." - -#. module: stock_picking_wave -#: model:ir.model,name:stock_picking_wave.model_stock_picking -msgid "Transfer" -msgstr "" - -#. module: stock_picking_wave -#: code:addons/stock_picking_wave/stock_picking_wave.py:60 -#, python-format -msgid "Transferred by" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_picking_wave_filter -msgid "User" -msgstr "" - -#. module: stock_picking_wave -#: model:ir.ui.view,arch_db:stock_picking_wave.view_stock_picking_wave_search_inherit -msgid "Wave" -msgstr "" diff --git a/addons/survey/static/src/js/tour_test_survey.js b/addons/survey/static/src/js/tour_test_survey.js index e459336679a..bf0ae590709 100644 --- a/addons/survey/static/src/js/tour_test_survey.js +++ b/addons/survey/static/src/js/tour_test_survey.js @@ -2,9 +2,13 @@ odoo.define('survey.tour_test_survey', function (require) { 'use strict'; var tour = require('web_tour.tour'); +var base = require("web_editor.base"); - -tour.register('test_survey', { test: true, url: '/survey/start/user-feedback-form-1/phantom' }, +tour.register('test_survey', { + test: true, + url: '/survey/start/user-feedback-form-1/phantom', + wait_for: base.ready() +}, [ // Page-1 { diff --git a/addons/web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js b/addons/web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js index e6c0d62453a..bdde6b9d399 100644 --- a/addons/web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js +++ b/addons/web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js @@ -1,50 +1,139 @@ /* * jQuery UI Nested Sortable - * v 1.3.5 / 21 jun 2012 - * http://mjsarfatti.com/code/nestedSortable + * v 2.1a / 2016-02-04 + * https://github.com/ilikenwf/nestedSortable * * Depends on: - * jquery.ui.sortable.js 1.8+ + * jquery.ui.sortable.js 1.10+ * - * Copyright (c) 2010-2012 Manuele J Sarfatti + * Copyright (c) 2010-2016 Manuele J Sarfatti and contributors * Licensed under the MIT License * http://www.opensource.org/licenses/mit-license.php */ +(function( factory ) { + "use strict"; -(function($) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ + "jquery", + "jquery-ui/sortable" + ], factory ); + } else { + + // Browser globals + factory( window.jQuery ); + } +}(function($) { + "use strict"; + + function isOverAxis( x, reference, size ) { + return ( x > reference ) && ( x < ( reference + size ) ); + } $.widget("mjs.nestedSortable", $.extend({}, $.ui.sortable.prototype, { options: { - tabSize: 20, - disableNesting: 'mjs-nestedSortable-no-nesting', - errorClass: 'mjs-nestedSortable-error', + disableParentChange: false, doNotClear: false, - listType: 'ol', + expandOnHover: 700, + isAllowed: function() { return true; }, + isTree: false, + listType: "ol", maxLevels: 0, protectRoot: false, rootID: null, rtl: false, - isAllowed: function(item, parent) { return true; } + startCollapsed: false, + tabSize: 20, + + branchClass: "mjs-nestedSortable-branch", + collapsedClass: "mjs-nestedSortable-collapsed", + disableNestingClass: "mjs-nestedSortable-no-nesting", + errorClass: "mjs-nestedSortable-error", + expandedClass: "mjs-nestedSortable-expanded", + hoveringClass: "mjs-nestedSortable-hovering", + leafClass: "mjs-nestedSortable-leaf", + disabledClass: "mjs-nestedSortable-disabled" }, _create: function() { - this.element.data('sortable', this.element.data('nestedSortable')); + var self = this, + err; - if (!this.element.is(this.options.listType)) - throw new Error('nestedSortable: Please check the listType option is set to your actual list type'); + this.element.data("ui-sortable", this.element.data("mjs-nestedSortable")); - return $.ui.sortable.prototype._create.apply(this, arguments); + // mjs - prevent browser from freezing if the HTML is not correct + if (!this.element.is(this.options.listType)) { + err = "nestedSortable: " + + "Please check that the listType option is set to your actual list type"; + + throw new Error(err); + } + + // if we have a tree with expanding/collapsing functionality, + // force 'intersect' tolerance method + if (this.options.isTree && this.options.expandOnHover) { + this.options.tolerance = "intersect"; + } + + $.ui.sortable.prototype._create.apply(this, arguments); + + // prepare the tree by applying the right classes + // (the CSS is responsible for actual hide/show functionality) + if (this.options.isTree) { + $(this.items).each(function() { + var $li = this.item, + hasCollapsedClass = $li.hasClass(self.options.collapsedClass), + hasExpandedClass = $li.hasClass(self.options.expandedClass); + + if ($li.children(self.options.listType).length) { + $li.addClass(self.options.branchClass); + // expand/collapse class only if they have children + + if ( !hasCollapsedClass && !hasExpandedClass ) { + if (self.options.startCollapsed) { + $li.addClass(self.options.collapsedClass); + } else { + $li.addClass(self.options.expandedClass); + } + } + } else { + $li.addClass(self.options.leafClass); + } + }); + } }, - destroy: function() { + _destroy: function() { this.element - .removeData("nestedSortable") - .unbind(".nestedSortable"); - return $.ui.sortable.prototype.destroy.apply(this, arguments); + .removeData("mjs-nestedSortable") + .removeData("ui-sortable"); + return $.ui.sortable.prototype._destroy.apply(this, arguments); }, _mouseDrag: function(event) { + var i, + item, + itemElement, + intersection, + self = this, + o = this.options, + scrolled = false, + $document = $(document), + previousTopOffset, + parentItem, + level, + childLevels, + itemAfter, + itemBefore, + newList, + method, + a, + previousItem, + nextItem, + helperIsNotSibling; //Compute the helpers position this.position = this._generatePosition(event); @@ -54,72 +143,258 @@ this.lastPositionAbs = this.positionAbs; } - var o = this.options; - //Do scrolling - if(this.options.scroll) { - var scrolled = false; - if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') { - - if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) - this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; - else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) - this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; + if (this.options.scroll) { + if (this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") { + + if ( + ( + this.overflowOffset.top + + this.scrollParent[0].offsetHeight + ) - + event.pageY < + o.scrollSensitivity + ) { + scrolled = this.scrollParent.scrollTop() + o.scrollSpeed; + this.scrollParent.scrollTop(scrolled); + } else if ( + event.pageY - + this.overflowOffset.top < + o.scrollSensitivity + ) { + scrolled = this.scrollParent.scrollTop() - o.scrollSpeed; + this.scrollParent.scrollTop(scrolled); + } - if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) - this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; - else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) - this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; + if ( + ( + this.overflowOffset.left + + this.scrollParent[0].offsetWidth + ) - + event.pageX < + o.scrollSensitivity + ) { + scrolled = this.scrollParent.scrollLeft() + o.scrollSpeed; + this.scrollParent.scrollLeft(scrolled); + } else if ( + event.pageX - + this.overflowOffset.left < + o.scrollSensitivity + ) { + scrolled = this.scrollParent.scrollLeft() - o.scrollSpeed; + this.scrollParent.scrollLeft(scrolled); + } } else { - if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) - scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); - else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) - scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + if ( + event.pageY - + $document.scrollTop() < + o.scrollSensitivity + ) { + scrolled = $document.scrollTop() - o.scrollSpeed; + $document.scrollTop(scrolled); + } else if ( + $(window).height() - + ( + event.pageY - + $document.scrollTop() + ) < + o.scrollSensitivity + ) { + scrolled = $document.scrollTop() + o.scrollSpeed; + $document.scrollTop(scrolled); + } - if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) - scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); - else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) - scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + if ( + event.pageX - + $document.scrollLeft() < + o.scrollSensitivity + ) { + scrolled = $document.scrollLeft() - o.scrollSpeed; + $document.scrollLeft(scrolled); + } else if ( + $(window).width() - + ( + event.pageX - + $document.scrollLeft() + ) < + o.scrollSensitivity + ) { + scrolled = $document.scrollLeft() + o.scrollSpeed; + $document.scrollLeft(scrolled); + } } - if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) + if (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { $.ui.ddmanager.prepareOffsets(this, event); + } } //Regenerate the absolute position used for position checks this.positionAbs = this._convertPositionTo("absolute"); - // Find the top offset before rearrangement, - var previousTopOffset = this.placeholder.offset().top; + // mjs - find the top offset before rearrangement, + previousTopOffset = this.placeholder.offset().top; //Set the helper position - if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; - if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; + if (!this.options.axis || this.options.axis !== "y") { + this.helper[0].style.left = this.position.left + "px"; + } + if (!this.options.axis || this.options.axis !== "x") { + this.helper[0].style.top = (this.position.top) + "px"; + } + + // mjs - check and reset hovering state at each cycle + this.hovering = this.hovering ? this.hovering : null; + this.mouseentered = this.mouseentered ? this.mouseentered : false; + + // mjs - let's start caching some variables + (function() { + var _parentItem = this.placeholder.parent().parent(); + if (_parentItem && _parentItem.closest(".ui-sortable").length) { + parentItem = _parentItem; + } + }.call(this)); + + level = this._getLevel(this.placeholder); + childLevels = this._getChildLevels(this.helper); + newList = document.createElement(o.listType); //Rearrange - for (var i = this.items.length - 1; i >= 0; i--) { + for (i = this.items.length - 1; i >= 0; i--) { //Cache variables and intersection, continue if no intersection - var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item); - if (!intersection) continue; - - if(itemElement != this.currentItem[0] //cannot intersect with itself - && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before - && !$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked - && (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true) - //&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container + item = this.items[i]; + itemElement = item.item[0]; + intersection = this._intersectsWithPointer(item); + if (!intersection) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items form other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this moving items in "sub-sortables" can cause the placeholder to jitter + // beetween the outer and inner container. + if (item.instance !== this.currentContainer) { + continue; + } + + // No action if intersected item is disabled + // and the element above or below in the direction we're going is also disabled + if (itemElement.className.indexOf(o.disabledClass) !== -1) { + // Note: intersection hardcoded direction values from + // jquery.ui.sortable.js:_intersectsWithPointer + if (intersection === 2) { + // Going down + itemAfter = this.items[i + 1]; + if (itemAfter && itemAfter.item.hasClass(o.disabledClass)) { + continue; + } + + } else if (intersection === 1) { + // Going up + itemBefore = this.items[i - 1]; + if (itemBefore && itemBefore.item.hasClass(o.disabledClass)) { + continue; + } + } + } + + method = intersection === 1 ? "next" : "prev"; + + // cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if (itemElement !== this.currentItem[0] && + this.placeholder[method]()[0] !== itemElement && + !$.contains(this.placeholder[0], itemElement) && + ( + this.options.type === "semi-dynamic" ? + !$.contains(this.element[0], itemElement) : + true + ) ) { - $(itemElement).mouseenter(); + // mjs - we are intersecting an element: + // trigger the mouseenter event and store this state + if (!this.mouseentered) { + $(itemElement).mouseenter(); + this.mouseentered = true; + } + + // mjs - if the element has children and they are hidden, + // show them after a delay (CSS responsible) + if (o.isTree && $(itemElement).hasClass(o.collapsedClass) && o.expandOnHover) { + if (!this.hovering) { + $(itemElement).addClass(o.hoveringClass); + this.hovering = window.setTimeout(function() { + $(itemElement) + .removeClass(o.collapsedClass) + .addClass(o.expandedClass); + + self.refreshPositions(); + self._trigger("expand", event, self._uiHash()); + }, o.expandOnHover); + } + } - this.direction = intersection == 1 ? "down" : "up"; + this.direction = intersection === 1 ? "down" : "up"; - if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) { + // mjs - rearrange the elements and reset timeouts and hovering state + if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) { $(itemElement).mouseleave(); - this._rearrange(event, item); + this.mouseentered = false; + $(itemElement).removeClass(o.hoveringClass); + if (this.hovering) { + window.clearTimeout(this.hovering); + } + this.hovering = null; + + // mjs - do not switch container if + // it's a root item and 'protectRoot' is true + // or if it's not a root item but we are trying to make it root + if (o.protectRoot && + !( + this.currentItem[0].parentNode === this.element[0] && + // it's a root item + itemElement.parentNode !== this.element[0] + // it's intersecting a non-root item + ) + ) { + if (this.currentItem[0].parentNode !== this.element[0] && + itemElement.parentNode === this.element[0] + ) { + + if ( !$(itemElement).children(o.listType).length) { + itemElement.appendChild(newList); + if (o.isTree) { + $(itemElement) + .removeClass(o.leafClass) + .addClass(o.branchClass + " " + o.expandedClass); + } + } + + if (this.direction === "down") { + a = $(itemElement).prev().children(o.listType); + } else { + a = $(itemElement).children(o.listType); + } + + if (a[0] !== undefined) { + this._rearrange(event, null, a); + } + + } else { + this._rearrange(event, item); + } + } else if (!o.protectRoot) { + this._rearrange(event, item); + } } else { break; } @@ -132,17 +407,24 @@ } } - var parentItem = (this.placeholder[0].parentNode.parentNode && - $(this.placeholder[0].parentNode.parentNode).closest('.ui-sortable').length) - ? $(this.placeholder[0].parentNode.parentNode) - : null, - level = this._getLevel(this.placeholder), - childLevels = this._getChildLevels(this.helper); + // mjs - to find the previous sibling in the list, + // keep backtracking until we hit a valid list item. + (function() { + var _previousItem = this.placeholder.prev(); + if (_previousItem.length) { + previousItem = _previousItem; + } else { + previousItem = null; + } + }.call(this)); - // To find the previous sibling in the list, keep backtracking until we hit a valid list item. - var previousItem = this.placeholder[0].previousSibling ? $(this.placeholder[0].previousSibling) : null; if (previousItem != null) { - while (previousItem[0].nodeName.toLowerCase() != 'li' || previousItem[0] == this.currentItem[0] || previousItem[0] == this.helper[0]) { + while ( + previousItem[0].nodeName.toLowerCase() !== "li" || + previousItem[0].className.indexOf(o.disabledClass) !== -1 || + previousItem[0] === this.currentItem[0] || + previousItem[0] === this.helper[0] + ) { if (previousItem[0].previousSibling) { previousItem = $(previousItem[0].previousSibling); } else { @@ -152,70 +434,131 @@ } } - // To find the next sibling in the list, keep stepping forward until we hit a valid list item. - var nextItem = this.placeholder[0].nextSibling ? $(this.placeholder[0].nextSibling) : null; - if (nextItem != null) { - while (nextItem[0].nodeName.toLowerCase() != 'li' || nextItem[0] == this.currentItem[0] || nextItem[0] == this.helper[0]) { - if (nextItem[0].nextSibling) { - nextItem = $(nextItem[0].nextSibling); - } else { - nextItem = null; - break; - } - } - } - - var newList = document.createElement(o.listType); + // mjs - to find the next sibling in the list, + // keep stepping forward until we hit a valid list item. + (function() { + var _nextItem = this.placeholder.next(); + if (_nextItem.length) { + nextItem = _nextItem; + } else { + nextItem = null; + } + }.call(this)); + + if (nextItem != null) { + while ( + nextItem[0].nodeName.toLowerCase() !== "li" || + nextItem[0].className.indexOf(o.disabledClass) !== -1 || + nextItem[0] === this.currentItem[0] || + nextItem[0] === this.helper[0] + ) { + if (nextItem[0].nextSibling) { + nextItem = $(nextItem[0].nextSibling); + } else { + nextItem = null; + break; + } + } + } this.beyondMaxLevels = 0; - - // If the item is moved to the left, send it to its parent's level unless there are siblings below it. - if (parentItem != null && nextItem == null && - (o.rtl && (this.positionAbs.left + this.helper.outerWidth() > parentItem.offset().left + parentItem.outerWidth()) || - !o.rtl && (this.positionAbs.left < parentItem.offset().left))) { + + // mjs - if the item is moved to the left, send it one level up + // but only if it's at the bottom of the list + if (parentItem != null && + nextItem == null && + !(o.protectRoot && parentItem[0].parentNode == this.element[0]) && + ( + o.rtl && + ( + this.positionAbs.left + + this.helper.outerWidth() > parentItem.offset().left + + parentItem.outerWidth() + ) || + !o.rtl && (this.positionAbs.left < parentItem.offset().left) + ) + ) { + parentItem.after(this.placeholder[0]); - this._clearEmpty(parentItem[0]); + helperIsNotSibling = !parentItem + .children(o.listItem) + .children("li:visible:not(.ui-sortable-helper)") + .length; + if (o.isTree && helperIsNotSibling) { + parentItem + .removeClass(this.options.branchClass + " " + this.options.expandedClass) + .addClass(this.options.leafClass); + } + if(typeof parentItem !== 'undefined') + this._clearEmpty(parentItem[0]); this._trigger("change", event, this._uiHash()); - } - // If the item is below a sibling and is moved to the right, make it a child of that sibling. - else if (previousItem != null && - (o.rtl && (this.positionAbs.left + this.helper.outerWidth() < previousItem.offset().left + previousItem.outerWidth() - o.tabSize) || - !o.rtl && (this.positionAbs.left > previousItem.offset().left + o.tabSize))) { - this._isAllowed(previousItem, level, level+childLevels+1); + // mjs - if the item is below a sibling and is moved to the right, + // make it a child of that sibling + } else if (previousItem != null && + !previousItem.hasClass(o.disableNestingClass) && + ( + previousItem.children(o.listType).length && + previousItem.children(o.listType).is(":visible") || + !previousItem.children(o.listType).length + ) && + !(o.protectRoot && this.currentItem[0].parentNode === this.element[0]) && + ( + o.rtl && + ( + this.positionAbs.left + + this.helper.outerWidth() < + previousItem.offset().left + + previousItem.outerWidth() - + o.tabSize + ) || + !o.rtl && + (this.positionAbs.left > previousItem.offset().left + o.tabSize) + ) + ) { + + this._isAllowed(previousItem, level, level + childLevels + 1); + if (!previousItem.children(o.listType).length) { previousItem[0].appendChild(newList); + if (o.isTree) { + previousItem + .removeClass(o.leafClass) + .addClass(o.branchClass + " " + o.expandedClass); + } } - // If this item is being moved from the top, add it to the top of the list. - if (previousTopOffset && (previousTopOffset <= previousItem.offset().top)) { - previousItem.children(o.listType).prepend(this.placeholder); - } - // Otherwise, add it to the bottom of the list. - else { - previousItem.children(o.listType)[0].appendChild(this.placeholder[0]); - } + + // mjs - if this item is being moved from the top, add it to the top of the list. + if (previousTopOffset && (previousTopOffset <= previousItem.offset().top)) { + previousItem.children(o.listType).prepend(this.placeholder); + } else { + // mjs - otherwise, add it to the bottom of the list. + previousItem.children(o.listType)[0].appendChild(this.placeholder[0]); + } + if(typeof parentItem !== 'undefined') + this._clearEmpty(parentItem[0]); this._trigger("change", event, this._uiHash()); - } - else { - this._isAllowed(parentItem, level, level+childLevels); + } else { + this._isAllowed(parentItem, level, level + childLevels); } //Post events to containers this._contactContainers(event); //Interconnect with droppables - if($.ui.ddmanager) $.ui.ddmanager.drag(this, event); + if ($.ui.ddmanager) { + $.ui.ddmanager.drag(this, event); + } //Call callbacks - this._trigger('sort', event, this._uiHash()); + this._trigger("sort", event, this._uiHash()); this.lastPositionAbs = this.positionAbs; return false; }, - _mouseStop: function(event, noPropagation) { - - // If the item is in a position not allowed, send it back + _mouseStop: function(event) { + // mjs - if the item is in a position not allowed, send it back if (this.beyondMaxLevels) { this.placeholder.removeClass(this.options.errorClass); @@ -230,13 +573,87 @@ } - // Clean last empty ul/ol - for (var i = this.items.length - 1; i >= 0; i--) { - var item = this.items[i].item[0]; - this._clearEmpty(item); + // mjs - clear the hovering timeout, just to be sure + $("." + this.options.hoveringClass) + .mouseleave() + .removeClass(this.options.hoveringClass); + + this.mouseentered = false; + if (this.hovering) { + window.clearTimeout(this.hovering); + } + this.hovering = null; + + this._relocate_event = event; + this._pid_current = $(this.domPosition.parent).parent().attr("id"); + this._sort_current = this.domPosition.prev ? $(this.domPosition.prev).next().index() : 0; + $.ui.sortable.prototype._mouseStop.apply(this, arguments); //asybnchronous execution, @see _clear for the relocate event. + }, + + // mjs - this function is slightly modified + // to make it easier to hover over a collapsed element and have it expand + _intersectsWithSides: function(item) { + + var half = this.options.isTree ? .8 : .5, + isOverBottomHalf = isOverAxis( + this.positionAbs.top + this.offset.click.top, + item.top + (item.height * half), + item.height + ), + isOverTopHalf = isOverAxis( + this.positionAbs.top + this.offset.click.top, + item.top - (item.height * half), + item.height + ), + isOverRightHalf = isOverAxis( + this.positionAbs.left + this.offset.click.left, + item.left + (item.width / 2), + item.width + ), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (this.floating && horizontalDirection) { + return ( + (horizontalDirection === "right" && isOverRightHalf) || + (horizontalDirection === "left" && !isOverRightHalf) + ); + } else { + return verticalDirection && ( + (verticalDirection === "down" && isOverBottomHalf) || + (verticalDirection === "up" && isOverTopHalf) + ); + } + + }, + + _contactContainers: function() { + + if (this.options.protectRoot && this.currentItem[0].parentNode === this.element[0] ) { + return; + } + + $.ui.sortable.prototype._contactContainers.apply(this, arguments); + + }, + + _clear: function() { + var i, + item; + + $.ui.sortable.prototype._clear.apply(this, arguments); + + //relocate event + if (!(this._pid_current === this._uiHash().item.parent().parent().attr("id") && + this._sort_current === this._uiHash().item.index())) { + this._trigger("relocate", this._relocate_event, this._uiHash()); } - $.ui.sortable.prototype._mouseStop.apply(this, arguments); + // mjs - clean last empty ul/ol + for (i = this.items.length - 1; i >= 0; i--) { + item = this.items[i].item[0]; + this._clearEmpty(item); + } }, @@ -244,38 +661,42 @@ var o = $.extend({}, this.options, options), items = this._getItemsAsjQuery(o && o.connected), - str = []; + str = []; $(items).each(function() { - var res = ($(o.item || this).attr(o.attribute || 'id') || '') + var res = ($(o.item || this).attr(o.attribute || "id") || "") .match(o.expression || (/(.+)[-=_](.+)/)), - pid = ($(o.item || this).parent(o.listType) + pid = ($(o.item || this).parent(o.listType) .parent(o.items) - .attr(o.attribute || 'id') || '') + .attr(o.attribute || "id") || "") .match(o.expression || (/(.+)[-=_](.+)/)); if (res) { - str.push(((o.key || res[1]) + '[' + (o.key && o.expression ? res[1] : res[2]) + ']') - + '=' - + (pid ? (o.key && o.expression ? pid[1] : pid[2]) : o.rootID)); + str.push( + ( + (o.key || res[1]) + + "[" + + (o.key && o.expression ? res[1] : res[2]) + "]" + ) + + "=" + + (pid ? (o.key && o.expression ? pid[1] : pid[2]) : o.rootID)); } }); - if(!str.length && o.key) { - str.push(o.key + '='); + if (!str.length && o.key) { + str.push(o.key + "="); } - return str.join('&'); + return str.join("&"); }, toHierarchy: function(options) { var o = $.extend({}, this.options, options), - sDepth = o.startDepthCount || 0, - ret = []; + ret = []; - $(this.element).children(o.items).each(function () { + $(this.element).children(o.items).each(function() { var level = _recursiveItems(this); ret.push(level); }); @@ -283,9 +704,21 @@ return ret; function _recursiveItems(item) { - var id = ($(item).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); + var id = ($(item).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[-=_](.+)/)), + currentItem; + + var data = $(item).data(); + if (data.nestedSortableItem) { + delete data.nestedSortableItem; // Remove the nestedSortableItem object from the data + } + if (id) { - var currentItem = {"id" : id[2]}; + currentItem = { + "id": id[2] + }; + + currentItem = $.extend({}, currentItem, data); // Combine the two objects + if ($(item).children(o.listType).children(o.items).length > 0) { currentItem.children = []; $(item).children(o.listType).children(o.items).each(function() { @@ -302,78 +735,109 @@ var o = $.extend({}, this.options, options), sDepth = o.startDepthCount || 0, - ret = [], - left = 2; - - ret.push({ - "item_id": o.rootID, - "parent_id": 'none', - "depth": sDepth, - "left": '1', - "right": ($(o.items, this.element).length + 1) * 2 - }); + ret = [], + left = 1; + + if (!o.excludeRoot) { + ret.push({ + "item_id": o.rootID, + "parent_id": null, + "depth": sDepth, + "left": left, + "right": ($(o.items, this.element).length + 1) * 2 + }); + left++; + } - $(this.element).children(o.items).each(function () { - left = _recursiveArray(this, sDepth + 1, left); + $(this.element).children(o.items).each(function() { + left = _recursiveArray(this, sDepth, left); }); - ret = ret.sort(function(a,b){ return (a.left - b.left); }); + ret = ret.sort(function(a, b) { return (a.left - b.left); }); return ret; - function _recursiveArray(item, depth, left) { + function _recursiveArray(item, depth, _left) { - var right = left + 1, - id, - pid; + var right = _left + 1, + id, + pid, + parentItem; if ($(item).children(o.listType).children(o.items).length > 0) { - depth ++; - $(item).children(o.listType).children(o.items).each(function () { + depth++; + $(item).children(o.listType).children(o.items).each(function() { right = _recursiveArray($(this), depth, right); }); - depth --; + depth--; } - id = ($(item).attr(o.attribute || 'id')).match(o.expression || (/(.+)[-=_](.+)/)); + id = ($(item).attr(o.attribute || "id")).match(o.expression || (/(.+)[-=_](.+)/)); - if (depth === sDepth + 1) { + if (depth === sDepth) { pid = o.rootID; } else { - var parentItem = ($(item).parent(o.listType) - .parent(o.items) - .attr(o.attribute || 'id')) - .match(o.expression || (/(.+)[-=_](.+)/)); + parentItem = ($(item).parent(o.listType) + .parent(o.items) + .attr(o.attribute || "id")) + .match(o.expression || (/(.+)[-=_](.+)/)); pid = parentItem[2]; } if (id) { - ret.push({"item_id": id[2], "parent_id": pid, "depth": depth, "left": left, "right": right}); + var data = $(item).children('div').data(); + var itemObj = $.extend( data, { + "id":id[2], + "parent_id":pid, + "depth":depth, + "left":_left, + "right":right + } ); + ret.push( itemObj ); } - left = right + 1; - return left; + _left = right + 1; + return _left; } }, - _clearEmpty: function(item) { + _clearEmpty: function (item) { + function replaceClass(elem, search, replace, swap) { + if (swap) { + search = [replace, replace = search][0]; + } - var emptyList = $(item).children(this.options.listType); - if (emptyList.length && !emptyList.children().length && !this.options.doNotClear) { - emptyList.remove(); + $(elem).removeClass(search).addClass(replace); } + var o = this.options, + childrenList = $(item).children(o.listType), + hasChildren = childrenList.has('li').length; + + var doNotClear = + o.doNotClear || + hasChildren || + o.protectRoot && $(item)[0] === this.element[0]; + + if (o.isTree) { + replaceClass(item, o.branchClass, o.leafClass, doNotClear); + } + + if (!doNotClear) { + childrenList.parent().removeClass(o.expandedClass); + childrenList.remove(); + } }, _getLevel: function(item) { - var level = 1; + var level = 1, + list; if (this.options.listType) { - var list = item.closest(this.options.listType); - while (list && list.length > 0 && - !list.is('.ui-sortable')) { + list = item.closest(this.options.listType); + while (list && list.length > 0 && !list.is(".ui-sortable")) { level++; list = list.parent().closest(this.options.listType); } @@ -384,12 +848,12 @@ _getChildLevels: function(parent, depth) { var self = this, - o = this.options, - result = 0; + o = this.options, + result = 0; depth = depth || 0; - $(parent).children(o.listType).children(o.items).each(function (index, child) { - result = Math.max(self._getChildLevels(child, depth + 1), result); + $(parent).children(o.listType).children(o.items).each(function(index, child) { + result = Math.max(self._getChildLevels(child, depth + 1), result); }); return depth ? result + 1 : result; @@ -397,23 +861,33 @@ _isAllowed: function(parentItem, level, levels) { var o = this.options, - isRoot = $(this.domPosition.parent).hasClass('ui-sortable') ? true : false, - maxLevels = this.placeholder.closest('.ui-sortable').nestedSortable('option', 'maxLevels'); // this takes into account the maxLevels set to the recipient list - - // Is the root protected? - // Are we trying to nest under a no-nest? - // Are we nesting too deep? - if (!o.isAllowed(this.currentItem, parentItem) || - parentItem && parentItem.hasClass(o.disableNesting) || - o.protectRoot && (parentItem == null && !isRoot || isRoot && level > 1)) { - this.placeholder.addClass(o.errorClass); - if (maxLevels < levels && maxLevels != 0) { - this.beyondMaxLevels = levels - maxLevels; - } else { - this.beyondMaxLevels = 1; - } + // this takes into account the maxLevels set to the recipient list + maxLevels = this + .placeholder + .closest(".ui-sortable") + .nestedSortable("option", "maxLevels"), + + // Check if the parent has changed to prevent it, when o.disableParentChange is true + oldParent = this.currentItem.parent().parent(), + disabledByParentchange = o.disableParentChange && ( + //From somewhere to somewhere else, except the root + typeof parentItem !== 'undefined' && !oldParent.is(parentItem) || + typeof parentItem === 'undefined' && oldParent.is("li") //From somewhere to the root + ); + // mjs - is the root protected? + // mjs - are we nesting too deep? + if ( + disabledByParentchange || + !o.isAllowed(this.placeholder, parentItem, this.currentItem) + ) { + this.placeholder.addClass(o.errorClass); + if (maxLevels < levels && maxLevels !== 0) { + this.beyondMaxLevels = levels - maxLevels; + } else { + this.beyondMaxLevels = 1; + } } else { - if (maxLevels < levels && maxLevels != 0) { + if (maxLevels < levels && maxLevels !== 0) { this.placeholder.addClass(o.errorClass); this.beyondMaxLevels = levels - maxLevels; } else { @@ -425,5 +899,9 @@ })); - $.mjs.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.mjs.nestedSortable.prototype.options); -})(jQuery); + $.mjs.nestedSortable.prototype.options = $.extend( + {}, + $.ui.sortable.prototype.options, + $.mjs.nestedSortable.prototype.options + ); +}));
\ No newline at end of file diff --git a/addons/web/static/src/js/abstract_web_client.js b/addons/web/static/src/js/abstract_web_client.js index c3985f4cf5c..115a58a654f 100644 --- a/addons/web/static/src/js/abstract_web_client.js +++ b/addons/web/static/src/js/abstract_web_client.js @@ -30,6 +30,19 @@ var WebClient = Widget.extend({ toggle_fullscreen: function (event) { this.toggle_fullscreen(event.data.fullscreen); }, + current_action_updated: function (e) { + this.current_action_updated(e.data.action); + }, + perform_rpc: function(event) { + if (event.data.on_fail) { + event.data.on_fail(); + } + }, + perform_model_rpc: function(event) { + if (event.data.on_fail) { + event.data.on_fail(); + } + }, }, init: function(parent) { this.client_options = {}; @@ -220,6 +233,9 @@ var WebClient = Widget.extend({ this.connection_notification = false; } }, + // Handler to be overwritten + current_action_updated: function () { + }, // -------------------------------------------------------------- // Scrolltop handling // -------------------------------------------------------------- diff --git a/addons/web/static/src/js/action_manager.js b/addons/web/static/src/js/action_manager.js index fe50fb65e90..b6a33e443d1 100644 --- a/addons/web/static/src/js/action_manager.js +++ b/addons/web/static/src/js/action_manager.js @@ -93,6 +93,12 @@ var Action = core.Class.extend({ get_fragment: function() { return this.$fragment; }, + /** + * @return {string} the active view, i.e. empty for client actions + */ + get_active_view: function() { + return ''; + }, }); /** * Specialization of Action for client actions that are Widgets @@ -196,6 +202,12 @@ var ViewManagerAction = WidgetAction.extend({ get_nb_views: function() { return this.widget.view_stack.length; }, + /** + * @return {string} the active view of the ViewManager + */ + get_active_view: function() { + return this.widget.active_view.type; + } }); var ActionManager = Widget.extend({ @@ -269,11 +281,15 @@ var ActionManager = Widget.extend({ var old_action_stack = this.action_stack; var old_action = this.inner_action; var old_widget = this.inner_widget; + var actions_to_destroy; options = options || {}; - // Empty action_stack if requested + // Empty action_stack or replace last action if requested if (options.clear_breadcrumbs) { + actions_to_destroy = this.action_stack; this.action_stack = []; + } else if (options.replace_last_action && this.action_stack.length > 0) { + actions_to_destroy = [this.action_stack.pop()]; } // Instantiate the new action @@ -318,10 +334,11 @@ var ActionManager = Widget.extend({ in_DOM: self.is_in_DOM, callbacks: [{widget: self.inner_widget}], }); - if (options.clear_breadcrumbs) { - self.clear_action_stack(old_action_stack); + if (actions_to_destroy) { + self.clear_action_stack(actions_to_destroy); } self.toggle_fullscreen(); + self.trigger_up('current_action_updated', {action: new_action}); }).fail(function () { // Destroy failed action and restore internal state new_action.destroy(); @@ -404,6 +421,7 @@ var ActionManager = Widget.extend({ callbacks: [{widget: action.widget}], }); } + self.trigger_up('current_action_updated', {action: action}); }); }).fail(function() { return $.Deferred().reject(); @@ -561,6 +579,7 @@ var ActionManager = Widget.extend({ do_action: function(action, options) { options = _.defaults(options || {}, { clear_breadcrumbs: false, + replace_last_action: false, on_reverse_breadcrumb: function() {}, hide_breadcrumb: false, on_close: function() {}, diff --git a/addons/web/static/src/js/framework/data_manager.js b/addons/web/static/src/js/framework/data_manager.js index 29d6d585f6a..55a4b4da15b 100644 --- a/addons/web/static/src/js/framework/data_manager.js +++ b/addons/web/static/src/js/framework/data_manager.js @@ -6,9 +6,19 @@ var Model = require('web.DataModel'); var session = require('web.session'); var utils = require('web.utils'); +function traverse(tree, f) { + if (f(tree)) { + _.each(tree.children, function(c) { traverse(c, f); }); + } +} + return core.Class.extend({ init: function () { this.Filters = new Model('ir.filters'); + this._init_cache(); + }, + + _init_cache: function () { this._cache = { actions: {}, fields_views: {}, @@ -19,6 +29,14 @@ return core.Class.extend({ }, /** + * Invalidates the whole cache + * Suggestion: could be refined to invalidate some part of the cache + */ + invalidate: function () { + this._init_cache(); + }, + + /** * Loads an action from its id or xmlid. * * @param {int|string} [action_id] the action id or xmlid @@ -196,19 +214,46 @@ return core.Class.extend({ */ _postprocess_fvg: function (fields_view) { var self = this; + + // Parse and process arch var doc = $.parseXML(fields_view.arch).documentElement; + var fields = fields_view.fields; fields_view.arch = utils.xml_to_json(doc, (doc.nodeName.toLowerCase() !== 'kanban')); + traverse(fields_view.arch, function(node) { + if (typeof node === 'string') { + return false; + } + if (node.tag === 'field') { + fields[node.attrs.name].__attrs = node.attrs; + if (fields[node.attrs.name].type === 'many2one') { // FIXME: this shouldn't be done here + if (node.attrs.widget === 'statusbar' || node.attrs.widget === 'radio') { + fields[node.attrs.name].__fetch_status = true; + } else if (node.attrs.widget === 'selection') { + fields[node.attrs.name].__fetch_selection = true; + } + } + if (node.attrs.widget === 'many2many_checkboxes') { + fields[node.attrs.name].__fetch_many2manys = true; + } + return false; + } + return node.tag !== 'arch'; + }); + + // Special case for id's if ('id' in fields_view.fields) { - // Special case for id's var id_field = fields_view.fields.id; id_field.original_type = id_field.type; id_field.type = 'id'; } + + // Process inner views (one2manys) _.each(fields_view.fields, function(field) { _.each(field.views || {}, function(view) { self._postprocess_fvg(view); }); }); + return fields_view; }, diff --git a/addons/web/static/src/js/framework/dialog.js b/addons/web/static/src/js/framework/dialog.js index d527dcf31d8..f23de4f426f 100644 --- a/addons/web/static/src/js/framework/dialog.js +++ b/addons/web/static/src/js/framework/dialog.js @@ -69,6 +69,7 @@ var Dialog = Widget.extend({ if(this.$content) { this.setElement(this.$content); } + this.$el.addClass('modal-body ' + this.dialogClass); }, set_buttons: function(buttons) { @@ -118,7 +119,6 @@ var Dialog = Widget.extend({ var self = this; this.replace(this.$modal.find(".modal-body")).then(function() { - self.$el.addClass('modal-body ' + self.dialogClass); self.$modal.modal('show'); self._opened.resolve(); }); diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index 4ce7ed6dbf3..dd4c4fb0fb6 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -955,7 +955,7 @@ var X2ManyListView = ListView.extend({ field.no_rerender = true; current_values[field.name] = field.get('value'); }); - var cached_records = _.filter(this.dataset.cache, function(item){return !_.isEmpty(item.values);}); + var cached_records = _.filter(this.dataset.cache, function(item){return !_.isEmpty(item.values) && !item.to_delete;}); var valid = _.every(cached_records, function(record){ _.each(fields, function(field){ var value = record.values[field.name]; diff --git a/addons/web/static/src/js/widgets/debug_manager.js b/addons/web/static/src/js/widgets/debug_manager.js index f191eb739ea..f7ddd008e1d 100644 --- a/addons/web/static/src/js/widgets/debug_manager.js +++ b/addons/web/static/src/js/widgets/debug_manager.js @@ -48,7 +48,6 @@ var DebugManager = Widget.extend({ } }, start: function () { - core.bus.on('current_action_updated', this, this.update.bind(this, 'action')); core.bus.on('rpc:result', this, function (req, resp) { this._debug_events(resp.debug); }); @@ -647,26 +646,12 @@ if (core.debug) { SystrayMenu.Items.push(DebugManager); WebClient.include({ - start: function() { - var self = this; - return this._super().then(function () { - // Override push_action and select_action so that it triggers - // an event each time a new action is pushed. - // The DebugManager listens to this event to keep itself up-to-date - var push_action = self.action_manager.push_action; - self.action_manager.push_action = function(widget, descr) { - return push_action.apply(self.action_manager, arguments).then(function () { - core.bus.trigger('current_action_updated', descr, widget); - }); - }; - var select_action = self.action_manager.select_action; - self.action_manager.select_action = function() { - return select_action.apply(self.action_manager, arguments).then(function () { - var action = self.action_manager.get_inner_action(); - core.bus.trigger('current_action_updated', action.action_descr, action.widget); - }); - }; - }); + current_action_updated: function(action) { + this._super.apply(this, arguments); + var action_descr = action && action.action_descr; + var action_widget = action && action.widget; + var debug_manager = _.find(this.systray_menu.widgets, function(item) {return item instanceof DebugManager; }); + debug_manager.update('action', action_descr, action_widget); }, }); diff --git a/addons/web/static/src/js/widgets/systray_menu.js b/addons/web/static/src/js/widgets/systray_menu.js index 131954de15f..0d0e18476b0 100644 --- a/addons/web/static/src/js/widgets/systray_menu.js +++ b/addons/web/static/src/js/widgets/systray_menu.js @@ -11,6 +11,7 @@ var SystrayMenu = Widget.extend({ init: function(parent) { this._super(parent); this.items = []; + this.widgets = []; this.load = $.Deferred(); }, start: function() { @@ -24,9 +25,13 @@ var SystrayMenu = Widget.extend({ }, load_items: function() { var self = this; + SystrayMenu.Items = _.sortBy(SystrayMenu.Items, function (item) { + return !_.isUndefined(item.prototype.sequence) ? item.prototype.sequence : 50; + }); _.each(SystrayMenu.Items, function(widgetCls) { var cur_systray_item = new widgetCls(self); - self.items.push(cur_systray_item.appendTo(self.$el)); + self.widgets.push(cur_systray_item); + self.items.push(cur_systray_item.prependTo(self.$el)); }); }, }); diff --git a/addons/web/static/src/less/webclient_layout.less b/addons/web/static/src/less/webclient_layout.less index 3355f4f791f..034f00ad3d9 100644 --- a/addons/web/static/src/less/webclient_layout.less +++ b/addons/web/static/src/less/webclient_layout.less @@ -34,6 +34,7 @@ .o-flex(1, 1, auto); .o-flex-display(); min-height: 0; // Allow flex to shrink this element as much as it wants + height: 100%; .o_sub_menu { .o-flex(0, 0, @odoo-submenu-width); diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py index 972d2b5e27d..923b78492b3 100644 --- a/addons/web_editor/controllers/main.py +++ b/addons/web_editor/controllers/main.py @@ -222,3 +222,11 @@ class Web_Editor(http.Controller): if attachments_to_remove: attachments_to_remove.unlink() return removal_blocked_by + + @http.route('/web_editor/customize_template_get', type='json', auth='user', website=True) + def customize_template_get(self, key, full=False, bundles=False): + """ Get inherit view's informations of the template ``key``. + returns templates (which can be active or not) + ``bundles=True`` returns also the asset bundles + """ + return request.env["ir.ui.view"].customize_template_get(key, full=full, bundles=bundles) diff --git a/addons/web_editor/i18n/web_editor.pot b/addons/web_editor/i18n/web_editor.pot index 977569637ec..2bf6d27f4c9 100644 --- a/addons/web_editor/i18n/web_editor.pot +++ b/addons/web_editor/i18n/web_editor.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:11+0000\n" -"PO-Revision-Date: 2016-09-05 14:11+0000\n" +"POT-Creation-Date: 2016-09-29 14:00+0000\n" +"PO-Revision-Date: 2016-09-29 14:00+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -159,7 +159,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/snippets.options.js:406 +#: code:addons/web_editor/static/src/js/snippets.options.js:667 #, python-format msgid "Background Image Sizing" msgstr "" @@ -218,7 +218,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/snippets.editor.js:812 +#: code:addons/web_editor/static/src/js/snippets.editor.js:804 #, python-format msgid "Block" msgstr "" @@ -255,7 +255,7 @@ msgstr "" #. openerp-web #: code:addons/web_editor/static/src/js/rte.summernote.js:944 #: code:addons/web_editor/static/src/js/translator.js:74 -#: code:addons/web_editor/static/src/xml/ace.xml:15 +#: code:addons/web_editor/static/src/xml/ace.xml:17 #, python-format msgid "Close" msgstr "" @@ -283,7 +283,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/snippets.editor.js:810 +#: code:addons/web_editor/static/src/js/snippets.editor.js:802 #, python-format msgid "Column" msgstr "" @@ -371,7 +371,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/snippets.options.js:410 +#: code:addons/web_editor/static/src/js/snippets.options.js:671 #: code:addons/web_editor/static/src/js/widgets.js:26 #: code:addons/web_editor/static/src/xml/editor.xml:12 #: code:addons/web_editor/static/src/xml/editor.xml:140 @@ -518,7 +518,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/xml/ace.xml:14 +#: code:addons/web_editor/static/src/xml/ace.xml:16 #, python-format msgid "Format" msgstr "" @@ -649,7 +649,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/xml/ace.xml:11 +#: code:addons/web_editor/static/src/xml/ace.xml:9 #, python-format msgid "Include Asset Bundles" msgstr "" @@ -765,7 +765,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/widgets.js:955 +#: code:addons/web_editor/static/src/js/widgets.js:956 #, python-format msgid "Link to" msgstr "" @@ -820,7 +820,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/snippets.options.js:409 +#: code:addons/web_editor/static/src/js/snippets.options.js:670 #, python-format msgid "Ok" msgstr "" @@ -1035,7 +1035,7 @@ msgstr "" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/widgets.js:25 -#: code:addons/web_editor/static/src/xml/ace.xml:13 +#: code:addons/web_editor/static/src/xml/ace.xml:15 #: code:addons/web_editor/static/src/xml/editor.xml:13 #, python-format msgid "Save" @@ -1186,7 +1186,7 @@ msgstr "" #. module: web_editor #. openerp-web -#: code:addons/web_editor/static/src/js/ace.js:210 +#: code:addons/web_editor/static/src/js/ace.js:215 #, python-format msgid "Template ID: %s" msgstr "" @@ -1207,6 +1207,13 @@ msgstr "" #. module: web_editor #. openerp-web +#: code:addons/web_editor/static/src/xml/editor.xml:213 +#, python-format +msgid "The feature might not be supported for every video type" +msgstr "" + +#. module: web_editor +#. openerp-web #: code:addons/web_editor/static/src/xml/editor.xml:158 #, python-format msgid "The image could not be deleted because it is used in the\n" @@ -1252,6 +1259,7 @@ msgstr "" #. module: web_editor #. openerp-web #: code:addons/web_editor/static/src/js/rte.summernote.js:937 +#: model:ir.ui.view,arch_db:web_editor.colorpicker #, python-format msgid "Transparent" msgstr "" diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index bb6ff4b7411..64ee45b567d 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -2,11 +2,14 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import copy +import logging from lxml import etree, html from odoo.exceptions import AccessError from odoo import api, models +_logger = logging.getLogger(__name__) + class IrUiView(models.Model): _inherit = 'ir.ui.view' @@ -113,3 +116,101 @@ class IrUiView(models.Model): view.write({'arch': view._pretty_arch(arch)}) self.sudo().mapped('model_data_id').write({'noupdate': True}) + + @api.model + def _view_obj(self, view_id): + if isinstance(view_id, basestring): + return self.env.ref(view_id) + elif isinstance(view_id, (int, long)): + return self.browse(view_id) + # assume it's already a view object (WTF?) + return view_id + + # Returns all views (called and inherited) related to a view + # Used by translation mechanism, SEO and optional templates + + @api.model + def _views_get(self, view_id, options=True, bundles=False, root=True): + """ For a given view ``view_id``, should return: + * the view itself + * all views inheriting from it, enabled or not + - but not the optional children of a non-enabled child + * all views called from it (via t-call) + :returns recordset of ir.ui.view + """ + try: + view = self._view_obj(view_id) + except ValueError: + _logger.warning("Could not find view object with view_id '%s'", view_id) + return [] + + while root and view.inherit_id: + view = view.inherit_id + + views_to_return = view + + node = etree.fromstring(view.arch) + xpath = "//t[@t-call]" + if bundles: + xpath += "| //t[@t-call-assets]" + for child in node.xpath(xpath): + try: + called_view = self._view_obj(child.get('t-call', child.get('t-call-assets'))) + except ValueError: + continue + if called_view not in views_to_return: + views_to_return += self._views_get(called_view, options=options, bundles=bundles) + + extensions = view.inherit_children_ids + if not options: + # only active children + extensions = view.inherit_children_ids.filtered(lambda view: view.active) + + # Keep options in a deterministic order regardless of their applicability + for extension in extensions.sorted(key=lambda v: v.id): + # only return optional grandchildren if this child is enabled + for ext_view in self._views_get(extension, options=extension.active, root=False): + if ext_view not in views_to_return: + views_to_return += ext_view + return views_to_return + + @api.model + def customize_template_get(self, key, full=False, bundles=False): + """ Get inherit view's informations of the template ``key``. + returns templates (which can be active or not) + ``bundles=True`` returns also the asset bundles + """ + user = self.env.user + user_groups = set(user.groups_id) + views = self.with_context(active_test=False)._views_get(key, bundles=bundles) + + view_theme_id = self.env['ir.model.data'].xmlid_to_res_id('website.theme') + done = set() + result = [] + for view in views: + if full or (view.customize_show and view.inherit_id.id != view_theme_id): + if not user_groups.issuperset(view.groups_id): + continue + if view.inherit_id not in done: + result.append({ + 'name': view.inherit_id.name, + 'id': view.id, + 'key': view.key, + 'xml_id': view.xml_id, + 'arch': view.arch, + 'inherit_id': view.inherit_id.id, + 'header': True, + 'active': False + }) + done.add(view.inherit_id) + result.append({ + 'name': view.name, + 'id': view.id, + 'key': view.key, + 'xml_id': view.xml_id, + 'arch': view.arch, + 'inherit_id': view.inherit_id.id, + 'header': False, + 'active': view.active, + }) + return result diff --git a/addons/web_editor/static/src/js/ace.js b/addons/web_editor/static/src/js/ace.js index cd20815f49c..5fbe7589265 100644 --- a/addons/web_editor/static/src/js/ace.js +++ b/addons/web_editor/static/src/js/ace.js @@ -127,13 +127,14 @@ var ViewEditor = Widget.extend({ loadViews: function (views) { var $viewList = this.$('#ace-view-list').empty(); - _(this.buildViewGraph(views)).each(function (view) { + var viewGraph = this.buildViewGraph(views); + _(viewGraph).each(function (view) { if (!view.id) { return; } this.views[view.id] = view; new ViewOption(this, view).appendTo($viewList); - this.loadView(view.id); }.bind(this)); + return this.loadView(viewGraph[0].id); }, buildViewGraph: function (views) { var activeViews = _.uniq(_.filter(views, function (view) { @@ -171,32 +172,36 @@ var ViewEditor = Widget.extend({ loadView: function (id) { var viewId = parseInt(id, 10); var self = this; - ajax.jsonRpc('/web/dataset/call', 'call', { + return ajax.jsonRpc('/web/dataset/call', 'call', { model: 'ir.ui.view', method: 'read', args: [[viewId], ['arch'], _.extend(base.get_context(), {'lang': null})], }).then(function (result) { - var editingSession = self.buffers[viewId] = new ace.EditSession(result[0].arch); - editingSession.setMode("ace/mode/xml"); - editingSession.setUndoManager(new ace.UndoManager()); - editingSession.setUseWorker(false); - editingSession.on("change", function () { - setTimeout(function () { - var $option = self.$('#ace-view-list').find('[value='+viewId+']'); - var bufferName = $option.text(); - var dirtyMarker = " (unsaved changes)"; - var isDirty = editingSession.getUndoManager().hasUndo(); - if (isDirty && bufferName.indexOf(dirtyMarker) < 0) { - $option.text(bufferName + dirtyMarker); - } else if (!isDirty && bufferName.indexOf(dirtyMarker) > 0) { - $option.text(bufferName.substring(0, bufferName.indexOf(dirtyMarker))); - } - }, 1); - }); - if (viewId === self.selectedViewId()) { - self.displayView.call(self, viewId); - } + self._displayArch(result[0].arch, viewId); + }); + }, + _displayArch: function(arch, viewId) { + var self = this; + var editingSession = this.buffers[viewId] = new ace.EditSession(arch); + editingSession.setUseWorker(false); + editingSession.setMode("ace/mode/xml"); + editingSession.setUndoManager(new ace.UndoManager()); + editingSession.on("change", function () { + setTimeout(function () { + var $option = self.$('#ace-view-list').find('[value='+viewId+']'); + var bufferName = $option.text(); + var dirtyMarker = " (unsaved changes)"; + var isDirty = editingSession.getUndoManager().hasUndo(); + if (isDirty && bufferName.indexOf(dirtyMarker) < 0) { + $option.text(bufferName + dirtyMarker); + } else if (!isDirty && bufferName.indexOf(dirtyMarker) > 0) { + $option.text(bufferName.substring(0, bufferName.indexOf(dirtyMarker))); + } + }, 1); }); + if (viewId === self.selectedViewId()) { + self.displayView.call(self, viewId); + } }, selectedViewId: function () { return parseInt(this.$('#ace-view-list').val(), 10); @@ -212,8 +217,16 @@ var ViewEditor = Widget.extend({ } }, displaySelectedView: function () { - this.displayView(this.selectedViewId()); - this.updateHash(); + var self = this; + var viewID = this.selectedViewId(); + if (this.buffers[viewID]) { + this.displayView(viewID); + this.updateHash(); + } else { + this.loadView(viewID).then(function() { + self.updateHash(); + }); + } }, formatXml: function () { var xml = new XmlDocument(this.aceEditor.getValue()); diff --git a/addons/web_editor/static/src/js/backend.js b/addons/web_editor/static/src/js/backend.js index a20da344b03..6d31f75f6ca 100644 --- a/addons/web_editor/static/src/js/backend.js +++ b/addons/web_editor/static/src/js/backend.js @@ -195,6 +195,9 @@ var FieldTextHtml = widget.extend({ self.trigger('changed_value'); self.resize(); }; + window.odoo[this.callback+"_do_action"] = function () { + self.do_action.apply(self, arguments); + }; // init jqery objects this.$iframe = this.$el.find('iframe'); @@ -379,6 +382,7 @@ var FieldTextHtml = widget.extend({ delete window.odoo[this.callback+"_content"]; delete window.odoo[this.callback+"_updown"]; delete window.odoo[this.callback+"_downup"]; + delete window.odoo[this.callback+"_do_action"]; } }); diff --git a/addons/web_editor/static/src/js/editor.js b/addons/web_editor/static/src/js/editor.js index 1163635146f..240a0a36121 100644 --- a/addons/web_editor/static/src/js/editor.js +++ b/addons/web_editor/static/src/js/editor.js @@ -16,7 +16,7 @@ var editor = {}; editor.dummy = function () {return true;}; // used for snippets, options... -editor.editable = !!$('html').data('editable'); +editor.editable = !!($('html').data('editable') || $("[data-oe-model]").length); // temporary hack, this should be done in python ajax.loadXML('/web_editor/static/src/xml/editor.xml', qweb); diff --git a/addons/web_editor/static/src/js/iframe.js b/addons/web_editor/static/src/js/iframe.js index 398dc2e5bf9..e2c3b5ef8a4 100644 --- a/addons/web_editor/static/src/js/iframe.js +++ b/addons/web_editor/static/src/js/iframe.js @@ -10,6 +10,7 @@ var snippet_editor = require('web_editor.snippet.editor'); ajax.loadXML('/web/static/src/xml/base_common.xml', core.qweb); +var callback = window ? window["callback"] : undefined; window.top.odoo[callback+"_updown"] = function (value, fields_values, field_name) { var $editable = $("#editable_area"); if(value !== $editable.prop("innerHTML")) { diff --git a/addons/web_editor/static/src/js/snippets.options.js b/addons/web_editor/static/src/js/snippets.options.js index 6d4800cd0db..4d533cadd00 100644 --- a/addons/web_editor/static/src/js/snippets.options.js +++ b/addons/web_editor/static/src/js/snippets.options.js @@ -609,7 +609,7 @@ odoo.define('web_editor.snippets.options', function (require) { var _editor = new widget.MediaDialog(null, {}, null, $image[0]).open(); _editor.$('[href="#editor-media-video"], [href="#editor-media-icon"]').addClass('hidden'); - _editor.on('saved', this, function () { + _editor.on('save', this, function () { var value = $image.attr("src"); this.background(type, value, $li); this.$target.addClass("oe_custom_bg"); diff --git a/addons/web_editor/static/src/js/transcoder.js b/addons/web_editor/static/src/js/transcoder.js index ddd8ce73533..20d4f5844af 100644 --- a/addons/web_editor/static/src/js/transcoder.js +++ b/addons/web_editor/static/src/js/transcoder.js @@ -118,7 +118,7 @@ var getMatchedCSSRules = function (a) { // convert font awsome into image var font_to_img = function ($editable) { - $(".fa", $editable).each(function () { + $editable.find(".fa").each(function () { var $font = $(this); var icon, content; _.find(widget.fontIcons, function (font) { @@ -132,15 +132,13 @@ var font_to_img = function ($editable) { }); if (content) { var color = $font.css("color").replace(/\s/g, ''); - var src = _.str.sprintf('/web_editor/font_to_img/%s/%s/'+Math.max(1, $font.height()), content.charCodeAt(0), window.encodeURI(color)); - var $img = $("<img/>").attr("src", src) - .attr("data-class", $font.attr("class")) - .attr("class", $font.attr("class").replace(new RegExp("(^|\\s+)" + icon + "(-[^\\s]+)?", "gi"), '')) // remove inline font-awsome style - .attr("style", $font.attr("style")) - .attr("height", $font.height()) - .css("height", "") - .css("font-size", ""); - $font.replaceWith($img); + $font.replaceWith($("<img/>", { + "src": _.str.sprintf('/web_editor/font_to_img/%s/%s/%s', content.charCodeAt(0), window.encodeURI(color), Math.max(1, $font.height())), + "data-class": $font.attr("class"), + "data-style": $font.attr("style"), + "class": $font.attr("class").replace(new RegExp("(^|\\s+)" + icon + "(-[^\\s]+)?", "gi"), ''), // remove inline font-awsome style + "style": $font.attr("style") + }).css({height: "auto", width: "auto"})); } else { $font.remove(); } @@ -148,13 +146,12 @@ var font_to_img = function ($editable) { }; // convert image into font awsome var img_to_font = function ($editable) { - $("img[src*='/web_editor/font_to_img/']", $editable).each(function () { + $editable.find("img[src*='/web_editor/font_to_img/']").each(function () { var $img = $(this); - var $font = $("<span/>") - .attr("class", $img.data("class")) - .attr("style", $img.attr("style")) - .css("height", ""); - $img.replaceWith($font); + $img.replaceWith($("<span/>", { + "class": $img.data("class"), + "style": $img.data("style") + })); }); }; diff --git a/addons/web_editor/static/src/js/widgets.js b/addons/web_editor/static/src/js/widgets.js index 00a693d40f2..7a3ab09dd76 100644 --- a/addons/web_editor/static/src/js/widgets.js +++ b/addons/web_editor/static/src/js/widgets.js @@ -34,11 +34,11 @@ Dialog = Dialog.extend({ self.$('input:first').focus(); }); this.on("closed", this, function () { - this.trigger(this.destroyAction); + this.trigger(this.destroyAction, this.final_data || null); }); }, save: function () { - this.destroyAction = "saved"; + this.destroyAction = "save"; this.close(); }, }); @@ -164,8 +164,8 @@ var MediaDialog = Dialog.extend({ }, save: function () { if (this.options.select_images) { - this.trigger("saved", this.active.save()); - this.close(); + this.final_data = this.active.save(); + this._super.apply(this, arguments); return; } if(this.rte) { @@ -198,8 +198,8 @@ var MediaDialog = Dialog.extend({ } var media = this.active.media; - $(document.body).trigger("media-saved", [media, self.old_media]); - self.trigger("saved", [media, self.old_media]); + this.final_data = [media, self.old_media]; + $(document.body).trigger("media-saved", this.final_data); // Update editor bar after image edition (in case the image change to icon or other) _.defer(function () { @@ -312,10 +312,8 @@ var ImageDialog = Widget.extend({ }, save: function () { if (this.options.select_images) { - this.parent.trigger("save", this.images); return this.images; } - this.parent.trigger("save", this.media); var img = this.images[0]; if (!img) { @@ -668,7 +666,6 @@ var fontIconsDialog = Widget.extend({ */ save: function () { var self = this; - this.parent.trigger("save", this.media); var style = this.media.attributes.style ? this.media.attributes.style.value : ''; var classes = (this.media.className||"").split(/\s+/); var custom_classes = /^fa(-[1-5]x|spin|rotate-(9|18|27)0|flip-(horizont|vertic)al|fw|border)?$/; @@ -684,6 +681,8 @@ var fontIconsDialog = Widget.extend({ style = style.replace(/\s*width:[^;]+/, ''); } $(this.media).attr("class", _.compact(final_classes).join(' ')).attr("style", style); + + return this.media; }, /** * return the data font object (with base, parser and icons) or null @@ -907,7 +906,6 @@ var VideoDialog = Widget.extend({ return false; }, save: function () { - this.parent.trigger("save", this.media); var video_id = this.$("#video_id").val(); if (!video_id) { this.$("button.btn-primary").click(); @@ -921,6 +919,8 @@ var VideoDialog = Widget.extend({ '</div>'); $(this.media).replaceWith($iframe); this.media = $iframe[0]; + + return this.media; }, clear: function () { if (this.media.dataset.src) { @@ -1095,7 +1095,7 @@ var LinkDialog = Dialog.extend({ if (classes.replace(/(^|[ ])(btn-default|btn-success|btn-primary|btn-info|btn-warning|btn-danger)([ ]|$)/gi, ' ')) { self.data.style = {'background-color': '', 'color': ''}; } - self.trigger("save", self.data); + self.final_data = self.data; }).then(_super); }, bind_data: function () { diff --git a/addons/web_editor/static/src/less/web_editor.ui.components.less b/addons/web_editor/static/src/less/web_editor.ui.components.less index 31d2ce07dac..7dd882ffbd0 100644 --- a/addons/web_editor/static/src/less/web_editor.ui.components.less +++ b/addons/web_editor/static/src/less/web_editor.ui.components.less @@ -119,6 +119,63 @@ .o-animation(fadeInDownSmall, 700ms, @fill-mode: forwards); } +// ACE EDITOR +.o_ace_view_editor { + @o-ace-color: #2F3129; + background: @o-ace-color; + color: white; + .o-flex-display(); + .o-flex-flow(column, nowrap); + + .o_ace_view_editor_title { + .o-flex(0, 0, auto); + .o-flex-display(); + .o-align-items(center); + .o-justify-content(space-between); + padding: @grid-gutter-width/4; + + > * { + .o-flex(0, 0, auto); + margin: 0 @grid-gutter-width/4; + + &.oe_include_bundles { + .o-flex-display(); + .o-align-items(center); + font-size: 11px; + + > .o_checkbox { + margin-right: @grid-gutter-width/4; + } + } + } + + > select { + .o-flex(0, 1, auto); + min-width: 60px; + } + } + #ace-view-id { + .o-flex(0, 0, auto); + padding: @grid-gutter-width/4 @grid-gutter-width/2; + background-color: lighten(@o-ace-color, 10%); + } + #ace-view-editor { + height: 70%; // in case flex is not supported + .o-flex(1, 1, auto); + .ace_gutter { + cursor: ew-resize; + } + } + + &.oe_ace_open { + opacity: 0.97; + } + &.oe_ace_closed { + z-index: -1000; + opacity: 0; + } +} + // MODALS body .modal { // SELECT MEDIA diff --git a/addons/web_editor/static/src/less/web_editor.ui.less b/addons/web_editor/static/src/less/web_editor.ui.less index 00b6414bd16..4f1eb7dc4be 100644 --- a/addons/web_editor/static/src/less/web_editor.ui.less +++ b/addons/web_editor/static/src/less/web_editor.ui.less @@ -70,12 +70,17 @@ margin: 10px; padding: 4px; } -html[lang] > body.editor_enable{ - [data-oe-translation-state] { - background: rgba(255, 255, 90, 0.5) !important; +html[lang] > body.editor_enable [data-oe-translation-state] { + @o-color-content-to-translate: rgb(255, 255, 90); + @o-color-translated-content: rgb(120, 215, 110); + + background: fade(@o-color-content-to-translate, 50%)!important; + + &[data-oe-translation-state="translated"] { + background: fade(@o-color-translated-content, 50%)!important; } - [data-oe-translation-state="translated"] { - background: rgba(120, 215, 110, 0.5) !important; + &.o_dirty { + background: fade(@o-color-translated-content, 25%)!important; } } diff --git a/addons/web_planner/static/src/js/web_planner_backend.js b/addons/web_planner/static/src/js/web_planner_backend.js index 0044905d6bb..8bf55f2190e 100644 --- a/addons/web_planner/static/src/js/web_planner_backend.js +++ b/addons/web_planner/static/src/js/web_planner_backend.js @@ -2,18 +2,16 @@ odoo.define('web.planner', function (require) { "use strict"; var core = require('web.core'); -var Dialog = require('web.Dialog'); var Model = require('web.Model'); var SystrayMenu = require('web.SystrayMenu'); var Widget = require('web.Widget'); var planner = require('web.planner.common'); var webclient = require('web.web_client'); -var QWeb = core.qweb; -var _t = core._t; var PlannerDialog = planner.PlannerDialog; var PlannerLauncher = Widget.extend({ + sequence: 100, // force it to be the left-most item in the systray to prevent flickering as it is not displayed in all apps template: "PlannerLauncher", init: function(parent) { this._super(parent); diff --git a/addons/website/__manifest__.py b/addons/website/__manifest__.py index 293370b1a95..aaba5cea675 100644 --- a/addons/website/__manifest__.py +++ b/addons/website/__manifest__.py @@ -18,8 +18,8 @@ Odoo Website CMS 'data': [ 'data/website_data.xml', 'data/web_planner_data.xml', - 'security/ir.model.access.csv', 'security/website_security.xml', + 'security/ir.model.access.csv', 'views/website_templates.xml', 'views/website_navbar_templates.xml', diff --git a/addons/website/data/website_data.xml b/addons/website/data/website_data.xml index 722a1d17ca9..cef9cc4b437 100644 --- a/addons/website/data/website_data.xml +++ b/addons/website/data/website_data.xml @@ -2,7 +2,7 @@ <odoo> <data noupdate="1"> <record id="default_website" model="website"> - <field name="name">Website localhost</field> + <field name="name">My Website</field> <field name="domain">localhost</field> <field name="company_id" ref="base.main_company"/> <field name="user_id" ref="base.public_user"/> @@ -30,23 +30,6 @@ <field name="website_id" ref="default_website"/> </record> - <record id="group_website_publisher" model="res.groups"> - <field name="name">Editor</field> - <field name="category_id" ref="base.module_category_website"/> - </record> - - <!-- Access rules to edit ir.ui.view with qWeb type --> - <record id="group_website_designer" model="res.groups"> - <field name="name">Editor and Designer</field> - <field name="users" eval="[(4, ref('base.user_root'))]"/> - <field name="implied_ids" eval="[(4, ref('group_website_publisher'))]"/> - <field name="category_id" ref="base.module_category_website"/> - </record> - - <record id="base.default_user" model="res.users"> - <field name="groups_id" eval="[(4,ref('group_website_designer'))]"/> - </record> - <record id="action_module_website" model="ir.actions.act_window"> <field name="name">Website Apps</field> <field name="res_model">ir.module.module</field> diff --git a/addons/website/data/website_demo.xml b/addons/website/data/website_demo.xml index c975d8580e8..14d88295ab4 100644 --- a/addons/website/data/website_demo.xml +++ b/addons/website/data/website_demo.xml @@ -128,6 +128,9 @@ response = request.render("website.template_partner_comment", { <field name="type">ir.actions.server</field> </record> + <record id="default_website" model="website"> + <field name="name">Website localhost</field> + </record> <record id="website2" model="website"> <field name="name">Website 0.0.0.0</field> <field name="domain">0.0.0.0</field> diff --git a/addons/website/i18n/website.pot b/addons/website/i18n/website.pot index e906fc0501a..f2357b340fa 100644 --- a/addons/website/i18n/website.pot +++ b/addons/website/i18n/website.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -35,6 +35,11 @@ msgid "×" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "(e.g. business name, location) tends to improve your ranking in search engines and consequently increases your traffic. Do it:" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.layout_footer_copyright msgid ",\n" " the #1" @@ -62,14 +67,6 @@ msgid "- The Odoo Team" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "1. Add your <strong>desired languages</strong><br/>\n" -" Use the link in the footer of your website (when logged in) to add\n" -" languages from the available list. Also, you can change the\n" -" default language in" -msgstr "" - -#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.seo.xml:17 #, python-format @@ -92,11 +89,6 @@ msgid "1s" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "2. <strong>Setup Gengo</strong><br/>" -msgstr "" - -#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.seo.xml:45 #, python-format @@ -114,6 +106,11 @@ msgid "2s" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "3. Configure a Google Analytics account" +msgstr "" + +#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.seo.xml:62 #, python-format @@ -219,6 +216,18 @@ msgid "<b>Sign in</b>" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "<br/>\n" +" Make sure the Advanced Options are set to your country and language." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "<br/>\n" +" This is necessary in order to record the statistics of your test." +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "<i class=\"fa fa-arrows\"/>Background Image Sizing" msgstr "" @@ -245,7 +254,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<i class=\"fa fa-envelope-o\"/> Email Our Website Expert" +msgid "<i class=\"fa fa-envelope-o\"/> Contact Our Website Experts" msgstr "" #. module: website @@ -259,6 +268,11 @@ msgid "<i class=\"fa fa-eyedropper\"/>Background Color" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.snippet_options +msgid "<i class=\"fa fa-eyedropper\"/>Overlay color" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.snippets msgid "<i class=\"fa fa-indent\"/> Inner content" msgstr "" @@ -335,11 +349,6 @@ msgid "<i class=\"fa fa-trash-o\"/>Remove Slide" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.snippet_options -msgid "<i class=\"fa fa-trash-o\"/>Remove from gallery" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<i>\n" " The whole process may take a few hours, some discussions with your colleagues and\n" @@ -356,7 +365,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<i>\n" -" This Planner will help you to think about your website and provide tips and ideas to inspire you. There are examples and explanations to guide you through the process of creating a top-notch, high quality site that meets all your needs.</i>" +" This Planner will help you think about your website and provide tips and ideas to inspire you. There are examp;les and explanations to guide you through the process of creating a top-notch, high quality website that meets all your needs.</i>" msgstr "" #. module: website @@ -403,22 +412,11 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<span class=\"fa fa-comment-o\"/> Website Live Chat on" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner msgid "<span class=\"fa fa-lightbulb-o fa-2x\"/>\n" " <strong>Tips for a good domain:</strong>" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<span class=\"fa fa-lightbulb-o fa-2x\"/>\n" -" <span>Try to limit yourself to 1 testing variable, otherwise you won't be able to clearly interpret the results of your modifications.</span>" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.user_navbar msgid "<span class=\"fa fa-pencil\"/>Edit" msgstr "" @@ -489,11 +487,6 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<span>3. Select a <strong>translation method</strong></span>" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>... and your location too!</strong><br/>\n" " Millions of people use Google Maps everyday. Whether you are a restaurant\n" " or a huge business, you have no excuse not to register your location in" @@ -502,35 +495,23 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>1. Define what to test</strong><br/>\n" -" Your choice of what to test will obviously depend on your goals, but should\n" -" always be linked to one of your business objectives (don't spend energy\n" -" improving something that brings you no ROI). Then, find the best page to\n" -" test and the variation you think will bring the best results.Here are a\n" -" few examples of good testing variables:" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>1. Your main menu items</strong> and 2. Your secondary menu items (optional):" +" The main goal is increasing your ROI. Figure out the best page(s) to\n" +" test. Here are a few examples of good testing variables:" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>2. Create the page variation</strong><br/>\n" -" Once you're clear on the measurable objective, the page and the variable\n" -" you want to test, duplicate the page in Odoo using the <strong>'Versions'</strong>\n" -" menu and apply the modification you decided." +msgid "<strong>1. Your main menu items</strong> and 2. Your secondary menu items" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>3. Configure a Google Analytics account</strong><br/>\n" -" This is necessary in order to record the statistics of your test." +msgid "<strong>2. Create the page variation</strong><br/>" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>3. Your footer titles</strong> and 4. Your footer links:" +msgid "<strong>3. Your footer titles</strong> and 4. Your footer links" msgstr "" #. module: website @@ -547,7 +528,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Activate now</strong> the optional modules you'll need:" +msgid "<strong>Activate now</strong> the apps you need:" msgstr "" #. module: website @@ -555,22 +536,14 @@ msgstr "" msgid "<strong>Add features and content</strong><br/>\n" " You can put more content in the intermediate section of your homepage (one\n" " or two scrolls down from the visible section), but try to keep your\n" -" paragraphs easy to read and avoid 'walls of text'." +" paragraphs easy to read and avoid walls of text." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Add relevant keywords</strong><br/>\n" -" Adding relevant keywords to a web page's meta data, including the title tag\n" -" and meta description, will tend to improve the relevancy of a site's search\n" -" listings, also increasing your traffic." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Advertise to get the first visitors</strong><br/>\n" -" If you have a small budget to allocate to advertising (around $100), you\n" -" should start a Google Adwords campaign." +msgid "<strong>Advertise</strong><br/>\n" +" If you have a small budget to advertise your website (around $100), you\n" +" should start a" msgstr "" #. module: website @@ -582,8 +555,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>Be linked by trusted websites</strong><br/>\n" -" The more sites that link to your own site, the more Google trusts your site\n" -" to be worthwhile:" +" The more websites that link to your website, the more Google trusts it to be worthwhile. Here are some tips:" msgstr "" #. module: website @@ -593,22 +565,21 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Community builder</strong>" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Contact form</strong>" +msgid "<strong>Call-to-action</strong><br/>\n" +" Add one, and only one, call-to-action to your homepage. Your homepage is\n" +" the page that gets the most visitors.<br/>\n" +" It's good practice to try to engage with your visitors on the homepage:\n" +" Contact Us, Subscribe to Get More Information, Check the Catalog, etc." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Contact us for a custom-made theme:</strong>" +msgid "<strong>Community Builder</strong>" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Contact us now:</strong><br/>" +msgid "<strong>Contact Form</strong>" msgstr "" #. module: website @@ -631,45 +602,26 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Do many A/B tests.</strong><br/>\n" -" Chances are, your first A/B test will turn out a lemon. But don’t despair. An A/B test can have only three outcomes: no result, a negative result or a\n" -" positive result. The key to optimizing conversion rates is to do a ton of A/B\n" -" tests, so that all positive results add up to a huge boost to your sales and\n" -" achieved goals." +msgid "<strong>Do many A/B tests</strong><br/>\n" +" Don't despair if your first A/B test turns out to be a lemon. The key in optimizing conversion rates is to do a ton of A/B in order to put together all the most effective configurations." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Don't test versions at different time periods.</strong><br/>If you\n" -" test one version one week and the second the next, your results won't be\n" +msgid "<strong>Don't test versions at different time periods</strong><br/>If you\n" +" test one version one week and the second the next one, your results won't be\n" " accurate, or worse, wrong!" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Don’t conclude too early.</strong><br/>\n" -" Wait for your test results to be significant. Take a look at the statistical\n" -" confidence in Google Analytics, it should be at least 95%." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Don’t surprise regular visitors.</strong><br/>\n" +msgid "<strong>Don’t surprise regular visitors</strong><br/>\n" " If you are testing a core part of your website, include only new visitors in\n" " the test. You want to avoid shocking regular visitors, especially because the\n" " variations may not ultimately be implemented." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Encourage to action</strong><br/>\n" -" Add one, and only one, call-to-action on your homepage. Your homepage is\n" -" the page that gets the most visitors.<br/>\n" -" It's good practice to try to engage with your visitors on the homepage:\n" -" Contact Us, Subscribe to Get More Information, Check the Catalog, etc." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.http_error_debug msgid "<strong>Error message:</strong>" msgstr "" @@ -682,13 +634,13 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>Find a catchy headline</strong><br/>\n" -" Make sure anyone who visits your site understands what it’s about without having to do a lot of reading.<br/>\n" -" To do that, the visible section of your homepage (above the fold) needs to be simple and straightforward. For example, use pictures of your work, screenshots of your app, a short and catchy hook." +" Make sure anyone who visits your site understands what it’s about without too much reading.<br/>\n" +" To do that, the visible section of your homepage (above the fold) needs to be simple and straightforward. For examp;le, use pictures of your work, screenshots of your app, a short and catchy hook." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>How to get a custom domain name ?</strong><br/>" +msgid "<strong>How to get a custom domain name?</strong><br/>" msgstr "" #. module: website @@ -696,8 +648,7 @@ msgstr "" msgid "<strong>Initial Teaser</strong><br/>\n" " Before launching to the masses, it's good practice to tease around 100 of\n" " your contacts. Start with your friends, colleagues and family. Whether or\n" -" not they're interested in your area of business, they will be ready to help\n" -" you with feedback if you engage in a personal discussion with them." +" not they're interested in your business, they will provide you with some precious feedback." msgstr "" #. module: website @@ -707,22 +658,20 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Know how long to run a test before giving up.</strong><br/>\n" -" Giving up too early can cost you because you may have gotten meaningful\n" -" results had you waited a little longer. Giving up too late isn’t good either,\n" -" because poorly performing variations could cost you conversions and sales." +msgid "<strong>Know how long to run a test before giving up</strong><br/>\n" +" Don't give up too early! Wait for your test results to be significant. Take a look at the statistical\n" +" confidence in Google Analytics; It should be at least 95%.<br/>\n" +" Don't give up too late neither because poorly performing variations could cost you revenues." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Now try to write down you footer structure:</strong>" +msgid "<strong>Next actions:</strong>" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Optimize your content</strong><br/>\n" -" Writing content that includes frequently searched-for keywords and phrases\n" -" tends to increase traffic to your website." +msgid "<strong>Now try to write down you footer structure:</strong>" msgstr "" #. module: website @@ -734,18 +683,25 @@ msgstr "" #: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>Reference your images...</strong><br/>\n" " If you are an artist or a photographer, you can potentially bring in a lot\n" -" of visitors by referencing your images so they are displayed in image\n" -" search engines, like Google Images. To do that, simply add an 'Alt text'\n" -" containing descriptions and keywords for relevant pictures." +" of visitors by referencing your images so they are displayed in image\n" +" search engines, like Google Images.\n" +" To do that," +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "<strong>Send mass mails</strong>" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "<strong>Start a blog</strong><br/>\n" -" Google loves websites which are updated often or ones where new content is\n" -" added regularly. This is why starting a blog is an excellent way of\n" -" improving your search ranking. If you have the time and dedication to write\n" -" good articles," +" Search engines loves websites that get new content regularly. An excellent way is publishing blog posts. If you have the time and dedication to write good articles," +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "<strong>Test only one variable</strong><br/>Try only one variable at a time, otherwise you won't be able to clearly interpret the results of your modifications." msgstr "" #. module: website @@ -755,15 +711,17 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Use Google Webmaster</strong><br/>\n" -" This tool will help you understand your search traffic and learn how users\n" -" are finding your site and make optimizations to help Google better\n" -" understand and represent your site." +msgid "<strong>Use Google Webmaster</strong><br/>" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>Use contact forms:</strong>" +msgid "<strong>Use contact forms</strong>" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "<strong>Use relevant keywords</strong><br/>" msgstr "" #. module: website @@ -773,7 +731,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>You have your domain name ?</strong><br/>" +msgid "<strong>You own your domain name?</strong><br/>" msgstr "" #. module: website @@ -783,7 +741,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "<strong>e-Commerce</strong>" +msgid "<strong>eCommerce</strong>" msgstr "" #. module: website @@ -813,24 +771,11 @@ msgid "A code server action can be executed from the website, using a dedicated msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "A footer, as its name implies, is located at the very bottom of your website.\n" -" Because of that, your visitors won't see it immediately so it's very useful for linking\n" -" pages you don't want in your main menu e.g. social media, terms and conditions, privacy\n" -" terms, etc." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_text_block msgid "A good subtitle" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "A good way to start is to use machine translation then apply corrections yourself." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_text_block msgid "A great way to catch your reader's attention is to tell a story.\n" " Everything you consider writing can be told as a story." @@ -849,13 +794,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "A/B testing is the process of testing two versions of a page to see which one performs\n" -" better in reaching your business objectives. For example, imagine you have an existing\n" -" page (A) where you ask your customers to subscribe to your mailing list.\n" -" You create a variation (B) of this page with a slightly different subscription message.\n" -" Then your randomly display this page to half the visitors of your website, and after a\n" -" while, you analyze the subscription statistics and see that page B performs 10% better\n" -" than page A. Of course, you now decide to make B your new current page!" +msgid "A/B testing is the process of testing two versions of a page to see which one performs better in reaching your business objectives." msgstr "" #. module: website @@ -935,11 +874,21 @@ msgid "Add page in menu" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Adding relevant and popular keywords" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.view_website_config_settings msgid "Advanced" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Advertise a keyword if you answer YES to the three following questions:" +msgstr "" + +#. module: website #. openerp-web #: code:addons/website/static/src/js/website.tour.banner.js:49 #, python-format @@ -948,7 +897,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "After working on this step, you may want to go back and refine your objectives or modify your visitors interests. Those 3 first steps are essentially linked, and the more time your spend on polishing them, the better your website will be!" +msgid "After working on this step, you may want to go back and refine your objectives or modify your visitors interests. Those 3 first steps are essentially linked, and the more time your spend on refining them, the better your website will be!" msgstr "" #. module: website @@ -968,17 +917,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Allows your customers and the whole community to ask and answer questions about their interests." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Also, don't hesitate to post on other people blogs, forums, websites, but don't go overboard and post everywhere without considering whether it's a good place for you to be." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Alternatively, you can write a good article about your business and publish it on an article database websites (ex: squidoo.com) or send it to a press website and your local newspapers." +msgid "Allows your community to ask and answer questions about their interests" msgstr "" #. module: website @@ -998,7 +937,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Announce it on social media (and update your profiles): Twitter,Facebook, LinkedIn, Youtube, etc." +msgid "Announce it on social media: Twitter, Facebook, LinkedIn, Youtube, etc." msgstr "" #. module: website @@ -1008,12 +947,6 @@ msgid "Apply" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "As you add more pages to your website, your main menu will begin to feel overcrowded.\n" -" You can regroup similar pages into a sub-menu, so they will appear under a unique drop-down menu." -msgstr "" - -#. module: website #: model:ir.model.fields,field_description:website.field_ir_attachment_website_url msgid "Attachment URL" msgstr "" @@ -1039,6 +972,13 @@ msgid "Avoid special characters" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Avoid using a mass survey, it's way more efficient to have\n" +" personal discussions with everyone. If you engage with them in the\n" +" reviewing process, they will even help you promote your website." +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.500 msgid "Back" msgstr "" @@ -1066,12 +1006,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "Before starting to work on your website, make sure you have all the right applications installed.\n" -" It will be much easier for you to organize and create your content if you have all the options activated from the start." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Before starting," +" It will be much easier for you to organize and create your content if you have all the options activated from the beginning." msgstr "" #. module: website @@ -1081,7 +1016,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Being clear on why you're creating your site and your goals is an essential first step to ensure your content and structure meet business objectives." +msgid "Being clear on why you're creating your site is an essential first step to ensure your content and structure meet business objectives." msgstr "" #. module: website @@ -1096,7 +1031,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Build and engage with communities with forums, Q&A, mailing lists." +msgid "Build and engage with communities with forums, Q&;A, mailing lists." msgstr "" #. module: website @@ -1123,7 +1058,12 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Can I afford to advertise on the keyword?" +msgid "Call-to-action’s (i.e. button’s) wording, size, color and placement," +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Can I afford for advertising on the keyword?" msgstr "" #. module: website @@ -1133,7 +1073,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.backendDashboard.js:85 +#: code:addons/website/static/src/js/website.backendDashboard.js:86 #: code:addons/website/static/src/xml/website.xml:57 #: model:ir.ui.view,arch_db:website.500 #: model:ir.ui.view,arch_db:website.view_website_config_settings @@ -1185,17 +1125,13 @@ msgid "City" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Click on 'Translate' on the menu bar" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_feature_grid msgid "Click on the icon to adapt it to your feature" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.s_banner +#: model:ir.ui.view,arch_db:website.website2_homepage msgid "Click to customize this text" msgstr "" @@ -1218,6 +1154,16 @@ msgid "Communicate" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Community & Enterprise users:" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Community & Enterprise users: apply a redirection from your Domain Manager platform" +msgstr "" + +#. module: website #: model:ir.model,name:website.model_res_company msgid "Companies" msgstr "" @@ -1258,30 +1204,20 @@ msgid "Configure Website" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Configure all your social media (Twitter, Facebook, LinkedIn) so that the address of your website appears on them." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.view_website_config_settings msgid "Configure website menus" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Configure your Gengo API key in" -msgstr "" - -#. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:31 +#: code:addons/website/static/src/js/website.snippets.editor.js:32 #, python-format msgid "Confirmation" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Congratulations, you're done !" +msgid "Congratulations, you're done!" msgstr "" #. module: website @@ -1312,8 +1248,9 @@ msgstr "" #: model:ir.ui.view,arch_db:website.s_banner #: model:ir.ui.view,arch_db:website.s_big_message #: model:ir.ui.view,arch_db:website.s_comparisons -#: model:ir.ui.view,arch_db:website.website_planner +#: model:ir.ui.view,arch_db:website.website2_homepage #: model:website.menu,name:website.menu_contactus +#: model:website.menu,name:website.website2_menu_contactus msgid "Contact us" msgstr "" @@ -1363,11 +1300,6 @@ msgid "Create a community" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Create a new project (this may take some time)" -msgstr "" - -#. module: website #: selection:website.config.settings,module_website_form_editor:0 msgid "Create and customize forms to generate emails, leads, issues and extra information in the checkout process (new snippet available)" msgstr "" @@ -1394,26 +1326,11 @@ msgid "Created on" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Creating your main menu is an important and difficult stage in building your website.<br/>\n" -" It needs to be organized, so that your visitors can see all the main content you offer at a glance.<br/>\n" -" It needs to be clear, so that when they click on an item, they get the content they expected.<br/>\n" -" In fact, you need to build your navigation menu for your visitors and not for your own purposes or objectives." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "Cubes" msgstr "" #. module: website -#. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:28 -#, python-format -msgid "Currently there is no data available." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.user_navbar msgid "Customize" msgstr "" @@ -1511,8 +1428,13 @@ msgid "Discard" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Discuss and Comments" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Discuss with propects for a face-to-face sales pitch." +msgid "Discuss with propects for a face-to-face sales pitch" msgstr "" #. module: website @@ -1533,7 +1455,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:78 +#: code:addons/website/static/src/js/website.snippets.editor.js:79 #, python-format msgid "Do you want to edit the company data ?" msgstr "" @@ -1558,7 +1480,12 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Don't hesitate to" +msgid "Don't go over 6 items, otherwise your main menu will be difficult to use." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Don't hesitate in" msgstr "" #. module: website @@ -1644,17 +1571,12 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:35 +#: code:addons/website/static/src/js/website.snippets.editor.js:36 #, python-format msgid "Edit the menu" msgstr "" #. module: website -#: model:res.groups,name:website.group_website_publisher -msgid "Editor" -msgstr "" - -#. module: website #: model:res.groups,name:website.group_website_designer msgid "Editor and Designer" msgstr "" @@ -1681,22 +1603,17 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Example of Good Footer" +msgid "Examp;le of Good Footer" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Example of Good Homepage" +msgid "Examp;les" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Example of Good Menu" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Examples" +msgid "Example of Good Homepage" msgstr "" #. module: website @@ -1711,15 +1628,6 @@ msgid "Explain the benefits you offer. Don't write about products or\n" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Explain to them why you launched your new website and ask them for their\n" -" views on it. Avoid using a mass survey, it's a lot more efficient to have\n" -" personal discussions with everyone. If you efficiently engage them in the\n" -" reviewing process, they will even help you promote your website when it's\n" -" ready for the big launch." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "Extra-Large" msgstr "" @@ -1772,11 +1680,6 @@ msgid "Find Inspiration" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Find a good domain name (see tips on the right)" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_features msgid "First Feature" msgstr "" @@ -1805,7 +1708,7 @@ msgstr "" #. openerp-web #: code:addons/website/static/src/xml/website.editor.xml:22 #, python-format -msgid "Follow the" +msgid "Follow all the" msgstr "" #. module: website @@ -1815,16 +1718,13 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "For example, use photos to help break up large areas of text by altering\n" -" Text-Image and Image-Text blocks. Or if you prefer to use icons, use the Features or Feature Grid blocks." +msgid "For a custom-made theme:" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "For example, you'll want your company name, your country/city and a few\n" -" words describing your business in your homepage title so that potential\n" -" customers near your location will find your website easily.\n" -" WIth Odoo, this can be done easily by using the Promote menu." +msgid "For examp;le, use pictures to help break up large areas of text by altering\n" +" Text-Image and Image-Text blocks. If you prefer icons, use the Features or Feature Grid blocks." msgstr "" #. module: website @@ -1850,7 +1750,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Gengo module" +msgid "Gengo" msgstr "" #. module: website @@ -1876,6 +1776,11 @@ msgid "Get this page efficiently referenced in Google to attract more visitors." msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Get your opportunities filled up automatically in our integrated CRM application" +msgstr "" + +#. module: website #: model:ir.model.fields,field_description:website.field_website_config_settings_social_github #: model:ir.model.fields,field_description:website.field_website_social_github msgid "GitHub Account" @@ -1883,24 +1788,19 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:34 +#: code:addons/website/static/src/js/website.snippets.editor.js:35 #, python-format msgid "Go to Link" msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:44 +#: code:addons/website/static/src/xml/website.backend.xml:45 #, python-format msgid "Go to our" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Go to the page you want to translate" -msgstr "" - -#. module: website #. openerp-web #: code:addons/website/static/src/js/website.tour.banner.js:45 #, python-format @@ -1908,8 +1808,13 @@ msgid "Good Job! You created your first page. Let's check how this page looks li msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Google Adwords" +msgstr "" + +#. module: website #. openerp-web -#: code:addons/website/static/src/js/website.backendDashboard.js:72 +#: code:addons/website/static/src/js/website.backendDashboard.js:73 #, python-format msgid "Google Analytics" msgstr "" @@ -1943,7 +1848,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Google's developer console" +msgid "Google Webmaster" msgstr "" #. module: website @@ -2010,9 +1915,15 @@ msgid "Here is a basic guide for your first A/B testing:" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Here is a checklist of actions to help you launch a new website efficiently:" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.500 #: model:ir.ui.view,arch_db:website.footer_default #: model:website.menu,name:website.menu_homepage +#: model:website.menu,name:website.website2_menu_homepage msgid "Home" msgstr "" @@ -2027,6 +1938,11 @@ msgid "Homepage" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website2_homepage +msgid "Homepage 0.0.0.0" +msgstr "" + +#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.xml:92 #, python-format @@ -2036,7 +1952,7 @@ msgstr "" #. module: website #: model:ir.model.fields,field_description:website.field_website_config_settings_id #: model:ir.model.fields,field_description:website.field_website_id -#: model:ir.model.fields,field_description:website.field_website_menu_id_1922 +#: model:ir.model.fields,field_description:website.field_website_menu_id_1906 #: model:ir.model.fields,field_description:website.field_website_published_mixin_id #: model:ir.model.fields,field_description:website.field_website_seo_metadata_id msgid "ID" @@ -2049,14 +1965,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "If you answer yes to these 3 questions, then go ahead and position your website on these keywords." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "If you have a lot of pages in your website, you can create a small top-menu to focus\n" -" on the main six pages and make all secondary pages accessible from a footer. You can\n" -" have a look at the Odoo.com website, it's a great example of this type of structure." +msgid "If you have a designer background you can edit the code directly thanks to the <i>HTML Editor</i> (in Customize menu)." msgstr "" #. module: website @@ -2066,17 +1975,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Improve your conversion from visitor to customer." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "In the left-side menu of the project, go to <strong>APIs and auth > APIs</strong> and activate <strong>Analytics API</strong> by clicking on the" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "In the pop-up window, simply enter your domain name in the first textbox (the second will complete automatically)" +msgid "Improve your conversion from visitors to customers" msgstr "" #. module: website @@ -2092,7 +1991,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.backendDashboard.js:95 +#: code:addons/website/static/src/js/website.backendDashboard.js:96 #, python-format msgid "Incorrect Client ID" msgstr "" @@ -2103,6 +2002,11 @@ msgid "Information about the" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Install A/B Testing" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.user_navbar #: model:ir.ui.view,arch_db:website.website_planner msgid "Install Apps" @@ -2120,7 +2024,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Install the" +msgid "Install new languages" msgstr "" #. module: website @@ -2135,24 +2039,19 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Integrate a contact form that automatically creates leads." +msgid "Integrate a contact form that automatically creates leads in your CRM app." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Is the keyword searched for in Google? If there is no search volume,\n" -" then that tells you no one is typing that phrase into Google. There is no\n" -" point in advertising on keywords no one is searching for." +msgid "Is the keyword popular in Google?" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Is the person searching with this keyword likely to buy my product or\n" -" service? Or is the person more likely to be just carrying out research\n" -" with no intention of making a purchase? In other words, what is the\n" -" intent of the keyword? When starting out, you’ll want to advertise on\n" -" what we call “buying intent” keywords - that is, ones where the person\n" -" is clearly looking to buy." +msgid "Is the person searching for it likely to buy my product or\n" +" service? When starting out, you want to advertise on\n" +" “buying intent” keywords (i.e. when people are clearly looking to buy)." msgstr "" #. module: website @@ -2164,7 +2063,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "It's difficult to change your theme after creating your website, so take the time to look at all the themes, and be sure that you're happy with your choice!" +msgid "It's not recommended to change your theme after creating your website. So take the time to check their preview behorehand." msgstr "" #. module: website @@ -2172,7 +2071,12 @@ msgstr "" msgid "It's often much easier not to start with a blank page. Take a look at your competitors\n" " and similar companies around the world. They probably have the same objectives and\n" " visitors that you do. How did they transform that into a website?<br/>\n" -" Try to find 3 websites that have remarkable characteristics:" +" Try to find 3 websites that have remarkable characteristics." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "It’s time to grow your traffic!" msgstr "" #. module: website @@ -2233,13 +2137,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Launching your website is an important step.<br/>\n" -" Here is a checklist of actions to help you launch a new website efficiently:" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Learn what your visitors are thinking, what question they have, what problems they encounter." +msgid "Learn what your visitors are thinking, what question they have, what problems they encounter" msgstr "" #. module: website @@ -2312,7 +2210,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Meet your existing customers and encourage them to 'repeat buy'." +msgid "Meet your existing customers and maintain your relationship" msgstr "" #. module: website @@ -2324,6 +2222,11 @@ msgid "Menu" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Message" +msgstr "" + +#. module: website #. openerp-web #: code:addons/website/static/src/js/website.mobile.js:42 #, python-format @@ -2332,7 +2235,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:50 +#: code:addons/website/static/src/xml/website.backend.xml:51 #, python-format msgid "Month" msgstr "" @@ -2343,11 +2246,6 @@ msgid "More Info" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "More info on pricing:" -msgstr "" - -#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.seo.xml:41 #, python-format @@ -2436,11 +2334,6 @@ msgid "Note: To hide this page, uncheck it from the top Customize menu." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Note: To use those features, you need to install the" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.layout_footer_copyright msgid "Odoo" msgstr "" @@ -2492,22 +2385,12 @@ msgid "Odoo text and image block" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Odoo's Google Analytics settings" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_faq_collapse msgid "Odoo's POS is a web application that can run on any device that\n" " can display websites with little to no setup required." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Off" -msgstr "" - -#. module: website #. openerp-web #: code:addons/website/static/src/xml/website.translator.xml:46 #, python-format @@ -2523,7 +2406,17 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Once you’ve launched your website, it’s time to grow your traffic." +msgid "One way is by optimizing your indexing on search engines like Google naturally. The earliest you show up in the search, the more visitors you get. This strategy called SEO involves several actions." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Online users: Apply it to your website from your database admin page (see" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Online users: when installing Website" msgstr "" #. module: website @@ -2533,7 +2426,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.layout_footer_copyright -msgid "Open Source e-Commerce" +msgid "Open Source eCommerce" msgstr "" #. module: website @@ -2641,11 +2534,21 @@ msgid "Partner" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_post +msgid "Partner Detail" +msgstr "" + +#. module: website #: model:ir.model.fields,help:website.field_website_partner_id msgid "Partner-related data of the user" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Partners" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "Peak" msgstr "" @@ -2688,13 +2591,13 @@ msgid "Please install or update node-less" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Please note that you'll need an Odoo Standard or Business subscriptions for that" +#: model:ir.ui.view,arch_db:website.s_faq_collapse +msgid "Point of Sale Questions <small>v7</small>" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.s_faq_collapse -msgid "Point of Sale Questions <small>v7</small>" +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Post content on other people blogs, forums, websites, that are related to your environment." msgstr "" #. module: website @@ -2749,7 +2652,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Provide fast, professional and accurate information to your visitors and customers." +msgid "Provide fast, professional and accurate information to your visitors" msgstr "" #. module: website @@ -2763,6 +2666,11 @@ msgid "Public User" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Publish the link of your website through your social media channels (Twitter, Facebook, LinkedIn)." +msgstr "" + +#. module: website #. openerp-web #: code:addons/website/static/src/js/website.tour.banner.js:41 #, python-format @@ -2785,17 +2693,47 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner +msgid "Qualify your visitors better in order to reach them later with marketing campaigns" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Reach your customers and prospects on a recurring basis" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Read the documentation about A/B Testing" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner msgid "Ready For Launch!" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Real professional translators will translate all your contents" +msgid "Real professional translators will translate all your contents." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Recipient" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Redeem a $75 coupon code to start your campaign." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Reduce the time and resources spent on support" msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Reduce the time and resources spent on support." +msgid "Regroup similar pages into a sub-menu, so they will appear under a unique drop-down menu." msgstr "" #. module: website @@ -2828,6 +2766,11 @@ msgid "Reset templates" msgstr "" #. module: website +#: model:res.groups,name:website.group_website_publisher +msgid "Restricted Editor" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "Right" msgstr "" @@ -2854,7 +2797,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.backendDashboard.js:76 +#: code:addons/website/static/src/js/website.backendDashboard.js:77 #: code:addons/website/static/src/js/website.seo.js:363 #, python-format msgid "Save" @@ -2898,11 +2841,6 @@ msgid "Select and delete blocks to remove some features." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Select the untranslated language" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_big_message msgid "Sell Online. Easily." msgstr "" @@ -2913,6 +2851,16 @@ msgid "Sell more online" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Send <span class=\"fa fa-long-arrow-right\"/>" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.template_partner_comment +msgid "Send a Message to our Partners" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "Send an email to all your contacts" msgstr "" @@ -2933,11 +2881,6 @@ msgid "Settings" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Settings > Website" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.snippet_options msgid "Shadows" msgstr "" @@ -3000,10 +2943,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Start by looking how often people search phrases related to your business,\n" -" how competitive the keywords are in AdWords, and how much it’ll cost to\n" -" advertise on each keyword. All of this information will help you determine\n" -" which keywords you want to use in your first campaign." +msgid "Start translating your website on your own" msgstr "" #. module: website @@ -3025,17 +2965,12 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:43 +#: code:addons/website/static/src/js/website.snippets.editor.js:44 #, python-format msgid "Stay on this page" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Still in the left-side menu, go to <strong>APIs and auth > Credentials</strong> and click on <strong>'Create New Client ID'</strong>" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.footer_custom msgid "Subtitle" msgstr "" @@ -3082,13 +3017,18 @@ msgid "Template fallback" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.template_partner_post +msgid "Thank you for posting a message !" +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "The Banner or Big Picture building blocks are good choices for that." msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.backendDashboard.js:95 +#: code:addons/website/static/src/js/website.backendDashboard.js:96 #, python-format msgid "The Google Analytics Client ID you have entered seems incorrect." msgstr "" @@ -3101,32 +3041,6 @@ msgid "The Point of Sale works perfectly on any kind of touch enabled\n" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The best and simplest way to start is to create a few pages and link them directly from the main menu.\n" -" Just try not to go over 6 items, otherwise your main menu will be difficult to use." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The building blocks" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The call to action’s (i.e. the button’s) wording, size, color and placement," -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The colors palettes" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The cost is from $0.05 to $0.15 per word, depending on the translator's level of expertise" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.http_error_debug msgid "The error occured while rendering the template" msgstr "" @@ -3174,11 +3088,6 @@ msgid "The page you were looking for could not be found; it is possible you have msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "The pre-loaded images" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.500 msgid "The selected templates will be reset to their factory settings." msgstr "" @@ -3190,7 +3099,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "The theme you choose sets the tone for the overall look and feel of your site design." +msgid "The theme you choose sets the tone for the overall look and feel of your site design: building blocks, color palettes, pre-loaded images." msgstr "" #. module: website @@ -3213,28 +3122,10 @@ msgid "Theme Selection" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Then simply" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Then, copy the <strong>Client ID</strong> and <strong>Client Secret</strong> codes and paste them in" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Then, go to" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "There are three questions you should ask before deciding whether or not to advertise on a particular keyword:" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "They allow a detailed qualification of the visitor, which is perfect to link them later to marketing campaigns." +#. openerp-web +#: code:addons/website/static/src/xml/website.backend.xml:28 +#, python-format +msgid "There is no data currently available." msgstr "" #. module: website @@ -3287,11 +3178,6 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "To do that, simply use the Promote menu on each page of your website." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner msgid "To get an external assessment of your website, you can also submit it to" msgstr "" @@ -3304,6 +3190,7 @@ msgstr "" #. openerp-web #: code:addons/website/static/src/js/website.contentMenu.js:179 #: model:website.menu,name:website.main_menu +#: model:website.menu,name:website.website2_main_menu #, python-format msgid "Top Menu" msgstr "" @@ -3315,7 +3202,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/js/website.snippets.editor.js:717 +#: code:addons/website/static/src/js/website.snippets.editor.js:465 #, python-format msgid "Transform the picture (click twice to reset transformation)" msgstr "" @@ -3341,15 +3228,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Translated versions are updated automatically after 32 hours on average." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Translating your website into other languages is the best way to broaden its audience.\n" -" In Odoo, you can either manually translate your pages as they are displayed, use an\n" -" automatic machine translation service for free or pay professional translators to do\n" -" it for you." +msgid "Translating your website into other languages is the best way to broaden its audience." msgstr "" #. module: website @@ -3406,7 +3285,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Update your internal documents: footer of sales order, contracts,invoices, business cards, etc." +msgid "Update your internal documents: footer of sales order, contracts, invoices, business cards, etc." msgstr "" #. module: website @@ -3429,11 +3308,6 @@ msgid "Url" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Use Google Adwords" -msgstr "" - -#. module: website #: model:ir.model.fields,field_description:website.field_website_config_settings_cdn_activated msgid "Use a Content Delivery Network (CDN)" msgstr "" @@ -3455,12 +3329,12 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Use the Newsletter subscription (from mass mailing application) or the Big button building block for that." +msgid "Use the Button block or the Newsletter subscription one (if Mass Mailing installed)." msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:44 +#: code:addons/website/static/src/xml/website.backend.xml:45 #, python-format msgid "User Documentation" msgstr "" @@ -3483,7 +3357,12 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "View our themes selection" +msgid "View downloadable themes" +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "View our Odoo Online themes (free!)" msgstr "" #. module: website @@ -3603,6 +3482,16 @@ msgid "Website Name" msgstr "" #. module: website +#: model:ir.actions.server,name:website.action_partner_post +msgid "Website Partner Post and Thanks Demo" +msgstr "" + +#. module: website +#: model:ir.actions.server,name:website.action_partner_comment +msgid "Website Partners Comment Form" +msgstr "" + +#. module: website #: model:ir.model.fields,field_description:website.field_ir_act_server_website_path msgid "Website Path" msgstr "" @@ -3644,11 +3533,6 @@ msgid "Website Url" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "Website Versioning." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.menu_tree msgid "Website menu" msgstr "" @@ -3728,7 +3612,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:49 +#: code:addons/website/static/src/xml/website.backend.xml:50 #, python-format msgid "Week" msgstr "" @@ -3774,14 +3658,13 @@ msgid "While an internet connection is required to start the Point of\n" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "With Odoo, you can automatically check which keywords are ranked best for a\n" -" specific query, then add them in the content of your page." +#: model:ir.ui.view,arch_db:website.s_cover +msgid "With a great subtitle" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.s_cover -msgid "With a great subtitle" +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Write a good article about your business and publish it on article database websites (e.g. squidoo.com). Send it to press websites and to your local newspapers." msgstr "" #. module: website @@ -3821,7 +3704,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:51 +#: code:addons/website/static/src/xml/website.backend.xml:52 #, python-format msgid "Year" msgstr "" @@ -3840,53 +3723,40 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "You can also place online advertisements on web pages that show results from search\n" -" engine queries: this is called SEA." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "You can also use the <i>integrated HTML Editor(from the Customize menu)</i> to modify the code directly." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "You can do this by optimizing your referencing by search engines like Google: it's\n" -" called SEO. This is the process of increasing the visibility of a website or a web\n" -" page in a search engine's natural and unpaid (\"organic\") search results. In general,\n" -" the earlier (or higher ranked on the search results page), and more frequently a site\n" -" appears in the search results list, the more visitors it will receive from the search\n" -" engine." +msgid "You can also pay for a sponsored indexing and place advertisements on web pages that show results from search\n" +" engine queries. This is called SEA." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "You can retrieve a 75$ coupon code to start your campaign here:" +msgid "You can set a custom domain name (e.g. yourcompany.com) for both the website\n" +" and your emails. Your website address is as important to your branding as the\n" +" name of your business or organization, so put some thought into changing it\n" +" for a proper domain." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "You can set Odoo on a custom domain name (e.g. yourcompany.com) for both the website\n" -" and your emails. Because your website address is as important to your branding as the\n" -" name of your business or organization, you’ll want to put some thought into changing it\n" -" for a proper domain, or change it to one you already own." +#. openerp-web +#: code:addons/website/static/src/xml/website.backend.xml:30 +#, python-format +msgid "You do not have sufficient access rights to configure the Google Analytics account." msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:39 +#: code:addons/website/static/src/xml/website.backend.xml:40 #, python-format msgid "You do not seem to have access to this Analytics Account." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "You have a lot of choices for that: the References, Quotes Slider, Twitter Scroller,..." +msgid "You have many blocks available: References, Quotes Slider, Twitter Scroller,etc." msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:38 +#: code:addons/website/static/src/xml/website.backend.xml:39 #, python-format msgid "You need to log in to your Google Account before:" msgstr "" @@ -3898,11 +3768,6 @@ msgid "You should try other search criteria." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "You will get your leads filled up automatically in our integrated CRM application." -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.s_banner msgid "Your Banner Title" msgstr "" @@ -3919,7 +3784,7 @@ msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:42 +#: code:addons/website/static/src/xml/website.backend.xml:43 #, python-format msgid "Your Google Analytic Client ID:" msgstr "" @@ -3953,20 +3818,28 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Your homepage is the most important page of your website. This is where visitors get their first impressions of you. An excellent homepage will encourage them to stay on your site, guide them towards your content, reinforce your company's branding and more.<br/>\n" +msgid "Your homepage is the most important page of your website. This is where visitors get their first impressions of you. An efficient homepage will prompt them to stay on your site, guide them towards your content, strengthen your company's branding and more.<br/>\n" " Here are some pointers to help you get started." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "Your theme selection will define:" +msgid "Your menu must be built for your visitors and not for your own purposes or objectives.<br/>\n" +" It needs to be organized, so that they see all the main content at a glance.<br/>\n" +" It needs to be clear, so that they get the content they expect when clicking an item." +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "Your visitors won't see the footer immediately. Use it for links you don't want in your main menu (e.g. social media, terms and conditions, privacy\n" +" terms, etc.)." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner msgid "Your website is an important part of your online business strategy, but it shouldn't be\n" " the only one. There are so many ways to communicate with your customers, visitors and\n" -" prospects that it's sometimes difficult to know what to put your energy into. Here is\n" +" prospects that it's sometimes difficult to know what to put your energy into. Here are\n" " some advice on what to focus on next." msgstr "" @@ -3983,7 +3856,7 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "and connect with the Google account you created" +msgid "add keywords in picture's description." msgstr "" #. module: website @@ -3993,22 +3866,12 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "and we'll configure your website and/or email for you." -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "button." +msgid "campaign." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "check out our blog application" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "create a Google Analytics account" +msgid "check out our Blog application" msgstr "" #. module: website @@ -4058,25 +3921,15 @@ msgid "found(s)" msgstr "" #. module: website -#. openerp-web -#: code:addons/website/static/src/xml/website.seo.xml:62 -#, python-format -msgid "how your page will be listed on Google" -msgstr "" - -#. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "http://gengo.com/pricing-languages/" -msgstr "" - -#. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "http://www.google.com/ads/adwords-coupon.html" +msgid "guidelines" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "http://www.google.com/webmasters/tools/" +#. openerp-web +#: code:addons/website/static/src/xml/website.seo.xml:62 +#, python-format +msgid "how your page will be listed on Google" msgstr "" #. module: website @@ -4121,17 +3974,17 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "if you don't have one yet." +msgid "in their SEO metadata, including tags, title and description." msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "in Odoo" +#: model:ir.ui.view,arch_db:website.show_website_info +msgid "instance of Odoo, the" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.show_website_info -msgid "instance of Odoo, the" +#: model:ir.ui.view,arch_db:website.website_planner +msgid "invoices from $0.05 to $0.15 per word, depending on the translator's level of expertise." msgstr "" #. module: website @@ -4155,6 +4008,16 @@ msgid "ir.ui.view" msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "learn how people find your website," +msgstr "" + +#. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "make optimizations for Google referencing." +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.menu_search msgid "name" msgstr "" @@ -4184,14 +4047,14 @@ msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "send us an email" +msgid "sending us an email" msgstr "" #. module: website #. openerp-web #: code:addons/website/static/src/xml/website.editor.xml:22 #, python-format -msgid "signs to start." +msgid "signs to get your website ready in no time." msgstr "" #. module: website @@ -4212,25 +4075,24 @@ msgid "the instructions" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.view_website_config_settings -msgid "to create your key." +#: model:ir.ui.view,arch_db:website.website_planner +msgid "through the content of your pages;" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "to describe\n" -" <br/> your experience or to suggest improvements !" +#: model:ir.ui.view,arch_db:website.view_website_config_settings +msgid "to create your key." msgstr "" #. module: website #: model:ir.ui.view,arch_db:website.website_planner -msgid "to do that (make sure the Advanced Options are set to your country and\n" -" language)." +msgid "to describe\n" +" <br/> your experience or to suggest improvements!" msgstr "" #. module: website #. openerp-web -#: code:addons/website/static/src/xml/website.backend.xml:44 +#: code:addons/website/static/src/xml/website.backend.xml:45 #, python-format msgid "to get more information." msgstr "" @@ -4241,6 +4103,11 @@ msgid "to get started." msgstr "" #. module: website +#: model:ir.ui.view,arch_db:website.website_planner +msgid "understand your search traffic," +msgstr "" + +#. module: website #: model:ir.ui.view,arch_db:website.menu_search msgid "url" msgstr "" @@ -4274,12 +4141,12 @@ msgid "website.published.mixin" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.500 -msgid "yes" +#: model:ir.ui.view,arch_db:website.website_planner +msgid "will help you:" msgstr "" #. module: website -#: model:ir.ui.view,arch_db:website.website_planner -msgid "your Company details form" +#: model:ir.ui.view,arch_db:website.500 +msgid "yes" msgstr "" diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index e08116c1465..acd9256ea52 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -69,54 +69,6 @@ class View(models.Model): # assume it's already a view object (WTF?) return view_id - # Returns all views (called and inherited) related to a view - # Used by translation mechanism, SEO and optional templates - - @api.model - def _views_get(self, view_id, options=True, bundles=False, root=True): - """ For a given view ``view_id``, should return: - * the view itself - * all views inheriting from it, enabled or not - - but not the optional children of a non-enabled child - * all views called from it (via t-call) - :returns recordset of ir.ui.view - """ - try: - view = self._view_obj(view_id) - except ValueError: - _logger.warning("Could not find view object with view_id '%s'", view_id) - return [] - - while root and view.inherit_id: - view = view.inherit_id - - views_to_return = view - - node = etree.fromstring(view.arch) - xpath = "//t[@t-call]" - if bundles: - xpath += "| //t[@t-call-assets]" - for child in node.xpath(xpath): - try: - called_view = self._view_obj(child.get('t-call', child.get('t-call-assets'))) - except ValueError: - continue - if called_view not in views_to_return: - views_to_return += self._views_get(called_view, options=options, bundles=bundles) - - extensions = view.inherit_children_ids - if not options: - # only active children - extensions = view.inherit_children_ids.filtered(lambda view: view.active) - - # Keep options in a deterministic order regardless of their applicability - for extension in extensions.sorted(key=lambda v: v.id): - # only return optional grandchildren if this child is enabled - for ext_view in self._views_get(extension, options=extension.active, root=False): - if ext_view not in views_to_return: - views_to_return += ext_view - return views_to_return - @api.model @tools.ormcache_context('self._uid', 'xml_id', keys=('website_id',)) def get_view_id(self, xml_id): @@ -186,37 +138,23 @@ class View(models.Model): @api.model def customize_template_get(self, key, full=False, bundles=False): """ Get inherit view's informations of the template ``key``. By default, only - returns ``customize_show`` templates (which can be active or not), if - ``full=True`` returns inherit view's informations of the template ``key``. - ``bundles=True`` returns also the asset bundles + :returns ``customize_show`` templates (which can be active or not), if + ``full=True`` returns inherit view's informations of the template ``key``. + ``bundles=True`` returns also the asset bundles """ + result = super(View, self).customize_template_get(key, full=full, bundles=bundles) + imd = self.env['ir.model.data'] view_theme_id = imd.xmlid_to_res_id('website.theme') - user = self.env.user - user_groups = set(user.groups_id) - views = self.with_context(active_test=False)._views_get(key, bundles=bundles) - done = set() - result = [] - for view in views: - if not user_groups.issuperset(view.groups_id): + + result_filtered = [] + for x in result: + if not full: + view = self.browse(x['id']) + if not view.customize_show: + continue + if view_theme_id and x['inherit_id'] == view_theme_id: continue - if full or (view.customize_show and view.inherit_id.id != view_theme_id): - if view.inherit_id not in done: - result.append({ - 'name': view.inherit_id.name, - 'id': view.id, - 'key': view.key, - 'inherit_id': view.inherit_id.id, - 'header': True, - 'active': False - }) - done.add(view.inherit_id) - result.append({ - 'name': view.name, - 'id': view.id, - 'key': view.key, - 'inherit_id': view.inherit_id.id, - 'header': False, - 'active': view.active, - }) - return result + result_filtered.append(x) + + return result_filtered diff --git a/addons/website/models/res_config.py b/addons/website/models/res_config.py index d744314ba55..31fe4bc064a 100644 --- a/addons/website/models/res_config.py +++ b/addons/website/models/res_config.py @@ -30,19 +30,18 @@ class WebsiteConfigSettings(models.TransientModel): cdn_activated = fields.Boolean('Use a Content Delivery Network (CDN)', related='website_id.cdn_activated') cdn_url = fields.Char(related='website_id.cdn_url') cdn_filters = fields.Text(related='website_id.cdn_filters') - module_website_form_editor = fields.Boolean("Form builder") module_website_form_editor = fields.Selection([ (0, 'Use standard forms'), (1, 'Create and customize forms to generate emails, leads, issues and extra information in the checkout process (new snippet available)') - ], "Form Builder") + ], "Form Builder") module_website_version = fields.Selection([ (0, 'No version management and A/B testing (easy)'), (1, 'Allow multiple versions of the same page (advanced)') - ], "A/B Testing") + ], "A/B Testing") favicon = fields.Binary('Favicon', related='website_id.favicon') - + # Set as global config parameter since methods using it are not website-aware. To be changed - # when multi-website is implemented + # when multi-website is implemented google_maps_api_key = fields.Char(string='Google Maps API Key') def set_google_maps_api_key(self): diff --git a/addons/website/models/website.py b/addons/website/models/website.py index bb4ba97a7dd..d18676dbb45 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -607,13 +607,13 @@ class Menu(models.Model): _order = "sequence" def _default_sequence(self): - menu = self.search(["sequence"], limit=1, order="sequence DESC") + menu = self.search([], limit=1, order="sequence DESC") return menu.sequence or 0 name = fields.Char('Menu', required=True, translate=True) url = fields.Char('Url', default='') new_window = fields.Boolean('New Window') - sequence = fields.Integer(defualt=_default_sequence) + sequence = fields.Integer(default=_default_sequence) website_id = fields.Many2one('website', 'Website') # TODO: support multiwebsite once done for ir.ui.views parent_id = fields.Many2one('website.menu', 'Parent Menu', index=True, ondelete="cascade") child_id = fields.One2many('website.menu', 'parent_id', string='Child Menus') diff --git a/addons/website/security/website_security.xml b/addons/website/security/website_security.xml index 893310ae475..2e7ad4cbe6f 100644 --- a/addons/website/security/website_security.xml +++ b/addons/website/security/website_security.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> + <record id="group_website_publisher" model="res.groups"> + <field name="name">Restricted Editor</field> + <field name="category_id" ref="base.module_category_website"/> + </record> + <record id="group_website_designer" model="res.groups"> + <field name="name">Editor and Designer</field> + <field name="users" eval="[(4, ref('base.user_root'))]"/> + <field name="implied_ids" eval="[(4, ref('group_website_publisher'))]"/> + <field name="category_id" ref="base.module_category_website"/> + </record> + + <record id="base.default_user" model="res.users"> + <field name="groups_id" eval="[(4, ref('group_website_designer'))]"/> + </record> + <record id="website_designer_edit_qweb" model="ir.rule"> <field name="name">website_designer: Manage Website and qWeb view</field> <field name="model_id" ref="base.model_ir_ui_view"/> diff --git a/addons/website/static/src/js/website.contentMenu.js b/addons/website/static/src/js/website.contentMenu.js index 82bbefcf8c2..aa695857746 100644 --- a/addons/website/static/src/js/website.contentMenu.js +++ b/addons/website/static/src/js/website.contentMenu.js @@ -186,8 +186,8 @@ var SelectEditMenuDialog = widget.Dialog.extend({ }, options || {})); }, save: function () { - this.trigger("save", parseInt(this.$el.find("select").val() || null)); - this._super(); + this.final_data = parseInt(this.$el.find("select").val() || null); + this._super.apply(this, arguments); } }); diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index 8873703d790..d1e71d064a2 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -54,39 +54,37 @@ website.TopBar.include({ website.TopBarCustomize = Widget.extend({ events: { - 'mousedown a.dropdown-toggle': 'load_menu', - 'click ul a[data-view-id]': 'do_customize', + 'click > ul a[data-view-id]': 'do_customize', }, start: function () { - var self = this; - this.$menu = self.$el.find('ul'); this.view_name = $(document.documentElement).data('view-xmlid'); if (!this.view_name) { this.$el.hide(); } - this.loaded = false; + + if (this.$el.is(".open")) { + this.load_menu(); + } else { + this.$el.one("mousedown", "> a.dropdown-toggle", this.load_menu.bind(this)); + } }, load_menu: function () { - var self = this; - if(this.loaded) { - return; - } + var $menu = this.$el.children("ul"); ajax.jsonRpc('/website/customize_template_get', 'call', { key: this.view_name, + full: false }).then(function (result) { _.each(result, function (item) { - if (item.key === "website.debugger" && !window.location.search.match(/[&?]debug(&|$)/)) return; if (item.header) { - self.$menu.append('<li class="dropdown-header">' + item.name + '</li>'); + $menu.append('<li class="dropdown-header">' + item.name + '</li>'); } else { var $li = $('<li/>', {role: 'presentation'}) .append($('<a/>', {href: '#', 'data-view-id': item.id, role: 'menuitem'}) .append(qweb.render('web_editor.components.switch', {id: 'switch-' + item.id, label: item.name}))); $li.find('input').prop('checked', !!item.active); - self.$menu.append($li); + $menu.append($li); } }); - self.loaded = true; }); }, do_customize: function (e) { diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 046da64ccf7..c765e335f7c 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -175,9 +175,10 @@ odoo.define('website.website', function (require) { }); /* ----- PUBLISHING STUFF ---- */ - $(document).on('click', '.js_publish_management .js_publish_btn', function () { + $(document).on('click', '.js_publish_management .js_publish_btn', function (e) { + e.preventDefault(); + var $data = $(this).parents(".js_publish_management:first"); - var self=this; ajax.jsonRpc($data.data('controller') || '/website/publish', 'call', {'id': +$data.data('id'), 'object': $data.data('object')}) .then(function (result) { $data.toggleClass("css_unpublished css_published"); diff --git a/addons/website/static/src/js/website.seo.js b/addons/website/static/src/js/website.seo.js index 4b5acc8090a..09e6c00a701 100644 --- a/addons/website/static/src/js/website.seo.js +++ b/addons/website/static/src/js/website.seo.js @@ -343,8 +343,8 @@ var Configurator = Dialog.extend({ template: 'website.seo_configuration', events: { 'keyup input[name=seo_page_keywords]': 'confirmKeyword', - 'keyup input[name=seo_page_title]': 'titleChanged', - 'keyup textarea[name=seo_page_description]': 'descriptionChanged', + 'blur input[name=seo_page_title]': 'titleChanged', + 'blur textarea[name=seo_page_description]': 'descriptionChanged', 'click button[data-action=add]': 'addKeyword', }, canEditTitle: false, diff --git a/addons/website/static/src/js/website.snippets.gallery.js b/addons/website/static/src/js/website.snippets.gallery.js index 481ba06e6f3..cde906ca764 100644 --- a/addons/website/static/src/js/website.snippets.gallery.js +++ b/addons/website/static/src/js/website.snippets.gallery.js @@ -67,7 +67,7 @@ options.registry.gallery = options.Class.extend({ }, bind_change: function () { var self = this; - return this.$target.find("img").off('saved').on('saved', function (event, img) { + return this.$target.find("img").off('save').on('save', function (event, img) { var $parent = $(img).parent(); $parent.addClass("saved_active"); var index = self.$target.find(".item.saved_active").index(); @@ -228,7 +228,7 @@ options.registry.gallery = options.Class.extend({ var $container = this.$target.find(".container:first"); var editor = new widget.MediaDialog(null, {select_images: true}, this.$target.closest('.o_editable'), null).open(); var index = Math.max(0, _.max(_.map(this.$target.find("img").get(), function (img) { return img.dataset.index | 0; })) + 1); - editor.on('saved', this, function (attachments) { + editor.on('save', this, function (attachments) { for (var i = 0 ; i < attachments.length; i++) { $('<img class="img img-responsive mb8 mt8"/>') .attr("src", attachments[i].src) diff --git a/addons/website/static/src/js/website.tour.rte.js b/addons/website/static/src/js/website.tour.rte.js index 3026e4c86b2..7785441faa0 100644 --- a/addons/website/static/src/js/website.tour.rte.js +++ b/addons/website/static/src/js/website.tour.rte.js @@ -2,9 +2,12 @@ odoo.define('website.tour.rte', function (require) { 'use strict'; var tour = require("web_tour.tour"); -var local_storage = require('web.local_storage'); +var base = require("web_editor.base"); -tour.register('rte_translator', { test: true }, +tour.register('rte_translator', { + test: true, + wait_for: base.ready() +}, [ { content: "click on Add a language", diff --git a/addons/website/static/src/less/website.ui.components.less b/addons/website/static/src/less/website.ui.components.less index 92a116ca309..e1230d2b358 100644 --- a/addons/website/static/src/less/website.ui.components.less +++ b/addons/website/static/src/less/website.ui.components.less @@ -324,63 +324,9 @@ body .modal { // ACE EDITOR .o_ace_view_editor { - @o-ace-color: #2F3129; - .o-position-absolute(@odoo-navbar-height, 0, 0); position: fixed; - .o-flex-display(); - .o-flex-flow(column, nowrap); z-index: 1001; - background: @o-ace-color; - color: white; - - .o_ace_view_editor_title { - .o-flex(0, 0, auto); - .o-flex-display(); - .o-align-items(center); - .o-justify-content(space-between); - padding: @grid-gutter-width/4; - - > * { - .o-flex(0, 0, auto); - margin: 0 @grid-gutter-width/4; - - &.oe_include_bundles { - .o-flex-display(); - .o-align-items(center); - font-size: 11px; - - > .o_checkbox { - margin-right: @grid-gutter-width/4; - } - } - } - - > select { - .o-flex(0, 1, auto); - min-width: 60px; - } - } - #ace-view-id { - .o-flex(0, 0, auto); - padding: @grid-gutter-width/4 @grid-gutter-width/2; - background-color: lighten(@o-ace-color, 10%); - } - #ace-view-editor { - height: 70%; // in case flex is not supported - .o-flex(1, 1, auto); - .ace_gutter { - cursor: ew-resize; - } - } - - &.oe_ace_open { - opacity: 0.97; - } - &.oe_ace_closed { - z-index: -1000; - opacity: 0; - } } // PLANNER DIALOG diff --git a/addons/website/views/snippets.xml b/addons/website/views/snippets.xml index 95ec8613786..40c57ca3cdf 100644 --- a/addons/website/views/snippets.xml +++ b/addons/website/views/snippets.xml @@ -868,7 +868,7 @@ </div> <div data-js="menu_data" - data-selector="#top_menu > li > a" + data-selector="#top_menu li > a:not(.dropdown-toggle)" data-no-check="true"/> <div data-js="company_data" diff --git a/addons/website/views/website_navbar_templates.xml b/addons/website/views/website_navbar_templates.xml index 8ae2538ceba..43994030561 100644 --- a/addons/website/views/website_navbar_templates.xml +++ b/addons/website/views/website_navbar_templates.xml @@ -30,21 +30,21 @@ <div class="o_menu_brand">Website</div> - <ul class="o_menu_sections"> + <ul class="o_menu_sections" groups="website.group_website_designer"> <!-- Content --> - <li class="dropdown content" groups="website.group_website_publisher" t-if="editable"> + <li class="dropdown content" t-if="editable"> <a id="content-menu-button" class="dropdown-toggle waves" data-toggle="dropdown" href="#">Content</a> <ul class="dropdown-menu oe_content_menu" role="menu"> - <li groups="website.group_website_designer"> + <li> <a data-action="edit_menu" href="#" title="Edit Top Menu">Edit Menu</a> </li> - <li t-if="deletable" groups="website.group_website_designer" role="separator" class="divider"></li> - <li t-if="deletable" groups="website.group_website_designer"><a href="#" data-action="rename_page">Rename Page</a></li> - <li t-if="deletable" groups="website.group_website_designer"><a href="#" data-action="delete_page">Delete Page</a></li> + <li t-if="deletable" role="separator" class="divider"></li> + <li t-if="deletable"><a href="#" data-action="rename_page">Rename Page</a></li> + <li t-if="deletable"><a href="#" data-action="delete_page">Delete Page</a></li> </ul> </li> <!-- Customize --> - <li class="dropdown" groups="website.group_website_designer" id="customize-menu"> + <li class="dropdown" id="customize-menu"> <a class="dropdown-toggle waves" data-toggle="dropdown" href="#" id="customize-menu-button">Customize</a> <ul class="dropdown-menu" role="menu"> <li id="html_editor"><a data-action="ace" href="#advanced-view-editor">HTML Editor</a></li> @@ -54,7 +54,7 @@ </ul> </li> <!-- Promote --> - <li class="dropdown" groups="website.group_website_designer"> + <li class="dropdown"> <a class="dropdown-toggle waves" data-toggle="dropdown" href="#" id="promote-menu-button">Promote</a> <ul class="dropdown-menu oe_promote_menu" role="menu"> <li><a data-action="promote-current-page" href="#" title="Promote page on the web">Optimize SEO</a></li> @@ -62,22 +62,22 @@ </li> </ul> - <ul class="o_menu_systray hidden-xs"> + <ul class="o_menu_systray hidden-xs" groups="website.group_website_publisher"> <!-- Mobile preview --> <li class="o_mobile_preview"> <a data-action="show-mobile-preview" href="#"><span title="Mobile preview" class="fa fa-mobile"/></a> </li> <!-- Page Edition --> - <li groups="website.group_website_publisher,website.group_website_designer"> + <li> <a data-action="new_page" href="#" data-toggle="modal" data-target="#o_website_add_page_modal"><span class="fa fa-plus"/>New</a> </li> - <li t-if="not translatable" groups="website.group_website_publisher"> + <li t-if="not translatable"> <a data-action="edit" href="#"><span class="fa fa-pencil"/>Edit</a> </li> - <li t-if="translatable" groups="website.group_website_publisher"> + <li t-if="translatable"> <a data-action="translate" href="#">TRANSLATE</a> </li> - <li t-if="translatable" groups="website.group_website_publisher"> + <li t-if="translatable"> <a data-action="edit_master" href="#">or Edit Master</a> </li> </ul> @@ -86,7 +86,7 @@ <!-- Add new page/content modal --> <xpath expr="//div[@id='wrapwrap']" position="after"> - <div groups="base.group_user" class="modal" id="o_website_add_page_modal"> + <div groups="website.group_website_publisher" class="modal" id="o_website_add_page_modal"> <div class="modal-dialog modal-lg"> <ul> <li groups="website.group_website_designer"><a href="#" data-action="new_page"><i class="fa fa-file-o"/><p>New Page</p></a></li> diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 6f11b5be6e7..dcf2a6dc200 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -46,7 +46,6 @@ <script type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script> <script type="text/javascript" src="/website/static/src/js/website.snippets.gallery.js"></script> - </template> <!-- Layout --> @@ -130,14 +129,14 @@ <t t-call-assets="web.assets_common" t-js="false"/> <t t-call-assets="web.assets_frontend" t-js="false"/> - <t t-call-assets="web_editor.summernote" t-js="false" groups="website.group_website_designer"/> - <t t-call-assets="web_editor.assets_editor" t-js="false" groups="website.group_website_designer"/> + <t t-call-assets="web_editor.summernote" t-js="false" groups="website.group_website_publisher"/> + <t t-call-assets="web_editor.assets_editor" t-js="false" groups="website.group_website_publisher"/> <t t-call-assets="website.assets_editor" t-js="false" groups="website.group_website_publisher"/> <t t-call-assets="web.assets_common" t-css="false"/> <t t-call-assets="web.assets_frontend" t-css="false"/> - <t t-call-assets="web_editor.summernote" t-css="false" groups="website.group_website_designer"/> - <t t-call-assets="web_editor.assets_editor" t-css="false" groups="website.group_website_designer"/> + <t t-call-assets="web_editor.summernote" t-css="false" groups="website.group_website_publisher"/> + <t t-call-assets="web_editor.assets_editor" t-css="false" groups="website.group_website_publisher"/> <t t-call-assets="website.assets_editor" t-css="false" groups="website.group_website_publisher"/> </t> <t t-set="head" t-value="head_website + (head or '')"/> diff --git a/addons/website_blog/data/website_blog_data.xml b/addons/website_blog/data/website_blog_data.xml index bc6281503ca..142820f109b 100644 --- a/addons/website_blog/data/website_blog_data.xml +++ b/addons/website_blog/data/website_blog_data.xml @@ -16,6 +16,7 @@ <!-- Pre loaded covers --> <record id="blog_post_cover_01" model="ir.attachment"> + <field name="public" eval="True"/> <field name="name">Blog Post Cover 1</field> <field name="datas_fname">Blog Post Cover 1</field> <field name="res_model">ir.ui.view</field> @@ -24,6 +25,7 @@ </record> <record id="blog_post_cover_02" model="ir.attachment"> + <field name="public" eval="True"/> <field name="name">Blog Post Cover 2</field> <field name="datas_fname">Blog Post Cover 2</field> <field name="res_model">ir.ui.view</field> diff --git a/addons/website_blog/data/website_blog_demo.xml b/addons/website_blog/data/website_blog_demo.xml index 957a4daf66a..d76b9a8f0ba 100644 --- a/addons/website_blog/data/website_blog_demo.xml +++ b/addons/website_blog/data/website_blog_demo.xml @@ -19,7 +19,7 @@ <field name="published_date" eval="time.strftime('%Y-%m-%d %H:%M:%S')"/> <field name="website_meta_keywords">Odoo, email</field> <field name="website_meta_description">The Future of Emails</field> - <field name="cover_properties">{"background-image": "url(/web/image/website_blog.blog_post_cover_01)", "resize_class": "cover container cover_narrow"}</field> + <field name="cover_properties">{"background-image": "url(/web/image/website_blog.blog_post_cover_01)", "resize_class": "cover container cover_narrow", "background-color": "oe_black", "opacity": "0.0"}</field> <field name="content"><![CDATA[ <section class="s_text_block"> <div class="container"> @@ -133,7 +133,7 @@ <field name="website_published" eval="True"/> <field name="published_date" eval="time.strftime('%Y-%m-%d %H:%M:%S')"/> <field name="tag_ids" eval="[(6, 0, [ref('blog_tag_1'), ref('blog_tag_2')])]"/> - <field name="cover_properties">{"background-image": "url(/web/image/website_blog.blog_post_cover_02)", "resize_class": "cover container-fluid cover_full"}</field> + <field name="cover_properties">{"background-image": "url(/web/image/website_blog.blog_post_cover_02)", "resize_class": "cover container-fluid cover_full", "background-color": "oe_black", "opacity": "0.0"}</field> <field name="content"><![CDATA[ <section class="s_image_text"> <div class="container"> diff --git a/addons/website_blog/i18n/website_blog.pot b/addons/website_blog/i18n/website_blog.pot index a3b70419aa1..519d486736d 100644 --- a/addons/website_blog/i18n/website_blog.pot +++ b/addons/website_blog/i18n/website_blog.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-26 10:27+0000\n" -"PO-Revision-Date: 2016-08-26 10:27+0000\n" +"POT-Creation-Date: 2016-09-29 14:01+0000\n" +"PO-Revision-Date: 2016-09-29 14:01+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,6 +16,45 @@ msgstr "" "Plural-Forms: \n" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "\"Finally, the leading edge is being brought to the masses.\n" +" It will now be the turn of the big players to catch up to\n" +" the superior technologies of the SME.\"" +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "\"Odoo now competes on many fronts, with no real\n" +" competition out there to knock them off the top spot.\n" +" With the launch of their integrated CMS and Ecommerce\n" +" systems,it only elevates their position as one of the leading\n" +" lights in the open source revolution. It will be at least 5\n" +" years before another ERP or CMS provider will be able to\n" +" compete at this level due to the technology currently\n" +" employed by most industry providers.\"" +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "\"Odoo's latest launch will allow a business to go from\n" +" zero to trading online quicker than ever before,” Stuart\n" +" Mackintosh, MD of Open Source specialist and Odoo\n" +" integration partner, OpusVL, explains. “The investment\n" +" required to have a fully automated business system is\n" +" dramatically reduced, enabling the small and medium\n" +" enterprise to compete at a level of functionality and\n" +" performance previously reserved for the big IT investors.\"" +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "\"This is another clever and highly disruptive move by\n" +" Odoo,which will force other technology providers to\n" +" take another look at the value they are providing to ensure\n" +" that their 'solutions' can still compete.\"" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.blog_post_short msgid "&mdash;" msgstr "" @@ -64,6 +103,13 @@ msgid "<b>Write your story here.</b> Use the top toolbar to style your text: add msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "A mix of push & pull: Today, people\n" +" are victims of what others decide to push to them.\n" +" Odoo differentiates:" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.blog_post_template_new_post msgid "A new post" msgstr "" @@ -85,6 +131,11 @@ msgid "Active" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "Adding to industry leading technology" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.blog_blog_view_search #: model:ir.ui.view,arch_db:website_blog.view_blog_post_search msgid "Archived" @@ -96,6 +147,23 @@ msgid "Archives" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "As it comes, there is a default website based on Bootstrap\n" +" 3, the latest industry standard for rapid development of\n" +" multi-device websites backed by Twitter, so can be directly\n" +" integrated with many web tools and works across all devices\n" +" by default." +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "At Odoo, we build tools to bring productivity to\n" +" enterprises. As emails and information flows are one of\n" +" the biggest wastes of time in companies, we have to fix\n" +" this." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.blog_post_short msgid "Atom Feed" msgstr "" @@ -191,6 +259,11 @@ msgid "Blue" msgstr "" #. module: website_blog +#: model:blog.post,subtitle:website_blog.blog_post_2 +msgid "Building your company's website and selling your products online easy." +msgstr "" + +#. module: website_blog #. openerp-web #: code:addons/website_blog/static/src/js/website.tour.blog.js:29 #: model:ir.ui.view,arch_db:website_blog.website_blog @@ -214,7 +287,7 @@ msgstr "" #. module: website_blog #: model:ir.ui.view,arch_db:website_blog.blog_post_short -msgid "Click on \"Content\" on the top menu to write your first blog post." +msgid "Click on \"New Page\" in the top-right corner to write your first blog post." msgstr "" #. module: website_blog @@ -284,6 +357,19 @@ msgid "Email composition wizard for Survey" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Emails are broken." +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Emails make me waste my time. But I need them.\n" +" Given the importance that emails have in our lives,\n" +" it's incredible it's still one of the only software\n" +" areas that did not evolve in the past 20 years!" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "Filter Color" msgstr "" @@ -294,11 +380,39 @@ msgid "Filter Intensity" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Focus on the Content: Everything is\n" +" stripped to emphasize on the real message. No more\n" +" welcome introductions, greetings, signatures and legal\n" +" notes.We standardize the layout of each message.\n" +" (signatures are on the profile of a contact, not in\n" +" every message)" +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Folders and mailing lists are great tools but too\n" +" complex in traditional email clients. In Odoo, a\n" +" group of contacts that share a discussion can be\n" +" created with one click. Every group should have it's\n" +" own email address." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "Full Screen" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Get Things Done: your inbox is a\n" +" todo list. You should be able to process (not only\n" +" read) the inbox and easily mark messages for future\n" +" actions. Every inbox should be empty after having\n" +" been processed; no more overload of information." +msgstr "" + +#. module: website_blog #: model:blog.blog,subtitle:website_blog.blog_blog_1 msgid "Get in touch with us" msgstr "" @@ -314,11 +428,25 @@ msgid "Group By" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Here are the ideas behind the Odoo communication tools:" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "High" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "However, unlike other web content management systems, it\n" +" fully integrates into the back-end database. This means\n" +" that when you edit a product description, image or price,\n" +" it updates the product database in real time, providing a\n" +" true self-service window into the business." +msgstr "" + +#. module: website_blog #: model:ir.model.fields,field_description:website_blog.field_blog_blog_id #: model:ir.model.fields,field_description:website_blog.field_blog_post_id #: model:ir.model.fields,field_description:website_blog.field_blog_tag_id @@ -326,11 +454,29 @@ msgid "ID" msgstr "" #. module: website_blog +#: model:blog.post,subtitle:website_blog.blog_post_1 +msgid "Ideas behind the Odoo communication tools." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.latest_blogs msgid "In" msgstr "" #. module: website_blog +#: model:blog.post,name:website_blog.blog_post_2 +msgid "Integrating your CMS and E-Commerce" +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Keep control of what you want to receive or don't want\n" +" to receive. People should never receive spam. You\n" +" should follow/unfollow any kind of information in one\n" +" click." +msgstr "" + +#. module: website_blog #: model:ir.model.fields,field_description:website_blog.field_blog_post_write_uid #: model:ir.ui.view,arch_db:website_blog.view_blog_post_search msgid "Last Contributor" @@ -362,6 +508,13 @@ msgid "Latest Posts" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "Like many modern website editors, with Odoo you can edit\n" +" content in-line, enabling you to see exactly what you are\n" +" changing and ensure your changes suit the context." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "Low" msgstr "" @@ -377,6 +530,25 @@ msgid "Message" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Messages \"for action\": they\n" +" require your immediate attention and you need\n" +" to process them all. This accounts for 10%\n" +" of your daily emails. Use the \"To: me\" menu\n" +" for these." +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Messages \"for information\":\n" +" you can pull them when you need some specific\n" +" information; they are not required to be read\n" +" every day.You receive only what you decided\n" +" to follow.This accounts for 90% of your daily\n" +" emails.Use the \"Inbox\" menu for these." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "Mid screen" msgstr "" @@ -400,6 +572,11 @@ msgid "New Blog Post" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "New Features Launched" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.header_footer_custom msgid "News" msgstr "" @@ -430,6 +607,18 @@ msgid "None" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "Odoo claims to be 'the Open Source software that makes\n" +" building your company's website and selling your products\n" +" online easy'. So how true is this statement?" +msgstr "" + +#. module: website_blog +#: model:blog.post,website_meta_keywords:website_blog.blog_post_1 +msgid "Odoo, email" +msgstr "" + +#. module: website_blog #. openerp-web #: code:addons/website_blog/static/src/js/website.tour.blog.js:63 #, python-format @@ -457,7 +646,15 @@ msgid "Posts" msgstr "" #. module: website_blog -#: code:addons/website_blog/controllers/main.py:262 +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Productivity is key: our smart user\n" +" interface does not require you to click on every mail\n" +" to read a thread. Reading a full thread, replying,\n" +" attaching documents is super fast." +msgstr "" + +#. module: website_blog +#: code:addons/website_blog/controllers/main.py:263 #, python-format msgid "Public user cannot post comments on blog post." msgstr "" @@ -504,6 +701,18 @@ msgid "Read Next <span class=\"fa fa-long-arrow-right\"/>" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "Reading my inbox is the most unproductive task I do\n" +" on a daily basis. I have to spend one full hour a\n" +" day to process my emails. All the junk flows in the\n" +" same inbox; spams, information that doesn't matter,\n" +" quoted answers of quoted answers, etc. At the end\n" +" of the hour, only 10 emails actually requested an\n" +" answer from me. With a good tool, I could have done\n" +" my job in 10 minutes!" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.website_blog msgid "Red" msgstr "" @@ -534,7 +743,7 @@ msgstr "" #. module: website_blog #. openerp-web -#: code:addons/website_blog/models/website_blog.py:100 +#: code:addons/website_blog/models/website_blog.py:103 #: code:addons/website_blog/static/src/js/website.tour.blog.js:52 #, python-format msgid "Start writing here..." @@ -598,17 +807,48 @@ msgid "Technical" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "The Communication Mechanism of Odoo" +msgstr "" + +#. module: website_blog +#: model:blog.post,name:website_blog.blog_post_1 +#: model:blog.post,website_meta_description:website_blog.blog_post_1 +msgid "The Future of Emails" +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.latest_blogs msgid "This page is great to improve your <strong>Search Engine Optimization</strong>;\n" " You can review titles, keywords and descriptions of all blogs at once." msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "This provides a single source of data for your company and\n" +" removes the need to create offline synchronisation between\n" +" website and product database." +msgstr "" + +#. module: website_blog #: model:ir.model.fields,field_description:website_blog.field_blog_post_name msgid "Title" msgstr "" #. module: website_blog +#: model:blog.post,content:website_blog.blog_post_2 +msgid "To add to an already comprehensive set of Odoo\n" +" features, a website content management system (CMS or WMS) has been developed and a beta release is\n" +" available from today, 31st January 2014." +msgstr "" + +#. module: website_blog +#: model:blog.post,content:website_blog.blog_post_1 +msgid "To disrupt emails, you need more than just another user\n" +" interface. We need to rethink the whole communication flow." +msgstr "" + +#. module: website_blog #: model:ir.ui.view,arch_db:website_blog.opt_blog_rc_status msgid "Unpublished" msgstr "" @@ -638,12 +878,6 @@ msgid "Used to display messages in a paragraph-based chatter using a unique path msgstr "" #. module: website_blog -#: code:addons/website_blog/models/website_blog.py:212 -#, python-format -msgid "View Blog Post" -msgstr "" - -#. module: website_blog #: model:ir.model,name:website_blog.model_website msgid "Website" msgstr "" diff --git a/addons/website_blog/models/website_blog.py b/addons/website_blog/models/website_blog.py index 8b040f57cd3..63911cf92ff 100644 --- a/addons/website_blog/models/website_blog.py +++ b/addons/website_blog/models/website_blog.py @@ -197,9 +197,11 @@ class BlogPost(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the post on the website directly """ + """ Instead of the classic form view, redirect to the post on website + directly if user is an employee or if the post is published. """ self.ensure_one() + if self.env.user.share and not self.sudo().website_published: + return super(BlogPost, self).get_access_action() return { 'type': 'ir.actions.act_url', 'url': '/blog/%s/post/%s' % (self.blog_id.id, self.id), @@ -208,15 +210,13 @@ class BlogPost(models.Model): } @api.multi - def _notification_get_recipient_groups(self, message, recipients): - """ Override to set the access button: everyone can see an access button - on their notification email. It will lead on the website view of the - post. """ - res = super(BlogPost, self)._notification_get_recipient_groups(message, recipients) - access_action = self._notification_link_helper('view', model=message.model, res_id=message.res_id) - for category, data in res.iteritems(): - res[category]['button_access'] = {'url': access_action, 'title': _('View Blog Post')} - return res + def _notification_recipients(self, message, groups): + groups = super(BlogPost, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups @api.multi def message_get_message_notify_values(self, message, message_values): diff --git a/addons/website_blog/static/src/js/website_blog.editor.js b/addons/website_blog/static/src/js/website_blog.editor.js index 7bd025439ae..f155f25b71b 100644 --- a/addons/website_blog/static/src/js/website_blog.editor.js +++ b/addons/website_blog/static/src/js/website_blog.editor.js @@ -55,7 +55,7 @@ odoo.define('website_blog.editor', function (require) { return ajax.jsonRpc("/blog/post_change_background", 'call', { 'post_id' : parseInt($el.closest("[name=\"blog_post\"], .website_blog").find("[data-oe-model=\"blog.post\"]").first().data("oe-id"), 10), 'cover_properties' : { - "background-image": $el.children(".o_blog_cover_image").css("background-image").replace(/"/g, ''), + "background-image": $el.children(".o_blog_cover_image").css("background-image").replace(/"/g, '').replace(location.protocol + "//" + location.host, ''), "background-color": $el.data("filter_color"), "opacity": $el.data("filter_value"), "resize_class": $el.data("cover_class"), @@ -89,6 +89,13 @@ odoo.define('website_blog.editor', function (require) { this.$image = this.$target.children(".o_blog_cover_image"); this.$filter = this.$target.children(".o_blog_cover_filter"); + + this.$filter_value_options = this.$el.find('li[data-filter_value]'); + this.$filter_color_options = this.$el.find('li[data-filter_color]'); + + this.filter_color_classes = this.$filter_color_options.map(function () { + return $(this).data("filter_color"); + }).get().join(" "); }, clear: function (type, value, $li) { if (type !== 'click') return; @@ -103,7 +110,7 @@ odoo.define('website_blog.editor', function (require) { var $image = $("<img/>", {src: this.$image.css("background-image")}); var editor = new widget.MediaDialog(null, {only_images: true}, $image, $image[0]).open(); - editor.on("saved", this, function (event, img) { + editor.on("save", this, function (event, img) { var src = $image.attr("src"); this.$image.css("background-image", src ? ("url(" + src + ")") : ""); if (!this.$target.hasClass("cover")) { @@ -119,30 +126,40 @@ odoo.define('website_blog.editor', function (require) { this.$target.addClass('o_dirty'); }, filter_color: function (type, value, $li) { - var $lis = this.$el.find("[data-filter_color]").addBack("[data-filter_color]"); - var classes = $lis.map(function () {return $(this).data("filter_color");}).get().join(" "); - this.$filter.removeClass(classes); + this.$filter.removeClass(this.filter_color_classes); if (value) { this.$filter.addClass(value); } this.$target.addClass("o_dirty"); + + var $first_visible_filter_option = this.$filter_value_options.eq(1); + if (parseFloat(this.$filter.css('opacity')) < parseFloat($first_visible_filter_option.data("filter_value"))) { + this.filter_value(type, $first_visible_filter_option.data("filter_value"), $first_visible_filter_option); + } }, set_active: function () { this._super.apply(this, arguments); var self = this; this.$el.filter(":not([data-change])").toggleClass("hidden", !this.$target.hasClass("cover")); + this.$el.filter("li:has(li[data-select_class])").toggleClass("hidden", this.$target.hasClass("o_list_cover")); + + this.$filter_value_options.removeClass("active"); + this.$filter_color_options.removeClass("active"); + + var active_filter_value = this.$filter_value_options + .filter(function () { + return (parseFloat($(this).data('filter_value')).toFixed(1) === parseFloat(self.$filter.css('opacity')).toFixed(1)); + }).addClass("active").data("filter_value"); - var $actives = this.$el.find('li[data-filter_value], li[data-filter_color]').removeClass("active") + var active_filter_color = this.$filter_color_options .filter(function () { - var data = $(this).data(); - return (parseFloat(data.filter_value).toFixed(1) === parseFloat(self.$filter.css('opacity')).toFixed(1) - || self.$filter.hasClass(data.filter_color)); - }).addClass("active"); + return self.$filter.hasClass($(this).data("filter_color")); + }).addClass("active").data("filter_color"); this.$target.data("cover_class", this.$el.find(".active[data-select_class]").data("select_class") || ""); - this.$target.data("filter_value", $actives.filter("[data-filter_value]").data("filter_value") || 0.0); - this.$target.data("filter_color", $actives.filter("[data-filter_color]").data("filter_color") || ""); + this.$target.data("filter_value", active_filter_value || 0.0); + this.$target.data("filter_color", active_filter_color || ""); }, }); }); diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index 93c97a9c8ac..5e8696b05eb 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -124,12 +124,12 @@ <div class="col-md-8 col-md-offset-2" t-ignore="True" id="main_column"> <div t-if="not blog_posts" class="container mb64"> - <p class="css_editable_hidden"> - <h1>No blog post yet.</h1> - </p> + <p class="css_editable_hidden"> + <h1>No blog post yet.</h1> + </p> <p groups="website.group_website_designer"> - Click on "Content" on the top menu to write your first blog post. - </p> + Click on "New Page" in the top-right corner to write your first blog post. + </p> </div> <div t-foreach="blog_posts" t-as="blog_post" class="mb32" name="blog_post"> @@ -261,6 +261,20 @@ <a class="fa fa-linkedin-square o_linkedin_complete" id="o_linkedin_complete"></a> <a class="fa fa-google-plus-square o_google_complete" id="o_google_complete"></a> </div> + <t t-set='head'> + <t t-raw='head or ""'/> + <!-- Facebook and linkedin sharing data --> + <meta property="og:type" content="website" /> + <meta property="og:url" t-att-content="request.httprequest.url" /> + <meta property="og:image" t-attf-content="#{request.httprequest.url_root+blog_post_cover_properties.get('background-image', 'none')[5:-1]}"/> + <meta property="og:description" t-att-content="blog_post.subtitle" /> + <!-- Twitter sharing data --> + <meta name="twitter:card" content="summary_large_image" /> + <meta name="twitter:site" t-attf-content="@#{res_company.name}" /> + <meta name="twitter:title" t-att-content="blog_post.name" /> + <meta name="twitter:description" t-att-content="blog_post.subtitle" /> + <meta name="twitter:image" t-attf-content="#{request.httprequest.url_root+blog_post_cover_properties.get('background-image', 'none')[5:-1]}" /> + </t> </t> </template> diff --git a/addons/website_event/data/website_event_demo.xml b/addons/website_event/data/website_event_demo.xml index fcb013f84d2..d736baf6f1a 100644 --- a/addons/website_event/data/website_event_demo.xml +++ b/addons/website_event/data/website_event_demo.xml @@ -9,23 +9,16 @@ <field name="website_published">True</field> <field name="twitter_hashtag">odoo</field> <field name="description"><![CDATA[ -<div class="carousel slide oe_small mb16" data-interval="10000" id="myCarousel3"> - <div class="carousel-inner"> - <div class="item oe_img_bg active" style="background-image: url(/web/image/website.s_background_image_12);"> - <div class="container"> - <div class="row content"> - <div class="carousel-img hidden-sm hidden-xs mb48 col-md-5 col-md-offset-1 mt16"> - <img alt="Banner Odoo Image" class="img-responsive" src="/website/static/src/img/library/banner_picture.png" style=""/> - </div> - <div class="carousel-content col-sm-12 col-md-5 mt32" style="text-align: center; color: white;"> - <h2>3 Intensive Days</h2> - <h4>to learn Odoo Programming</h4> - </div> - </div> - </div> - </div> - </div> -</div> +<section class="s_text_block_image_fw oe_img_bg" style="background-position: 50% 100%; background-image: url(/web/image/website.s_background_image_02);"> + <div class="container"> + <div class="row"> + <div class="bg-black-25 col-md-9 mb64 mt64"> + <h2 style="font-size:62px">5 Intensive Days</h2> + <h4 class="text-muted"><font style="color: rgb(255, 255, 255); font-size: 24px;">to learn <i>Odoo Programming</i></font></h4> + </div> + </div> + </div> +</section> <div class="container"> <div class="row"> @@ -175,24 +168,16 @@ <field name="website_published">True</field> <field name="twitter_hashtag">odoo</field> <field name="description"><![CDATA[ -<div class="carousel slide oe_small mb16" data-interval="10000" id="myCarousel3"> - <div class="carousel-inner"> - <div class="item oe_img_bg active" style="background-image: url(/web/image/website.s_background_image_12);"> - <div class="container"> - <div class="row content"> - <div class="carousel-img hidden-sm hidden-xs mb48 col-md-5 col-md-offset-1 mt16"> - <img alt="Banner Odoo Image" class="img-responsive" src="/website/static/src/img/library/banner_picture.png" style=""/> - </div> - <div class="carousel-content col-sm-12 col-md-5 mt32" style="text-align: center; color: white;"> - <h2>5 Intensive Days</h2> - <h4>to learn technical aspects</h4> - </div> - </div> - </div> - </div> - </div> -</div> - +<section class="s_text_block_image_fw oe_img_bg" style="background-position: 50% 100%; background-image: url(/web/image/website.s_background_image_01);"> + <div class="container"> + <div class="row"> + <div class="bg-black-25 col-md-9 mb64 mt64"> + <h2 style="font-size:62px">5 Intensive Days</h2> + <h4 class="text-muted"><font style="color: rgb(255, 255, 255); font-size: 24px;">to learn <i>technical aspects</i></font></h4> + </div> + </div> + </div> +</section> <div class="container"> <div class="row"> <div class="col-md-12 text-center mb8 mt0"> @@ -353,24 +338,16 @@ <field name="website_published">True</field> <field name="twitter_hashtag">odoo</field> <field name="description"><![CDATA[ -<div class="carousel slide oe_small mb16" data-interval="10000" id="myCarousel3"> - <div class="carousel-inner"> - <div class="item oe_img_bg active" style="background-image: url(/web/image/website.s_background_image_12);"> - <div class="container"> - <div class="row content"> - <div class="carousel-img hidden-sm hidden-xs mb48 col-md-5 col-md-offset-1 mt16"> - <img alt="Banner Odoo Image" class="img-responsive" src="/website/static/src/img/library/banner_picture.png" style=""/> - </div> - <div class="carousel-content col-sm-12 col-md-5 mt32" style="text-align: center; color: white;"> - <h2>5 Intensive Days</h2> - <h4>to learn <i>business applications development</i></h4> - </div> - </div> +<section class="s_text_block_image_fw oe_img_bg oe_custom_bg" style="background-image: url(/web/image/website.s_cover_default_image); background-position: 50% 100%"> + <div class="container"> + <div class="row"> + <div class="mt64 mb64 bg-black-25 col-md-9"> + <h2 style="font-size:62px">5 Intensive Days</h2> + <h4 class="text-muted"><font style="font-size: 24px;">to learn <i>business applications development</i></font></h4> </div> </div> </div> -</div> - +</section> <div class="container"> <div class="row"> <div class="col-md-12 text-center mb8 mt0"> diff --git a/addons/website_event/i18n/website_event.pot b/addons/website_event/i18n/website_event.pot index f4db50673cd..cd98c6686be 100644 --- a/addons/website_event/i18n/website_event.pot +++ b/addons/website_event/i18n/website_event.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-26 10:27+0000\n" -"PO-Revision-Date: 2016-08-26 10:27+0000\n" +"POT-Creation-Date: 2016-09-29 14:01+0000\n" +"PO-Revision-Date: 2016-09-29 14:01+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,6 +16,11 @@ msgstr "" "Plural-Forms: \n" #. module: website_event +#: model:ir.ui.view,arch_db:website_event.registration_attendee_details +msgid "(Free)" +msgstr "" + +#. module: website_event #: model:ir.ui.view,arch_db:website_event.country_events_list msgid "<b>Upcoming Events</b>" msgstr "" @@ -88,6 +93,11 @@ msgid "<strong>Phone</strong> <span class=\"text-muted\">(Optional)</span>" msgstr "" #. module: website_event +#: model:ir.ui.view,arch_db:website_event.event_description_full +msgid "<strong>Use this tag:</strong>" +msgstr "" + +#. module: website_event #: code:addons/website_event/controllers/main.py:96 #, python-format msgid "All Categories" @@ -271,7 +281,6 @@ msgid "Find out what people see and say about this event,\n" msgstr "" #. module: website_event -#: model:ir.ui.view,arch_db:website_event.registration_attendee_details #: model:ir.ui.view,arch_db:website_event.registration_template msgid "Free" msgstr "" @@ -305,7 +314,7 @@ msgstr "" #. module: website_event #. openerp-web -#: code:addons/website_event/controllers/main.py:184 +#: code:addons/website_event/controllers/main.py:182 #: code:addons/website_event/static/src/js/website_event.editor.js:14 #: model:ir.ui.view,arch_db:website_event.content_new_event #, python-format @@ -484,11 +493,6 @@ msgid "Use the top menu <i>'Content'</i> to create your first event." msgstr "" #. module: website_event -#: model:ir.ui.view,arch_db:website_event.event_description_full -msgid "Use this tag:" -msgstr "" - -#. module: website_event #: model:ir.model.fields,field_description:website_event.field_event_event_website_published msgid "Visible in Website" msgstr "" diff --git a/addons/website_event/security/website_event_security.xml b/addons/website_event/security/website_event_security.xml index 9b735d34a95..a30ce1f6c42 100644 --- a/addons/website_event/security/website_event_security.xml +++ b/addons/website_event/security/website_event_security.xml @@ -10,4 +10,8 @@ <field name="perm_create" eval="False"/> <field name="perm_unlink" eval="False"/> </record> + + <record id="event.group_event_manager" model="res.groups"> + <field name="implied_ids" eval="[(4, ref('website.group_website_publisher'))]"/> + </record> </odoo> diff --git a/addons/website_event/views/website_event_templates.xml b/addons/website_event/views/website_event_templates.xml index da8dbf842ef..b205a3a58b0 100644 --- a/addons/website_event/views/website_event_templates.xml +++ b/addons/website_event/views/website_event_templates.xml @@ -47,10 +47,8 @@ <div class="row mt32 mb32"> <div class="col-md-9" id="middle_column"> <div class="text-center text-muted" t-if="not event_ids"> - <h1>No event found</h1> - <t groups="website.group_website_publisher"> - <p groups="event.group_event_manager">Use the top menu <i>'Content'</i> to create your first event.</p> - </t> + <h1>No event found</h1> + <p groups="event.group_event_manager">Use the top menu <i>'Content'</i> to create your first event.</p> </div> <ul class="media-list"> <li t-foreach="event_ids" t-as="event" class="media"> @@ -381,12 +379,27 @@ Find out what people see and say about this event, and join the conversation. </p> - <p><strong>Use this tag: + <p> + <strong>Use this tag:</strong> <a t-att-href="'http://twitter.com/search?q=%23'+event.twitter_hashtag" target="_blank" class="label label-primary">#<span t-field="event.twitter_hashtag"/></a> - </strong></p> + </p> </div> </div> </div> + + <t t-set="head"> + <t t-raw='head'/> + <!-- Facebook and linkedin sharing data --> + <meta property="og:type" content="website" /> + <meta property="og:url" t-att-content="request.httprequest.url" /> + <meta property="og:description" t-attf-content="#{event.date_begin}" /> + <meta property="og:image" t-attf-content="#{request.httprequest.url_root}logo.png" /> + <!-- Twitter sharing data --> + <meta name="twitter:card" content="summary" /> + <meta name="twitter:site" t-attf-content="@#{res_company.name}" /> + <meta name="twitter:title" t-att-content="event.name" /> + <meta name="twitter:description" t-att-content="event.date_begin" /> + </t> </div> </t> </template> diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 25b27c69ca2..de23a9b4b67 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -2,8 +2,13 @@ odoo.define('website_event_sale.tour', function (require) { 'use strict'; var tour = require('web_tour.tour'); +var base = require("web_editor.base"); -tour.register('event_buy_tickets', { test: true, url: '/event' }, +tour.register('event_buy_tickets', { + test: true, + url: '/event', + wait_for: base.ready() +}, [ { content: "Go to the `Events` page", diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py index c0ba000518a..c286bfcdfb8 100644 --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@ -780,8 +780,7 @@ class Post(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the post on the website directly """ + """ Instead of the classic form view, redirect to the post on the website directly """ self.ensure_one() return { 'type': 'ir.actions.act_url', @@ -791,15 +790,13 @@ class Post(models.Model): } @api.multi - def _notification_get_recipient_groups(self, message, recipients): - """ Override to set the access button: everyone can see an access button - on their notification email. It will lead on the website view of the - post. """ - res = super(Post, self)._notification_get_recipient_groups(message, recipients) - access_action = self._notification_link_helper('view', model=message.model, res_id=message.res_id) - for category, data in res.iteritems(): - res[category]['button_access'] = {'url': access_action, 'title': '%s %s' % (_('View'), self.post_type)} - return res + def _notification_recipients(self, message, groups): + groups = super(Post, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups @api.multi def message_post(self, message_type='notification', subtype=None, **kwargs): diff --git a/addons/website_forum/static/src/js/website_forum.js b/addons/website_forum/static/src/js/website_forum.js index 4b4d704e633..60073ffd70a 100644 --- a/addons/website_forum/static/src/js/website_forum.js +++ b/addons/website_forum/static/src/js/website_forum.js @@ -138,6 +138,25 @@ if(!$('.website_forum').length) { }); }); + $('.o_js_validation_queue a').on('click', function (ev) { + ev.preventDefault(); + var $link = $(ev.currentTarget); + var self = $(this); + $(this).parents('.post_to_validate').hide(); + $.get($link.attr('href')) + .fail(function() { + self.parents('.o_js_validation_queue > div').addClass('panel-danger').css('background-color', '#FAA'); + self.parents('.post_to_validate').show(); + }) + .done(function() { + var left = $('.o_js_validation_queue:visible').length; + var type = $('h2.page-header li.active a').data('type'); + $('#count_post').text(left); + $('#moderation_tools a[href*="/'+type+'_"]').find('strong').text(left); + }); + + }); + $('.accept_answer').not('.karma_required').on('click', function (ev) { ev.preventDefault(); var $link = $(ev.currentTarget); diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index f45b5cd0c04..3ee039d4220 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -740,8 +740,8 @@ <meta name="twitter:site" t-attf-content="@#{res_company.name}" /> <meta name="twitter:title" t-att-content="question.name" /> <meta name="twitter:description" t-att-content="question.content" /> - <meta name="twitter:image" t-attf-content="#{request.httprequest.url_root}forum/user/#{question.create_uid.id}/avatar"/> - </t> + <meta name="twitter:image" t-attf-content="#{request.httprequest.url_root}forum/user/#{question.create_uid.id}/avatar"/> + </t> <t t-call="website_forum.header"> <div class="alert alert-info text-center" role="alert" t-if="forum and question.state == 'pending' and user.karma>=forum.karma_moderate and question.active"> <a t-attf-href="/forum/#{slug(forum)}/post/#{slug(question)}/validate" type="button" class="btn btn-success">Accept <i class="fa fa-check"/></a> @@ -1165,7 +1165,7 @@ <t t-call="website_forum.header"> <h2 class="page-header mt0"> <t t-set="count_posts" t-value="len(posts_ids)"/> - <t t-esc="count_posts"/> + <span id='count_post' t-esc="count_posts"/> <span class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <t t-if="queue_type == 'validation'"> Pending</t> @@ -1175,13 +1175,13 @@ </a> <ul class="dropdown-menu"> <li t-att-class="queue_type == 'validation' and 'active' or None "> - <a t-attf-href="/forum/#{slug(forum)}/validation_queue">Pending</a> + <a data-type='validation' t-attf-href="/forum/#{slug(forum)}/validation_queue">Pending</a> </li> <li t-att-class="queue_type == 'flagged' and 'active' or None "> - <a t-attf-href="/forum/#{slug(forum)}/flagged_queue">Flagged</a> + <a data-type='flagged' t-attf-href="/forum/#{slug(forum)}/flagged_queue">Flagged</a> </li> <li t-if="uid" t-att-class="queue_type == 'offensive' and 'active' or None "> - <a t-attf-href="/forum/#{slug(forum)}/offensive_posts">Offensive</a> + <a data-type='offensive' t-attf-href="/forum/#{slug(forum)}/offensive_posts">Offensive</a> </li> </ul> </span> @@ -1191,8 +1191,8 @@ <t t-if="queue_type == 'flagged'">The flagged queue is empty.</t> <t t-if="queue_type == 'offensive'">The offensive queue is empty.</t> </div> - <div t-foreach="posts_ids" t-as="question" class="mb16 row" style="padding-bottom:16px;border-bottom:1px solid #e7e7e7;"> - <div class="col-sm-2"> + <div t-foreach="posts_ids" t-as="question" class="mb16 row post_to_validate" style="padding-bottom:16px;border-bottom:1px solid #e7e7e7;"> + <div class="col-sm-2 o_js_validation_queue"> <div class="panel panel-default text-center" style="background-color:#eee;margin:0;padding:5px 12px 5px 12px;"> <a t-attf-href="/forum/#{slug(forum)}/post/#{slug(question)}/validate" style="padding-right:8px;"><i class="fa fa-check fa-2x"/></a> <a t-if="queue_type == 'validation'" t-attf-href="/forum/#{slug(forum)}/post/#{slug(question)}/refuse"><i class="fa fa-times fa-2x"/></a> @@ -1337,7 +1337,7 @@ <h1 class="mt0 page-header"> <span t-field="user.name"/> <small>profile</small> - <t t-call="website.publish_management" groups="website.group_website_publisher"> + <t t-call="website.publish_management"> <t t-set="object" t-value="user"/> <t t-set="publish_edit" t-value="True"/> </t> @@ -1515,7 +1515,7 @@ <!-- User Navbar --> <template id="content_new_forum" inherit_id="website.user_navbar"> <xpath expr="//div[@id='o_website_add_page_modal']//ul" position="inside"> - <li groups="base.group_user"><a href="#" data-action="new_forum"><i class="fa fa-comment"/><p>New Forum</p></a></li> + <li groups="website.group_website_designer"><a href="#" data-action="new_forum"><i class="fa fa-comment"/><p>New Forum</p></a></li> </xpath> </template> diff --git a/addons/website_hr_recruitment/security/website_hr_recruitment_security.xml b/addons/website_hr_recruitment/security/website_hr_recruitment_security.xml index 0fb6adfcd20..61fddcd5b3c 100644 --- a/addons/website_hr_recruitment/security/website_hr_recruitment_security.xml +++ b/addons/website_hr_recruitment/security/website_hr_recruitment_security.xml @@ -41,5 +41,9 @@ <field name="perm_create" eval="False"/> <field name="perm_unlink" eval="False"/> </record> + + <record id="hr_recruitment.group_hr_recruitment_manager" model="res.groups"> + <field name="implied_ids" eval="[(4, ref('website.group_website_publisher'))]"/> + </record> </data> -</odoo>
\ No newline at end of file +</odoo> diff --git a/addons/website_hr_recruitment/views/website_hr_recruitment_templates.xml b/addons/website_hr_recruitment/views/website_hr_recruitment_templates.xml index d47473ed85b..b07f36d8ce7 100644 --- a/addons/website_hr_recruitment/views/website_hr_recruitment_templates.xml +++ b/addons/website_hr_recruitment/views/website_hr_recruitment_templates.xml @@ -38,12 +38,10 @@ <div class="col-md-12" id="jobs_grid"> <div t-if="not jobs"> <div class="text-center text-muted"> - <h3 class="css_editable_hidden"><a t-attf-href="/page/website.contactus">Contact us</a> for job opportunities.</h3> - <t groups="website.group_website_publisher"> + <h3 class="css_editable_hidden"><a t-attf-href="/page/website.contactus">Contact us</a> for job opportunities.</h3> <h4 groups="hr_recruitment.group_hr_recruitment_manager"> Create new job pages from the <strong><i>+New</i></strong> top-right button. </h4> - </t> </div> </div> <ul class="media-list" t-if="jobs"> diff --git a/addons/website_mail_channel/views/website_mail_channel_templates.xml b/addons/website_mail_channel/views/website_mail_channel_templates.xml index 853ab99de9e..5ed8a25e9d6 100644 --- a/addons/website_mail_channel/views/website_mail_channel_templates.xml +++ b/addons/website_mail_channel/views/website_mail_channel_templates.xml @@ -7,18 +7,19 @@ </xpath> </template> -<template id="head" inherit_id="website.assets_frontend" name="Mail Group Snippet"> - <xpath expr="/t" position="inside"> +<template id="assets_frontend" inherit_id="website.assets_frontend"> + <xpath expr="//link[last()]" position="after"> <link rel="stylesheet" href="/website_mail_channel/static/src/css/website_mail_channel.css"/> + </xpath> + <xpath expr="//script[last()]" position="after"> <script type="text/javascript" src="/website_mail_channel/static/src/js/website_mail_channel.js"/> - - <script type="text/javascript" src="/website_mail_channel/static/src/js/website_mail_channel.snippet.js"></script> + <script type="text/javascript" src="/website_mail_channel/static/src/js/website_mail_channel.snippet.js"/> </xpath> </template> -<template id="editor" inherit_id="website.assets_editor" name="Mail Group Editor"> - <xpath expr="/t" position="inside"> - <script type="text/javascript" src="/website_mail_channel/static/src/js/website_mail_channel.editor.js" groups="website.group_website_publisher"></script> +<template id="assets_editor" inherit_id="website.assets_editor"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_mail_channel/static/src/js/website_mail_channel.editor.js"/> </xpath> </template> diff --git a/addons/website_mass_mailing/views/website_mass_mailing_templates.xml b/addons/website_mass_mailing/views/website_mass_mailing_templates.xml index 4f633b8303f..52dae5c3068 100644 --- a/addons/website_mass_mailing/views/website_mass_mailing_templates.xml +++ b/addons/website_mass_mailing/views/website_mass_mailing_templates.xml @@ -1,16 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> -<template id="assets_frontend" inherit_id="website.assets_frontend" name="Mail Frontend Assets"> - <xpath expr="." position="inside"> - <script type="text/javascript" src="/website_mass_mailing/static/src/js/website_mass_mailing.js"/> +<template id="assets_frontend" inherit_id="website.assets_frontend"> + <xpath expr="//link[last()]" position="after"> <link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_popup.css" type="text/css"/> </xpath> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_mass_mailing/static/src/js/website_mass_mailing.js"/> + </xpath> </template> -<template id="assets_editor" inherit_id="website.assets_editor" name="wesbite_mass_mailing Editor assets"> - <xpath expr="/t" position="inside"> - <script type="text/javascript" src="/website_mass_mailing/static/src/js/website_mass_mailing.editor.js" groups="website.group_website_publisher"/> +<template id="assets_editor" inherit_id="website.assets_editor"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_mass_mailing/static/src/js/website_mass_mailing.editor.js"/> </xpath> </template> diff --git a/addons/website_partner/views/website_partner_templates.xml b/addons/website_partner/views/website_partner_templates.xml index a7ee2150428..91179c77745 100644 --- a/addons/website_partner/views/website_partner_templates.xml +++ b/addons/website_partner/views/website_partner_templates.xml @@ -12,7 +12,7 @@ <div class="oe_structure"/> </div> </t> -</template> +</template> <template id="partner_detail" name="Partner Details"> <t t-call="website.publish_management"> @@ -41,4 +41,4 @@ <t t-raw="right_column or ''"/> </div> </template> -</odoo>
\ No newline at end of file +</odoo> diff --git a/addons/website_portal/controllers/main.py b/addons/website_portal/controllers/main.py index 6477e1ef53d..a39a7ed6114 100644 --- a/addons/website_portal/controllers/main.py +++ b/addons/website_portal/controllers/main.py @@ -11,8 +11,8 @@ from odoo.fields import Date class website_account(http.Controller): - MANDATORY_BILLING_FIELDS = ["name", "phone", "email", "street2", "city", "country_id"] - OPTIONAL_BILLING_FIELDS = ["zipcode", "state_id", "vat", "street"] + MANDATORY_BILLING_FIELDS = ["name", "phone", "email", "street", "city", "country_id"] + OPTIONAL_BILLING_FIELDS = ["zipcode", "state_id", "vat", "company_name"] _items_per_page = 20 @@ -57,7 +57,7 @@ class website_account(http.Controller): @http.route(['/my/account'], type='http', auth='user', website=True) def details(self, redirect=None, **post): - partner = request.env['res.users'].browse(request.uid).partner_id + partner = request.env.user.partner_id values = { 'error': {}, 'error_message': [] @@ -68,7 +68,8 @@ class website_account(http.Controller): values.update({'error': error, 'error_message': error_message}) values.update(post) if not error: - values = {key: post[key] for key in self.MANDATORY_BILLING_FIELDS + self.OPTIONAL_BILLING_FIELDS} + values = {key: post[key] for key in self.MANDATORY_BILLING_FIELDS} + values.update({key: post[key] for key in self.OPTIONAL_BILLING_FIELDS if key in post}) values.update({'zip': values.pop('zipcode', '')}) partner.sudo().write(values) if redirect: diff --git a/addons/website_portal/views/website_portal_templates.xml b/addons/website_portal/views/website_portal_templates.xml index 09a0c7e4f35..ca312b6814a 100644 --- a/addons/website_portal/views/website_portal_templates.xml +++ b/addons/website_portal/views/website_portal_templates.xml @@ -132,9 +132,9 @@ </div> <div class="clearfix" /> - <div t-attf-class="form-group #{error.get('street') and 'has-error' or ''} col-lg-6"> - <label class="control-label label-optional" for="street">Company Name</label> - <input type="text" name="street" class="form-control" t-att-value="street or partner.street"/> + <div t-attf-class="form-group #{error.get('company_name') and 'has-error' or ''} col-lg-6"> + <label class="control-label label-optional" for="company_name">Company Name</label> + <input type="text" name="company_name" class="form-control" t-att-value="company_name or partner.company_name"/> </div> <div t-if="has_check_vat" t-attf-class="form-group #{error.get('vat') and 'has-error' or ''} col-lg-6"> <label class="control-label label-optional" for="vat">VAT Number</label> @@ -143,8 +143,8 @@ <div class="clearfix" /> <div t-attf-class="form-group #{error.get('street') and 'has-error' or ''} col-lg-6"> - <label class="control-label" for="street">Street</label> - <input type="text" name="street2" class="form-control" t-att-value="street2 or partner.street2" /> + <label class="control-label label-optional" for="street">Street</label> + <input type="text" name="street" class="form-control" t-att-value="street or partner.street"/> </div> <div t-attf-class="form-group #{error.get('city') and 'has-error' or ''} col-lg-6"> <label class="control-label" for="city">City</label> diff --git a/addons/website_portal_sale/i18n/website_portal_sale.pot b/addons/website_portal_sale/i18n/website_portal_sale.pot index 23bfa4d1985..36b2447f99f 100644 --- a/addons/website_portal_sale/i18n/website_portal_sale.pot +++ b/addons/website_portal_sale/i18n/website_portal_sale.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:11+0000\n" -"PO-Revision-Date: 2016-09-05 14:11+0000\n" +"POT-Creation-Date: 2016-09-29 14:01+0000\n" +"PO-Revision-Date: 2016-09-29 14:01+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -139,6 +139,11 @@ msgid "Due Date" msgstr "" #. module: website_portal_sale +#: model:ir.model,name:website_portal_sale.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: website_portal_sale #: model:ir.ui.view,arch_db:website_portal_sale.portal_my_invoices msgid "Invoice #" msgstr "" diff --git a/addons/website_portal_sale/models/__init__.py b/addons/website_portal_sale/models/__init__.py index 97f7899573c..501e7457bdb 100644 --- a/addons/website_portal_sale/models/__init__.py +++ b/addons/website_portal_sale/models/__init__.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +import account_invoice import sale_order import payment diff --git a/addons/website_portal_sale/models/account_invoice.py b/addons/website_portal_sale/models/account_invoice.py new file mode 100644 index 00000000000..c16e8c3492d --- /dev/null +++ b/addons/website_portal_sale/models/account_invoice.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, exceptions, models + + +class AccountInvoice(models.Model): + _inherit = 'account.invoice' + + @api.multi + def _notification_recipients(self, message, groups): + groups = super(AccountInvoice, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups + + @api.multi + def get_access_action(self): + """ Instead of the classic form view, redirect to the online invoice for portal users. """ + self.ensure_one() + if self.env.user.share: + try: + self.check_access_rule('read') + except exceptions.AccessError: + pass + else: + return { + 'type': 'ir.actions.act_url', + 'url': '/my/invoices', # No controller /my/invoices/<int>, only a report pdf + 'target': 'self', + 'res_id': self.id, + } + return super(AccountInvoice, self).get_access_action() diff --git a/addons/website_portal_sale/models/sale_order.py b/addons/website_portal_sale/models/sale_order.py index e2b83c9287c..2602592c787 100644 --- a/addons/website_portal_sale/models/sale_order.py +++ b/addons/website_portal_sale/models/sale_order.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +from odoo import api, exceptions, models class SaleOrder(models.Model): @@ -10,17 +10,36 @@ class SaleOrder(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the online quote if exists. """ + """ Instead of the classic form view, redirect to the online quote for + portal users that have access to a confirmed order. """ + # TDE note: read access on sale order to portal users granted to followed sale orders self.ensure_one() if self.state in ['draft', 'cancel']: return super(SaleOrder, self).get_access_action() - return { - 'type': 'ir.actions.act_url', - 'url': '/my/orders/%s' % self.id, - 'target': 'self', - 'res_id': self.id, - } + if self.env.user.share: + try: + self.check_access_rule('read') + except exceptions.AccessError: + pass + else: + return { + 'type': 'ir.actions.act_url', + 'url': '/my/orders/%s' % self.id, + 'target': 'self', + 'res_id': self.id, + } + return super(SaleOrder, self).get_access_action() + + @api.multi + def _notification_recipients(self, message, groups): + groups = super(SaleOrder, self)._notification_recipients(message, groups) + + self.ensure_one() + if self.state not in ('draft', 'cancel'): + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups def _force_lines_to_invoice_policy_order(self): for line in self.order_line: @@ -28,4 +47,3 @@ class SaleOrder(models.Model): line.qty_to_invoice = line.product_uom_qty - line.qty_invoiced else: line.qty_to_invoice = 0 - diff --git a/addons/website_project/models/project.py b/addons/website_project/models/project.py index e44a9f5f131..450e9de178d 100644 --- a/addons/website_project/models/project.py +++ b/addons/website_project/models/project.py @@ -1,33 +1,38 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +from odoo import api, exceptions, models class Project(models.Model): _inherit = ['project.project'] @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the post on the website directly """ + """ Instead of the classic form view, redirect to website for portal users + that can read the project. """ self.ensure_one() - return { - 'type': 'ir.actions.act_url', - 'url': '/my/project/%s' % self.id, - 'target': 'self', - 'res_id': self.id, - } + if self.env.user.share: + try: + self.check_access_rule('read') + except exceptions.AccessError: + pass + else: + return { + 'type': 'ir.actions.act_url', + 'url': '/my/project/%s' % self.id, + 'target': 'self', + 'res_id': self.id, + } + return super(Project, self).get_access_action() @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the method to place the portal customers in the 'user' group data as a portal view now exists""" - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and all(recipient.user_ids.mapped('share')): - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(Project, self)._notification_group_recipients(message, recipients, done_ids, group_data) + def _notification_recipients(self, message, groups): + groups = super(Project, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups class Task(models.Model): @@ -35,24 +40,28 @@ class Task(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the post on the website directly """ + """ Instead of the classic form view, redirect to website for portal users + that can read the task. """ self.ensure_one() - return { - 'type': 'ir.actions.act_url', - 'url': '/my/task/%s' % self.id, - 'target': 'self', - 'res_id': self.id, - } + if self.env.user.share: + try: + self.check_access_rule('read') + except exceptions.AccessError: + pass + else: + return { + 'type': 'ir.actions.act_url', + 'url': '/my/task/%s' % self.id, + 'target': 'self', + 'res_id': self.id, + } + return super(Task, self).get_access_action() @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the method to place the portal customers in the 'user' group data as a portal view now exists""" - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and all(recipient.user_ids.mapped('share')): - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(Task, self)._notification_group_recipients(message, recipients, done_ids, group_data) + def _notification_recipients(self, message, groups): + groups = super(Task, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + return groups diff --git a/addons/website_project_issue/models/project_issue.py b/addons/website_project_issue/models/project_issue.py index 521b70c4398..d6d8916026a 100644 --- a/addons/website_project_issue/models/project_issue.py +++ b/addons/website_project_issue/models/project_issue.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +from odoo import api, exceptions, models, _ class Issue(models.Model): @@ -10,29 +10,28 @@ class Issue(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the post on the website directly """ + """ Instead of the classic form view, redirect to website for portal users + that can read the issue. """ self.ensure_one() - return { - 'type': 'ir.actions.act_url', - 'url': '/my/issues/%s' % self.id, - 'target': 'self', - 'res_id': self.id, - } + if self.env.user.share: + try: + self.check_access_rule('read') + except exceptions.AccessError: + pass + else: + return { + 'type': 'ir.actions.act_url', + 'url': '/my/issues/%s' % self.id, + 'target': 'self', + 'res_id': self.id, + } + return super(Issue, self).get_access_action() @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the mail.thread method to handle project users and officers - recipients. Indeed those will have specific action in their notification - emails: creating tasks, assigning it. """ - group_project_user_id = self.env.ref('project.group_project_user').id - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and group_project_user_id in recipient.user_ids[0].groups_id.ids: - group_data['group_project_user'] |= recipient - done_ids.add(recipient.id) - elif recipient.user_ids and all(recipient.user_ids.mapped('share')): - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(Issue, self)._notification_group_recipients(message, recipients, done_ids, group_data) + def _notification_recipients(self, message, groups): + groups = super(Issue, self)._notification_recipients(message, groups) + + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups diff --git a/addons/website_quote/controllers/main.py b/addons/website_quote/controllers/main.py index d7f804a1abe..10518e58ea3 100644 --- a/addons/website_quote/controllers/main.py +++ b/addons/website_quote/controllers/main.py @@ -9,10 +9,11 @@ from odoo.addons.website_mail.controllers.main import _message_post_helper class sale_quote(http.Controller): - @http.route([ - "/quote/<int:order_id>", - "/quote/<int:order_id>/<token>" - ], type='http', auth="public", website=True) + @http.route("/quote/<int:order_id>", type='http', auth="user", website=True) + def view_user(self, *args, **kwargs): + return self.view(*args, **kwargs) + + @http.route("/quote/<int:order_id>/<token>", type='http', auth="public", website=True) def view(self, order_id, pdf=None, token=None, message=False, **post): # use sudo to allow accessing/viewing orders for public user # only if he knows the private token diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py index 99a1c4d4071..c51c3f5f8f9 100644 --- a/addons/website_quote/models/sale_order.py +++ b/addons/website_quote/models/sale_order.py @@ -148,8 +148,7 @@ class SaleOrder(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the online quote if exists. """ + """ Instead of the classic form view, redirect to the online quote if it exists. """ self.ensure_one() if not self.template_id: return super(SaleOrder, self).get_access_action() diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index b76340f524a..ab98a1dcb0b 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -586,11 +586,8 @@ class WebsiteSale(http.Controller): order.onchange_partner_id() elif mode[1] == 'shipping': order.partner_shipping_id = partner_id - order.onchange_partner_shipping_id() - order.order_line._compute_tax_id() order.message_partner_ids = [(4, partner_id), (3, request.website.partner_id.id)] - if not errors: return request.redirect(kw.get('callback') or '/shop/checkout') @@ -638,6 +635,9 @@ class WebsiteSale(http.Controller): if redirection: return redirection + + order.onchange_partner_shipping_id() + order.order_line._compute_tax_id() request.session['sale_last_order_id'] = order.id request.website.sale_get_order(update_pricelist=True) extra_step = request.env.ref('website_sale.extra_info_option') diff --git a/addons/website_sale/i18n/website_sale.pot b/addons/website_sale/i18n/website_sale.pot index f1b0fb311f7..6b6166eee65 100644 --- a/addons/website_sale/i18n/website_sale.pot +++ b/addons/website_sale/i18n/website_sale.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0alpha1c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-05 14:10+0000\n" -"PO-Revision-Date: 2016-09-05 14:10+0000\n" +"POT-Creation-Date: 2016-09-29 13:59+0000\n" +"PO-Revision-Date: 2016-09-29 13:59+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -26,32 +26,10 @@ msgid "(processing fees apply)" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid ", go to the 'Sales' tab" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid ", go to the 'Variants' tab" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.product msgid "30-day money-back guarantee<br/>\n" -" Free Shipping in U.S.<br/>\n" -" Buy now, get in 2 days" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<br/>\n" -" <small>(don't forget to apply the changes)</small>" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<br/>\n" -" <small>(you'll have to subscribe directly on each of the payment companies' websites)</small>" +" Free Shipping in U.S.<br/>\n" +" Buy now, get in 2 days" msgstr "" #. module: website_sale @@ -78,12 +56,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<i class=\"fa fa-comment-o\"/> Website Live Chat on" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<i class=\"fa fa-envelope-o\"/> Email Our Website Expert" +msgid "<i class=\"fa fa-envelope-o\"/> Ask Our Experts" msgstr "" #. module: website_sale @@ -154,25 +127,14 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"fa fa-comment-o\"/> Website Live Chat on" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<span class=\"fa fa-lightbulb-o fa-2x\"/>\n" -" At cost price is a good option for heavy or oversized packages." +" Offering free delivery with a minimum amount or minimum number of items should drive up your average order value and help to compensate for the delivery costs." msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<span class=\"fa fa-lightbulb-o fa-2x\"/>\n" -" Offering free delivery with a minimum amount or minimum number of items should drive up your average order value and help to compensate for the delivery costs." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"fa fa-lightbulb-o fa-2x\"/>\n" -" You can also create different rates based on order amount ranges, for example 10€ up to a 50€ order, then 5€ after." +" You can create different rates based on order amount ranges (e.g. $10 up to a $50 order, then $5 beyond)." msgstr "" #. module: website_sale @@ -207,65 +169,92 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<span class=\"panel-title\">\n" -" <span class=\"fa fa-shopping-cart\"/>\n" -" <strong>2. On Add to Cart window:</strong> Show accessories, services\n" -" </span>" +" <span class=\"fa\" data-icon=\"\"/>\n" +" <strong>Import a file</strong><br/>\n" +" <span class=\"small\">Recommended if >50 items</span>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<span class=\"panel-title\">\n" -" <span class=\"fa fa-shopping-cart\"/>\n" -" <strong>3. On Check-out page:</strong> Show optional products\n" -" </span>" +" <span class=\"fa\" data-icon=\"\"/>\n" +" <strong> Create manually</strong><br/>\n" +" <span class=\"small\">Recommended if <50 items</span>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<span class=\"panel-title\">\n" -" <span class=\"fa fa-tag\"/>\n" -" <strong> 1. On Product pages:</strong> Show suggested products\n" -" </span>" +" <strong> Cross-selling</strong>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-cc-paypal\"/><strong> Paypal</strong> (Recommended for starters)</span>" +msgid "<span class=\"panel-title\">\n" +" <strong> Rules & Formulas</strong>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-credit-card\"/><strong> Ogone, Adyen, Authorize.net, Buckaroo...</strong></span>" +msgid "<span class=\"panel-title\">\n" +" <strong>Several Prices</strong>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-lock\"/><strong>Wire transfer</strong> (Slow and inefficient)</span>" +msgid "<span class=\"panel-title\">\n" +" <strong>Unique Price</strong>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-pencil-square-o\"/><strong> Web-Services</strong><br/>scripts development</span>" +msgid "<span class=\"panel-title\">\n" +" <strong>Upselling</strong>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-shopping-cart\"/><strong> At cost price</strong> (customer pay what you pay)</span>" +msgid "<span class=\"panel-title\"><span class=\"fa fa-cc-paypal\"/><strong> Paypal</strong>\n" +" <span class=\"small\">Recommended for Starters</span>\n" +" </span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-sitemap\"/><strong> Import</strong><br/>by using a CSV file</span>" +msgid "<span class=\"panel-title\"><span class=\"fa fa-credit-card\"/><strong> Authorize.net, Ingenico, etc.</strong></span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-smile-o\"/><strong> Free delivery</strong> (risky, but has best potential)</span>" +msgid "<span class=\"panel-title\"><span class=\"fa fa-lock\"/><strong>Wire transfer</strong> (slow and inefficient)</span>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<span class=\"panel-title\"><span class=\"fa fa-table\"/><strong> Flat rates</strong> (everybody pays the same)</span>" +msgid "<span class=\"panel-title\"><span class=\"fa fa-shopping-cart\"/><strong> At cost price</strong> (customer pays what you pay)<br/>\n" +" <span class=\"small\">Advised if your packs vary in size/weight and/or if you ship worldwide</span>\n" +" </span>" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "<span class=\"panel-title\"><span class=\"fa fa-smile-o\"/><strong> Free delivery</strong><br/>\n" +" <span class=\"small\">Advised if both cart content and shipping costs are homogeneous</span>\n" +" </span>" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "<span class=\"panel-title\"><span class=\"fa fa-table\"/><strong> Flat rates</strong> (everybody pays the same)<br/>\n" +" <span class=\"small\">Advised if you target a local audience</span>\n" +" </span>" msgstr "" #. module: website_sale @@ -291,7 +280,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Call to action</strong> short and clear: (Add to Cart, Ask for quote,...)" +msgid "<strong>Call-to-action</strong> short and clear: Add to Cart, Ask for quote, etc." msgstr "" #. module: website_sale @@ -301,12 +290,12 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Cons:</strong> The delivery cost may be discouraging for your cheapest items." +msgid "<strong>Cons:</strong> customers have to check out to find out the delivery price." msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Cons:</strong> customers have to wait until checkout to find out the delivery price." +msgid "<strong>Cons:</strong> may be discouraging for your cheapest items" msgstr "" #. module: website_sale @@ -316,28 +305,23 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Contact us now:</strong><br/>" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Customers review:</strong> what do the customers think of the product" +msgid "<strong>Features and benefits:</strong> what the product does and why that is good" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Features and benefits:</strong> what the product does and why that is good" +msgid "<strong>For complex imports</strong> (>5000 items, product variants, pictures, etc.):" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>High-quality picture</strong>" +msgid "<strong>High-quality pictures</strong>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<strong>Key features, emotional and commercial content</strong><br/>\n" -" Recommended for at least for your top products, because it can have a big impact on your sales and conversion rates." +" Recommended for at least your top products, because it may have a big impact on your sales and conversion rates." msgstr "" #. module: website_sale @@ -347,12 +331,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Name</strong> of your product" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Need help to import your products?</strong>" +msgid "<strong>Next actions:</strong>" msgstr "" #. module: website_sale @@ -373,19 +352,12 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Pictures gallery of the product:</strong> all angles, detailed view, package,etc." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<strong>Price</strong> with currency" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Product variants</strong><br/>\n" -" Product variants are used to offer variations of the same product to your customers on the products page.<br/>\n" -" For example, the customer choose a T-shirt and then select its size or color." +msgid "<strong>Product/Service name</strong>" msgstr "" #. module: website_sale @@ -395,7 +367,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Pros:</strong> being transparent about your charges can win you the trust of your customers." +msgid "<strong>Pros:</strong> being transparent about your charges can help you gain the trust of your customers." msgstr "" #. module: website_sale @@ -405,38 +377,33 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Pros:</strong> simple for your customers to understand." +msgid "<strong>Pros:</strong> simple to understand" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner msgid "<strong>Reassurance arguments</strong><br/>\n" -" Anticipate your customers questions & worries on practical details like Shipping rates & policies, Return & replacement policies, Payment methods & security, General Conditions, etc." +" Anticipate your customers questions & worries on practical details like shipping rates & policies, return & replacement policies, payment methods & security and your" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Recommended action:</strong>" +msgid "<strong>See it in action in Odoo</strong><br/>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Recommended actions:</strong>" +msgid "<strong>Short description</strong>" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>See it in action</strong><br/>" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Short description</strong> of the product or service" +msgid "<strong>Technical information:</strong> what do you get and how does it work?" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Technical information:</strong> what do you get and how does it work?" +msgid "<strong>Tip for B2B users:</strong> you can create new manually-processed payment methods (check, purchase order, etc.) by renaming 'Wire Transfer' or duplicating it." msgstr "" #. module: website_sale @@ -451,7 +418,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "<strong>Variants</strong> of the product like size or color (see below)" +msgid "<strong>Variants</strong> like size or color" msgstr "" #. module: website_sale @@ -460,6 +427,11 @@ msgid "A document to provide ?" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "A few % discount can bring you twice more customers! Here are a few kinds of discounts to boost your sales:" +msgstr "" + +#. module: website_sale #: selection:website.config.settings,sale_pricelist_setting_split_1:0 msgid "A single sales price per product" msgstr "" @@ -471,33 +443,34 @@ msgstr "" #. module: website_sale #: model:ir.actions.act_window,name:website_sale.action_abandonned_orders_ecommerce -msgid "Abandonned e-Commerce Orders" +msgid "Abandonned eCommerce Orders" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_product_product_accessory_product_ids -#: model:ir.model.fields,field_description:website_sale.field_product_template_accessory_product_ids -msgid "Accessory Products" +#: model:ir.model.fields,help:website_sale.field_product_product_accessory_product_ids +#: model:ir.model.fields,help:website_sale.field_product_template_accessory_product_ids +msgid "Accessories show up when the customer reviews the cart before paying (cross-sell strategy, e.g. for computers: mouse, keyboard, etc.). An algorithm figures out a list of accessories based on all the products added to cart." msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Activate 'Suggested products' from the 'Customize' menu." +msgid "Accessories: screen, mouse" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Activate the 'Support multiple variants per products' option in" +#: model:ir.model.fields,field_description:website_sale.field_product_product_accessory_product_ids +#: model:ir.model.fields,field_description:website_sale.field_product_template_accessory_product_ids +msgid "Accessory Products" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_module_portal -msgid "Activate the customer portal" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Activate and set up the payment methods you want to use" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Activate the payment options you want to use" +#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_module_portal +msgid "Activate the customer portal" msgstr "" #. module: website_sale @@ -506,13 +479,14 @@ msgid "Add Delivery Costs to Online Sales" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Add as many variants as you need from 3 different types: radio buttons, drop-down menu or color buttons." +#: model:ir.ui.view,arch_db:website_sale.product +msgid "Add to Cart" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.product -msgid "Add to Cart" +#: model:ir.model.fields,help:website_sale.field_product_product_availability +#: model:ir.model.fields,help:website_sale.field_product_template_availability +msgid "Adds an availability status on the web product page." msgstr "" #. module: website_sale @@ -527,33 +501,37 @@ msgid "All Products" msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_website_pricelist_selectable +#: model:ir.model.fields,help:website_sale.field_product_pricelist_selectable msgid "Allow the end user to choose this price list" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_sale_pricelist_form_view +msgid "Allow to use on" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,help:website_sale.field_website_config_settings_group_sale_pricelist msgid "Allows to manage different prices based on rules per category of customers.\n" " Example: 10% for retailers, promotion of 5 EUR on this product, etc." msgstr "" #. module: website_sale -#. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:32 -#, python-format -msgid "Amount" +#: model:ir.model.fields,field_description:website_sale.field_product_product_alternative_product_ids +#: model:ir.model.fields,field_description:website_sale.field_product_template_alternative_product_ids +msgid "Alternative Products" msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_product_product_alternative_product_ids -#: model:ir.model.fields,help:website_sale.field_product_template_alternative_product_ids -msgid "Appear on the product page" +#: model:ir.ui.view,arch_db:website_sale.recommended_products +msgid "Alternative Products:" msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_product_product_accessory_product_ids -#: model:ir.model.fields,help:website_sale.field_product_template_accessory_product_ids -msgid "Appear on the shopping cart" +#. openerp-web +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:31 +#, python-format +msgid "Amount" msgstr "" #. module: website_sale @@ -562,6 +540,11 @@ msgid "Apply" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Apply multi-currencies" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_product_availability #: model:ir.model.fields,field_description:website_sale.field_product_template_availability msgid "Availability" @@ -574,8 +557,13 @@ msgid "Availability Warning" msgstr "" #. module: website_sale +#: model:product.pricelist,name:website_sale.list_benelux +msgid "Benelux" +msgstr "" + +#. module: website_sale #. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:22 +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:21 #, python-format msgid "Best Sellers" msgstr "" @@ -597,7 +585,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Can take up to several days for you to receive the money" +msgid "Can take up to several days to receive the money" msgstr "" #. module: website_sale @@ -606,6 +594,11 @@ msgid "Cart Quantity" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Cash amount or percentage discounts" +msgstr "" + +#. module: website_sale #: model:ir.ui.menu,name:website_sale.menu_catalog msgid "Catalog" msgstr "" @@ -617,6 +610,12 @@ msgid "Categories are used to browse your products through the\n" msgstr "" #. module: website_sale +#: model:ir.model.fields,help:website_sale.field_product_product_public_categ_ids +#: model:ir.model.fields,help:website_sale.field_product_template_public_categ_ids +msgid "Categories can be published on the Shop page (online catalog grid) to help customers find all the items within a category. To publish them, go to the Shop page, hit Customize and turn *Product Categories* on. A product can belong to several categories." +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_public_category_child_id msgid "Children Categories" msgstr "" @@ -629,11 +628,21 @@ msgid "Choose an image from the library." msgstr "" #. module: website_sale +#: model:product.pricelist,name:website_sale.list_christmas +msgid "Christmas" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "City" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.products +msgid "Click <i>'New'</i> in the top-right corner to create your first product." +msgstr "" + +#. module: website_sale #. openerp-web #: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:33 #, python-format @@ -672,18 +681,38 @@ msgid "Color" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Community & Enterprise users:" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "Company Name" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Components +msgid "Components" +msgstr "" + +#. module: website_sale +#: model:product.public.category,name:website_sale.Computer_all_in_one +msgid "Computer all-in-one" +msgstr "" + +#. module: website_sale +#: model:product.public.category,name:website_sale.sub_computers +msgid "Computers" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Configure your bank account(s)" +msgid "Configure your delivery methods (pricing, destinations)" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Configure your delivery prices" +msgid "Configure your pricelists" msgstr "" #. module: website_sale @@ -723,16 +752,6 @@ msgid "Country" msgstr "" #. module: website_sale -#: model:ir.model,name:website_sale.model_res_country_group -msgid "Country Group" -msgstr "" - -#. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_country_group_ids -msgid "Country Groups" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "Country..." msgstr "" @@ -743,10 +762,14 @@ msgid "Coupon Code" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Create your product items" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_image_create_uid #: model:ir.model.fields,field_description:website_sale.field_product_public_category_create_uid #: model:ir.model.fields,field_description:website_sale.field_product_style_create_uid -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_create_uid msgid "Created by" msgstr "" @@ -754,13 +777,22 @@ msgstr "" #: model:ir.model.fields,field_description:website_sale.field_product_image_create_date #: model:ir.model.fields,field_description:website_sale.field_product_public_category_create_date #: model:ir.model.fields,field_description:website_sale.field_product_style_create_date -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_create_date msgid "Created on" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Customize your Payment message" +msgid "Currencies" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Customer Segments" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Customers review:" msgstr "" #. module: website_sale @@ -790,7 +822,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Defining a good delivery strategy is difficult: you don't want to cut into your margins, but you want to be attractive to customers." +msgid "Default mode" msgstr "" #. module: website_sale @@ -825,10 +857,19 @@ msgid "Determine the display order in the Website E-commerce" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.devices +msgid "Devices" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Discount % or amounts, margins, roundings, periods, etc." +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_image_display_name #: model:ir.model.fields,field_description:website_sale.field_product_public_category_display_name #: model:ir.model.fields,field_description:website_sale.field_product_style_display_name -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_display_name msgid "Display Name" msgstr "" @@ -850,6 +891,11 @@ msgid "E-commerce Promotional Code" msgstr "" #. module: website_sale +#: model:product.pricelist,name:website_sale.list_europe +msgid "EUR" +msgstr "" + +#. module: website_sale #. openerp-web #: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:27 #, python-format @@ -862,11 +908,6 @@ msgid "Edit this address" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Electronic payments have the advantage of being integrated into the buying process. This means your customers will be less likely to drop out before the payment, resulting in a higher conversion rate at the end." -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "Email" msgstr "" @@ -884,16 +925,6 @@ msgid "Enter a name for your new product" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Enter their identification credentials" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Enter your existing products into this CSV file, respecting its structure." -msgstr "" - -#. module: website_sale #: model:ir.model.fields,help:website_sale.field_product_product_split_method msgid "Equal : Cost will be equally divided.\n" "By Quantity : Cost will be divided according to product's quantity.\n" @@ -903,7 +934,7 @@ msgid "Equal : Cost will be equally divided.\n" msgstr "" #. module: website_sale -#: code:addons/website_sale/models/product.py:58 +#: code:addons/website_sale/models/product.py:89 #, python-format msgid "Error ! You cannot create recursive categories." msgstr "" @@ -914,23 +945,8 @@ msgid "Example of Good Product Page" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Example: you sell T-shirts in the US only. You can offer free delivery because your items are medium priced and the delivery costs are limited and well defined." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Example: you sell cheap specialized electronic components. You choose flat rates because the price of an item is sometimes lower than the delivery costs." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Example: you sell custom-made wood sculptures, and because your customers are all over the world, each delivery is different and at cost price." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Export the 3 products you have already created by checking them and choosing 'Export' from the 'Action' menu" +#: model:product.public.category,name:website_sale.External_Hard_Drive +msgid "External Hard Drive" msgstr "" #. module: website_sale @@ -949,38 +965,25 @@ msgid "Fedex integration" msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_website_config_settings_sale_pricelist_setting_split_1 -#: model:ir.model.fields,help:website_sale.field_website_config_settings_sale_pricelist_setting_split_2 -msgid "Fix Price: all price manage from products sale price.\n" -"Different prices per Customer: you can assign price on buying of minimum quantity in products sale tab.\n" -"Advanced pricing based on formula: You can have all the rights on pricelist" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Focus on adding content and improving the pages for your best-selling products: don't try to create complete pages for all your products at first!" -msgstr "" - -#. module: website_sale #. openerp-web #: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:62 #, python-format -msgid "Follow the steps and advises in the Odoo Planner to deploy your e-Commerce website in no time!" +msgid "Follow the steps and advices in the Odoo Planner to deploy your e-Commerce website in no time!" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Free and easy to setup" +msgid "Free and no setup" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce -msgid "From Website" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Free delivery (see Delivery Strategy section)" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "From a" +#: model:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce +msgid "From Website" msgstr "" #. module: website_sale @@ -999,11 +1002,6 @@ msgid "Gives the sequence order when displaying a list of product categories." msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Go to the" -msgstr "" - -#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_product_hs_code msgid "HS Code" msgstr "" @@ -1029,8 +1027,13 @@ msgid "Have a coupon code? Fill in this field and apply." msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Headset +msgid "Headset" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Here are <strong>some pros and cons</strong> to help you decide:" +msgid "Here are <strong>some pros and cons</strong> to help you decide:<br/>" msgstr "" #. module: website_sale @@ -1047,15 +1050,12 @@ msgstr "" #: model:ir.model.fields,field_description:website_sale.field_product_image_id #: model:ir.model.fields,field_description:website_sale.field_product_public_category_id #: model:ir.model.fields,field_description:website_sale.field_product_style_id -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_id_11130 msgid "ID" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "If you have an e-Commerce, one of your objectives is of course to grow your revenues by\n" -" selling more and pricier products. Luckily for you, Odoo integrates three powerful\n" -" customizations for that." +msgid "If you deal with a major shipper (UPS, FedEx, DHL, etc.), activate the related connector in Odoo to compute accurate costs and print labels." msgstr "" #. module: website_sale @@ -1078,14 +1078,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Imagine a new customer who comes to your website, finds the product they want and add it to their cart.<br/>\n" -" Then they get to the checkout page and are hit with the delivery and handling charges.<br/>\n" -" Suddenly, a product that looked like it was a fair price seems little expensive, and the customer leaves your website disappointed." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Import Your Products" +msgid "Imagine a new customer adds a product to cart and leaves your website because of shipping costs... Defining a good delivery strategy is difficult. You don't want to cut into your margins, but you want to remain price-competitive." msgstr "" #. module: website_sale @@ -1095,38 +1088,26 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "In order to take money from customers, you need a way of accepting payments.<br/>\n" -" That's what a payment gateway is for: it helps you make money, but that does cost money.<br/>\n" -" That why it's important to choose the right provider for your online payments." +msgid "Install Optional Products (cross-selling)" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Increase your average cart amount by proposing complementary products to your visitors." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Increase your chances to make a sale by displaying suggested products." +msgid "Install shipping connectors" msgstr "" #. module: website_sale #: model:ir.model.fields,help:website_sale.field_website_config_settings_module_website_sale_options -msgid "Install the module website_sale_options" +msgid "Installs *e-Commerce Optional Products*" msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:472 +#: code:addons/website_sale/controllers/main.py:474 #, python-format msgid "Invalid Email! Please enter a valid email address." msgstr "" #. module: website_sale -#: model:ir.model,name:website_sale.model_account_invoice -msgid "Invoice" -msgstr "" - -#. module: website_sale #: model:ir.actions.act_window,name:website_sale.action_invoices_ecommerce #: model:ir.ui.menu,name:website_sale.menu_orders_invoices msgid "Invoices" @@ -1144,15 +1125,24 @@ msgid "It's difficult to recommend one over the others. So, simply pick the one msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Keyboard_Mouse +msgid "Keyboard / Mouse" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_product_landed_cost_ok msgid "Landed Costs" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.laptops +msgid "Laptops" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_image___last_update #: model:ir.model.fields,field_description:website_sale.field_product_public_category___last_update #: model:ir.model.fields,field_description:website_sale.field_product_style___last_update -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist___last_update msgid "Last Modified on" msgstr "" @@ -1165,7 +1155,6 @@ msgstr "" #: model:ir.model.fields,field_description:website_sale.field_product_image_write_uid #: model:ir.model.fields,field_description:website_sale.field_product_public_category_write_uid #: model:ir.model.fields,field_description:website_sale.field_product_style_write_uid -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_write_uid msgid "Last Updated by" msgstr "" @@ -1173,7 +1162,6 @@ msgstr "" #: model:ir.model.fields,field_description:website_sale.field_product_image_write_date #: model:ir.model.fields,field_description:website_sale.field_product_public_category_write_date #: model:ir.model.fields,field_description:website_sale.field_product_style_write_date -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_write_date msgid "Last Updated on" msgstr "" @@ -1198,6 +1186,11 @@ msgid "Merchant Connectors" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Min. qty or period" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_config_settings_view_form msgid "More Info" msgstr "" @@ -1208,6 +1201,11 @@ msgid "Multi Images" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Multi-buy offers (2 products sold together for less than their individual price)" +msgstr "" + +#. module: website_sale #. openerp-web #: code:addons/website_sale/static/src/js/website_sale.js:15 #, python-format @@ -1222,8 +1220,13 @@ msgid "Name" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.network +msgid "Network" +msgstr "" + +#. module: website_sale #. openerp-web -#: code:addons/website_sale/controllers/main.py:951 +#: code:addons/website_sale/controllers/main.py:953 #: code:addons/website_sale/static/src/js/website_sale.editor.js:18 #: model:ir.ui.view,arch_db:website_sale.content_new_product #, python-format @@ -1251,8 +1254,8 @@ msgid "No, choose another method" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Now you can also <strong>import your existing products:</strong>" +#: model:ir.ui.view,arch_db:website_sale.website_sale_pricelist_form_view +msgid "None website" msgstr "" #. module: website_sale @@ -1263,21 +1266,6 @@ msgid "OK" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Odoo offers an import service to handle the whole process for you!" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Odoo's web-services allows developers to create scripts that will load data automatically into the system." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "On your website, go to the product page where you want to add suggested products." -msgstr "" - -#. module: website_sale #. openerp-web #: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:52 #, python-format @@ -1295,6 +1283,11 @@ msgid "One-step \"add to cart\"" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Online users: we do it for you!" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_sale_order_only_services msgid "Only Services" msgstr "" @@ -1305,6 +1298,11 @@ msgid "Optional Products" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Options: warranty, software" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.confirmation msgid "Order" msgstr "" @@ -1341,8 +1339,8 @@ msgid "Partner" msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:725 -#: code:addons/website_sale/controllers/main.py:823 +#: code:addons/website_sale/controllers/main.py:727 +#: code:addons/website_sale/controllers/main.py:825 #, python-format msgid "Pay Now" msgstr "" @@ -1383,19 +1381,24 @@ msgid "Payment Methods" msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:756 +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Payment must be reconciled manually" +msgstr "" + +#. module: website_sale +#: code:addons/website_sale/controllers/main.py:758 #, python-format msgid "Payment transaction (%s) failed : <%s>" msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:753 +#: code:addons/website_sale/controllers/main.py:755 #, python-format msgid "Payment transaction failed (%s)" msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:757 +#: code:addons/website_sale/controllers/main.py:759 #, python-format msgid "Payment transaction failed (Contact Administrator)" msgstr "" @@ -1407,40 +1410,60 @@ msgid "Payment<span class=\"chevron\"/>" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Pen_Drive +msgid "Pen Drive" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "Phone" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Pictures gallery:" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.cart msgid "Policies" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Populate Your Catalog" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Prefered by some customers" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.cart_lines #: model:ir.ui.view,arch_db:website_sale.payment msgid "Price" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_website_pricelist_ids +#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_ids msgid "Price list available for this Ecommerce/Website" msgstr "" #. module: website_sale #: model:ir.model,name:website_sale.model_product_pricelist -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_pricelist_id msgid "Pricelist" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_name -msgid "Pricelist Name" +#: model:ir.actions.act_window,name:website_sale.website_product_pricelist3 +#: model:ir.ui.menu,name:website_sale.menu_catalog_pricelists +msgid "Pricelists" msgstr "" #. module: website_sale -#: model:ir.ui.menu,name:website_sale.menu_catalog_pricelists -msgid "Pricelists" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Pricing & Discounts" msgstr "" #. module: website_sale @@ -1449,13 +1472,18 @@ msgid "Pricing Strategy" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.printer +msgid "Printer" +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_product_purchase_requisition msgid "Procurement" msgstr "" #. module: website_sale #. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:30 +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:29 #: model:ir.model,name:website_sale.model_product_product #: model:ir.ui.view,arch_db:website_sale.cart_lines #: model:ir.ui.view,arch_db:website_sale.payment @@ -1495,11 +1523,6 @@ msgid "Product Template" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Product detail form" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.product #: model:ir.ui.view,arch_db:website_sale.product_price msgid "Product not available" @@ -1519,16 +1542,6 @@ msgid "Products" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Products list" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Products list view" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_sale msgid "Promote" msgstr "" @@ -1561,12 +1574,13 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Put the practical details (shipping, payment options,...) as links in the footer; that way, they will be accessible from all your product pages." +msgid "Put the practical details (shipping, payment methods, etc.) as links in the footer; That way, they will be accessible \n" +" all your product pages." msgstr "" #. module: website_sale #. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:31 +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:30 #, python-format msgid "Qty Sold" msgstr "" @@ -1585,6 +1599,11 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Quantity-based discounts (B2B)" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner msgid "Quick and easy to set up" msgstr "" @@ -1616,7 +1635,22 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Read the" +msgid "Read the documentation about delivery methods and shipping connectors" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Read the documentation about payment acquirers" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Read the documentation about pricing & discounts" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Read the documentation about upselling and cross-selling" msgstr "" #. module: website_sale @@ -1641,17 +1675,12 @@ msgstr "" #. module: website_sale #. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:10 +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:9 #, python-format msgid "Sales /" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Sales / Settings" -msgstr "" - -#. module: website_sale #: model:ir.model,name:website_sale.model_sale_order msgid "Sales Order" msgstr "" @@ -1675,13 +1704,13 @@ msgid "Salesperson" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Save and import the modified CSV file from the 'More' menu of the" +#: model:ir.ui.view,arch_db:website_sale.payment +msgid "Save my payment data" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.payment -msgid "Save my payment data" +#: model:product.public.category,name:website_sale.Screen +msgid "Screen" msgstr "" #. module: website_sale @@ -1702,17 +1731,22 @@ msgid "Select <b>New Product</b> to create it and manage its properties to boost msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.address_kanban +msgid "Select this address" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Select a product from the" +msgid "Select your pricing preference and allow discounts" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.address_kanban -msgid "Select this address" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Select your shipping management policy" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_selectable +#: model:ir.model.fields,field_description:website_sale.field_product_pricelist_selectable msgid "Selectable" msgstr "" @@ -1732,6 +1766,21 @@ msgid "Sequence" msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.server +msgid "Server" +msgstr "" + +#. module: website_sale +#: model:product.public.category,name:website_sale.services +msgid "Services" +msgstr "" + +#. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Set alternatives, accessories and options in product detail form (in Sales tab)" +msgstr "" + +#. module: website_sale #: selection:website.config.settings,group_website_multiimage:0 msgid "Several images per product" msgstr "" @@ -1800,7 +1849,7 @@ msgstr "" #. module: website_sale #: model:res.groups,name:website_sale.group_website_multi_image -msgid "Show multi image on e-Commerce" +msgid "Show multi image on eCommerce" msgstr "" #. module: website_sale @@ -1814,21 +1863,6 @@ msgid "Show pricelists to customers" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.address -msgid "Sign Up" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Simply add one or more products as an <strong>'Accessory Product'</strong>." -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Simply add the product you want as an <strong>'Optional Product'</strong>" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_sale msgid "Size" msgstr "" @@ -1856,12 +1890,17 @@ msgid "Small-sized image of the category. It is automatically resized as a 64x64 msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Software +msgid "Software" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Some customers prefer to pay this way" +msgid "Some acquirers like Authorize.net and Ingenico can be used as payment gateways with your own payment processor." msgstr "" #. module: website_sale -#: code:addons/website_sale/controllers/main.py:483 +#: code:addons/website_sale/controllers/main.py:485 #, python-format msgid "Some required fields are empty." msgstr "" @@ -1872,11 +1911,22 @@ msgid "Sorry, this product is not available anymore." msgstr "" #. module: website_sale +#: model:product.public.category,name:website_sale.Speakers +msgid "Speakers" +msgstr "" + +#. module: website_sale #: selection:website.config.settings,sale_pricelist_setting_split_2:0 msgid "Specific prices per customer segment, currency, etc." msgstr "" #. module: website_sale +#: model:ir.model.fields,help:website_sale.field_website_config_settings_sale_pricelist_setting_split_2 +msgid "Specific prices per customer segment, currency, etc.: new pricing table available in product detail form (Sales tab).\n" +"Advanced pricing based on formulas (discounts, margins, rounding): apply price rules from a new *Pricelists* menu in Configuration." +msgstr "" + +#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_product_split_method msgid "Split Method" msgstr "" @@ -1887,6 +1937,11 @@ msgid "Standardized code for international shipping and goods declaration" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Start your online shop by creating 3 products pages.<br/>" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "State / Province" msgstr "" @@ -1924,24 +1979,30 @@ msgid "Subtotal:" msgstr "" #. module: website_sale +#: model:ir.model.fields,help:website_sale.field_product_product_alternative_product_ids +#: model:ir.model.fields,help:website_sale.field_product_template_alternative_product_ids +msgid "Suggest more expensive alternatives to your customers (upsell strategy). Those products show up on the product page." +msgstr "" + +#. module: website_sale #: selection:website.config.settings,module_website_sale_options:0 msgid "Suggest optional products when adding to cart (e.g. for a computer: warranty, software, etc.)" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.suggested_products_list -msgid "Suggested Accessories:" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Suggest options and accessories<br/>\n" +" e.g. for computers:" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_product_product_alternative_product_ids -#: model:ir.model.fields,field_description:website_sale.field_product_template_alternative_product_ids -msgid "Suggested Products" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Suggest pricier alternatives" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.recommended_products -msgid "Suggested Products:" +#: model:ir.ui.view,arch_db:website_sale.suggested_products_list +msgid "Suggested Accessories:" msgstr "" #. module: website_sale @@ -1970,12 +2031,6 @@ msgid "Thank you for your order." msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "The best way to start your online shop is by creating 3 products pages directly in the website.<br/>\n" -" To help you, here are some guidelines that will convert customers:" -msgstr "" - -#. module: website_sale #: model:ir.model.fields,help:website_sale.field_product_product_website_url msgid "The full URL to access the document through the website." msgstr "" @@ -1986,8 +2041,13 @@ msgid "The payment seems to have been canceled." msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "There are two notorious strategies to sell more to a customer:" +msgstr "" + +#. module: website_sale #. openerp-web -#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:24 +#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:23 #, python-format msgid "There is no recent online sale." msgstr "" @@ -2003,25 +2063,19 @@ msgid "This field holds the image used as image for the category, limited to 102 msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_product_product_availability -#: model:ir.model.fields,help:website_sale.field_product_template_availability -msgid "This field is used to display a availability banner with a message on the ecommerce" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.reduction_code msgid "This promo code is not available" msgstr "" #. module: website_sale -#: model:ir.model.fields,help:website_sale.field_product_product_public_categ_ids -#: model:ir.model.fields,help:website_sale.field_product_template_public_categ_ids -msgid "Those categories are used to group similar products for e-commerce." +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "To collect payments, you can either request your customers to process it manually (wire transfer, etc.) or redirect them to payment acquirers.<br/>\n" +" Using payment acquirers costs you money, so take some time to compare them." msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "To use them:" +msgid "To do so, take the most out of Odoo' <strong>pricing options</strong>:<br/>" msgstr "" #. module: website_sale @@ -2040,11 +2094,6 @@ msgid "Transaction processing ..." msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Try to apply what you've learned above by manually creating three Product pages from the Content menu." -msgstr "" - -#. module: website_sale #: model:ir.model.fields,field_description:website_sale.field_product_attribute_type msgid "Type" msgstr "" @@ -2071,22 +2120,17 @@ msgstr "" #. module: website_sale #: model:ir.actions.act_window,name:website_sale.action_unpaid_orders_ecommerce -msgid "Unpaid e-Commerce Orders" +msgid "Unpaid eCommerce Orders" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_group_sale_pricelist -msgid "Use pricelists to adapt your price per customers" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.products -msgid "Use the <i>'New Page'</i> top menu to create your first product." +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "Use our import templates to get your catalog ready in no time!" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Users will buy more accessories and services if they can add them to their cart in one click." +#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_group_sale_pricelist +msgid "Use pricelists to adapt your price per customers" msgstr "" #. module: website_sale @@ -2110,13 +2154,7 @@ msgid "Warning" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "Web Service technical documentation." -msgstr "" - -#. module: website_sale #: model:ir.model,name:website_sale.model_website -#: model:ir.model.fields,field_description:website_sale.field_website_pricelist_website_id #: model:ir.ui.view,arch_db:website_sale.product_template_form_view msgid "Website" msgstr "" @@ -2133,33 +2171,8 @@ msgid "Website Comments" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_res_country_group_website_pricelist_ids -msgid "Website Price Lists" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_pricelist_form_view -#: model:ir.ui.view,arch_db:website_sale.website_pricelist_tree_view -msgid "Website PriceLists" -msgstr "" - -#. module: website_sale -#: model:ir.actions.act_window,name:website_sale.website_sale_pricelists_by_website -#: model:ir.model,name:website_sale.model_website_pricelist -#: model:ir.ui.menu,name:website_sale.menu_website_sale_pricelists -msgid "Website Pricelist" -msgstr "" - -#. module: website_sale -#: code:addons/website_sale/models/sale_order.py:466 -#, python-format -msgid "Website Pricelist for %s" -msgstr "" - -#. module: website_sale #: model:ir.actions.act_window,name:website_sale.product_public_category_action #: model:ir.ui.menu,name:website_sale.menu_catalog_categories -#: model:ir.ui.menu,name:website_sale.menu_product_public_category msgid "Website Product Categories" msgstr "" @@ -2235,11 +2248,6 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "You can also define different prices for the variants you created by activating the 'Use pricelists to adapt your price per customers' option in" -msgstr "" - -#. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner msgid "You can setup 3 types of <strong>payment methods in Odoo:</strong>" msgstr "" @@ -2259,18 +2267,13 @@ msgid "You don't have any unpaid order from the website." msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "You have to reconcile the payment manually" -msgstr "" - -#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address msgid "Your Address" msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.address -msgid "Your Address \n" +msgid "Your Address\n" " <small> or </small>" msgstr "" @@ -2323,7 +2326,7 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "and fill in one or more <strong>'Suggested Products'</strong>." +msgid "all angles, detailed view, package, etc." msgstr "" #. module: website_sale @@ -2342,19 +2345,19 @@ msgid "comments" msgstr "" #. module: website_sale -#: model:ir.ui.menu,name:website_sale.menu_ecommerce_settings -#: model:ir.ui.view,arch_db:website_sale.website_config_settings_view_form -msgid "e-Commerce" +#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_module_sale_ebay +msgid "eBay connector" msgstr "" #. module: website_sale -#: model:ir.actions.act_window,name:website_sale.action_orders_ecommerce -msgid "e-Commerce Orders" +#: model:ir.ui.menu,name:website_sale.menu_ecommerce_settings +#: model:ir.ui.view,arch_db:website_sale.website_config_settings_view_form +msgid "eCommerce" msgstr "" #. module: website_sale -#: model:ir.model.fields,field_description:website_sale.field_website_config_settings_module_sale_ebay -msgid "eBay connector" +#: model:ir.actions.act_window,name:website_sale.action_orders_ecommerce +msgid "eCommerce Orders" msgstr "" #. module: website_sale @@ -2368,13 +2371,13 @@ msgid "items)" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "of the Sales module" +#: model:ir.ui.view,arch_db:website_sale.products +msgid "pagination form-inline o_website_sale_search" msgstr "" #. module: website_sale -#: model:ir.ui.view,arch_db:website_sale.products -msgid "pagination form-inline o_website_sale_search" +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "product's availability (In Stock, Not Available, etc.)" msgstr "" #. module: website_sale @@ -2394,7 +2397,12 @@ msgstr "" #. module: website_sale #: model:ir.ui.view,arch_db:website_sale.website_planner -msgid "using one or several of the strategies above" +msgid "use Odoo API to import through scripts" +msgstr "" + +#. module: website_sale +#: model:ir.model.fields,field_description:website_sale.field_product_pricelist_website_id +msgid "website" msgstr "" #. module: website_sale @@ -2403,6 +2411,11 @@ msgid "website.config.settings" msgstr "" #. module: website_sale +#: model:ir.ui.view,arch_db:website_sale.website_planner +msgid "what do the customers think of the product" +msgstr "" + +#. module: website_sale #: model:ir.ui.view,arch_db:website_sale.cart msgid "☑ 256 bit encryption" msgstr "" diff --git a/addons/website_sale/models/__init__.py b/addons/website_sale/models/__init__.py index 3f8dbc63ee7..a40ad2379a6 100644 --- a/addons/website_sale/models/__init__.py +++ b/addons/website_sale/models/__init__.py @@ -1,4 +1,3 @@ -import account_invoice import ir_http import rating import product diff --git a/addons/website_sale/models/account_invoice.py b/addons/website_sale/models/account_invoice.py deleted file mode 100644 index 8011fab497f..00000000000 --- a/addons/website_sale/models/account_invoice.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, models - - -class AccountInvoice(models.Model): - _inherit = 'account.invoice' - - @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the method to place the portal customers in the 'user' group data as a portal view now exists""" - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and all(recipient.user_ids.mapped('share')): - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(AccountInvoice, self)._notification_group_recipients(message, recipients, done_ids, group_data) - - @api.multi - def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the online invoice if exists. """ - self.ensure_one() - return { - 'type': 'ir.actions.act_url', - 'url': '/my/invoices', # No controller /my/invoices/<int>, only a report pdf - 'target': 'self', - 'res_id': self.id, - } diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index 587954155dc..a8a25ee3bdb 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -160,17 +160,6 @@ class SaleOrder(models.Model): accessory_products -= order.website_order_line.mapped('product_id') return random.sample(accessory_products, len(accessory_products)) - @api.multi - def _notification_group_recipients(self, message, recipients, done_ids, group_data): - """ Override the method to place the portal customers in the 'user' group data as a portal view now exists""" - for recipient in recipients: - if recipient.id in done_ids: - continue - if recipient.user_ids and all(recipient.user_ids.mapped('share')): - group_data['user'] |= recipient - done_ids.add(recipient.id) - return super(SaleOrder, self)._notification_group_recipients(message, recipients, done_ids, group_data) - class Website(models.Model): _inherit = 'website' @@ -306,6 +295,11 @@ class Website(models.Model): def sale_product_domain(self): return [("sale_ok", "=", True)] + @api.model + def sale_get_payment_term(self, partner): + DEFAULT_PAYMENT_TERM = 'account.account_payment_term_immediate' + return self.env.ref(DEFAULT_PAYMENT_TERM, False).id or partner.property_payment_term_id.id + @api.multi def sale_get_order(self, force_create=False, code=None, update_pricelist=False, force_pricelist=False): """ Return the current sale order after mofications specified by params. @@ -350,7 +344,7 @@ class Website(models.Model): sale_order = self.env['sale.order'].sudo().create({ 'partner_id': partner.id, 'pricelist_id': pricelist_id, - 'payment_term_id': partner.property_payment_term_id.id, + 'payment_term_id': self.sale_get_payment_term(partner), 'team_id': self.salesteam_id.id, 'partner_invoice_id': addr['invoice'], 'partner_shipping_id': addr['delivery'], @@ -391,6 +385,7 @@ class Website(models.Model): sale_order.write({'partner_id': partner.id}) sale_order.onchange_partner_id() sale_order.onchange_partner_shipping_id() # fiscal position + sale_order['payment_term_id'] = self.sale_get_payment_term(partner) # check the pricelist : update it if the pricelist is not the 'forced' one values = {} diff --git a/addons/website_sale/security/website_sale.xml b/addons/website_sale/security/website_sale.xml index 4a129d60ece..77410d72f51 100644 --- a/addons/website_sale/security/website_sale.xml +++ b/addons/website_sale/security/website_sale.xml @@ -11,7 +11,7 @@ <field name="perm_create" eval="False"/> <field name="perm_unlink" eval="False"/> </record> - + <record id="product_supplierinfo_public" model="ir.rule"> <field name="name">Public product supplierinfo</field> <field name="model_id" ref="product.model_product_supplierinfo"/> @@ -41,5 +41,7 @@ <field name="category_id" ref="base.module_category_hidden"/> </record> - + <record id="sales_team.group_sale_manager" model="res.groups"> + <field name="implied_ids" eval="[(4, ref('website.group_website_publisher'))]"/> + </record> </odoo> diff --git a/addons/website_sale/static/src/css/website_sale.css b/addons/website_sale/static/src/css/website_sale.css index d5c3d999e47..f1def903329 100644 --- a/addons/website_sale/static/src/css/website_sale.css +++ b/addons/website_sale/static/src/css/website_sale.css @@ -366,6 +366,7 @@ div#payment_method .list-group-item { min-height: 100px; position: relative; padding-bottom: 5px; + padding-left: 180px; } .oe_product.oe_list .oe_product_image { top: 0; @@ -377,9 +378,10 @@ div#payment_method .list-group-item { .oe_product.oe_list section { position: relative; border: 0; - top: 0; + top: auto; bottom: auto; - left: 180px; + left: auto; + right: auto; background: transparent; } } diff --git a/addons/website_sale/static/src/css/website_sale.sass b/addons/website_sale/static/src/css/website_sale.sass index e6dc2a037ad..7cc6cfc0341 100644 --- a/addons/website_sale/static/src/css/website_sale.sass +++ b/addons/website_sale/static/src/css/website_sale.sass @@ -314,6 +314,7 @@ div#payment_method min-height: 100px position: relative padding-bottom: 5px + padding-left: 180px .oe_product_image top: 0 bottom: 0 @@ -323,9 +324,10 @@ div#payment_method section position: relative border: 0 - top: 0 + top: auto bottom: auto - left: 180px + left: auto + right: auto background: transparent .oe_website_sale .row .row .col-md-12 diff --git a/addons/website_sale/static/src/js/website_sale_tour_buy.js b/addons/website_sale/static/src/js/website_sale_tour_buy.js index c5a3b8abb31..18db42a1270 100644 --- a/addons/website_sale/static/src/js/website_sale_tour_buy.js +++ b/addons/website_sale/static/src/js/website_sale_tour_buy.js @@ -2,8 +2,13 @@ odoo.define('website_sale.tour', function (require) { 'use strict'; var tour = require("web_tour.tour"); +var base = require("web_editor.base"); -tour.register('shop_buy_product', { test: true, url: '/shop' }, +tour.register('shop_buy_product', { + test: true, + url: '/shop', + wait_for: base.ready() +}, [ { content: "search ipod", diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 08176025418..04e38d4f751 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -201,9 +201,7 @@ <t t-if="not bins"> <div class="text-center text-muted"> <h3 class="css_editable_display">No product defined.</h3> - <t groups="website.group_website_publisher"> - <p groups="sales_team.group_sale_manager">Click <i>'New'</i> in the top-right corner to create your first product.</p> - </t> + <p groups="sales_team.group_sale_manager">Click <i>'New'</i> in the top-right corner to create your first product.</p> </div> </t> </div> @@ -471,14 +469,27 @@ </div> <hr /> <p class="text-muted"> - 30-day money-back guarantee<br /> - Free Shipping in U.S.<br /> - Buy now, get in 2 days - </p> + 30-day money-back guarantee<br /> + Free Shipping in U.S.<br /> + Buy now, get in 2 days + </p> </div> </div> </section> <div itemprop="description" t-field="product.website_description" class="oe_structure mt16" id="product_full_description" /> + <t t-set="head"> + <!-- Facebook and linkedin sharing data --> + <meta property="og:type" content="website" /> + <meta property="og:url" t-att-content="request.httprequest.url" /> + <meta property="og:image" t-attf-content="#{request.httprequest.url_root}web/image/product.template/#{product.id}/image" /> + <meta property="og:description" t-att-content="product.description_sale" /> + <!-- Twitter sharing data --> + <meta name="twitter:card" content="summary_large_image" /> + <meta name="twitter:site" t-attf-content="@#{res_company.name}" /> + <meta name="twitter:title" t-att-content="product.name" /> + <meta name="twitter:description" t-att-content="product.description_sale" /> + <meta name="twitter:image" t-attf-content="#{request.httprequest.url_root}web/image/product.template/#{product.id}/image" /> + </t> </div> </t> </template> @@ -868,8 +879,8 @@ <t t-if="(compute_currency(line.product_id.lst_price) - line.price_reduce ) > 0.01 and website.get_current_pricelist().discount_policy=='without_discount'"> <del t-attf-class="#{'text-danger mr8'}" style="white-space: nowrap;" t-esc="compute_currency(line.product_id.website_public_price)" t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}" /> </t> - <span t-field="line.price_reduce_taxexcl" style="white-space: nowrap;" t-options="{'widget': 'monetary'}" groups="sale.group_show_price_subtotal" /> - <span t-field="line.price_reduce_taxinc" style="white-space: nowrap;" t-options="{'widget': 'monetary'}" groups="sale.group_show_price_total" /> + <span t-field="line.price_reduce_taxexcl" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_subtotal" /> + <span t-field="line.price_reduce_taxinc" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'from_currency': website_sale_order.pricelist_id.currency_id, 'display_currency': website.currency_id}" groups="sale.group_show_price_total" /> </td> </tr> </t> @@ -1139,9 +1150,10 @@ <div class="col-md-9 oe_cart"> <div class="row"> <t t-if="mode == ('new', 'billing')"> - <h3 class="page-header mt16">Your Address + <h3 class="page-header mt16">Your Address <small> or </small> - <a href='/web/signup?redirect=/shop/checkout' class='btn btn-primary' style="margin-top: -11px">Sign Up</a> + <t t-set='connect' t-value="request.env['ir.config_parameter'].sudo().get_param('auth_signup.allow_uninvited') == 'True' and ('signup', 'Sign Up') or ('login', 'Log In')"/> + <a t-attf-href='/web/{{connect[0]}}?redirect=/shop/checkout' class='btn btn-primary' style="margin-top: -11px"><t t-esc='connect[1]'/></a> </h3> </t> <t t-if="mode == ('edit', 'billing')"> @@ -1349,7 +1361,7 @@ <div class="list-group"> <t t-foreach='tokens' t-as='token'> <a class="list-group-item btn_payment_token" t-att-data-acquirer="token.acquirer_id.id" t-att-data-token='token.id'> - <span class="js_radio fa fa-circle-o"></span>&nbsp; + <span class="js_radio fa fa-circle-o"></span>&nbsp; <t t-esc="token.name" /> <t t-if="len(set(tokens.mapped('acquirer_id')))>1"> (<t t-esc='token.acquirer_id.name'/>) diff --git a/addons/website_sale_options/i18n/website_sale_options.pot b/addons/website_sale_options/i18n/website_sale_options.pot index 410242864b7..8e06e187abd 100644 --- a/addons/website_sale_options/i18n/website_sale_options.pot +++ b/addons/website_sale_options/i18n/website_sale_options.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 9.saas~10c\n" +"Project-Id-Version: Odoo Server 10.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:08+0000\n" -"PO-Revision-Date: 2016-08-18 14:08+0000\n" +"POT-Creation-Date: 2016-09-29 14:01+0000\n" +"PO-Revision-Date: 2016-09-29 14:01+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,14 +16,6 @@ msgstr "" "Plural-Forms: \n" #. module: website_sale_options -#: code:addons/website_sale_options/models/sale_order.py:44 -#: code:addons/website_sale_options/models/sale_order.py:56 -#, python-format -msgid "%s\n" -"Option for: %s" -msgstr "" - -#. module: website_sale_options #: model:product.attribute.value,name:website_sale_options.product_attribute_value_1 msgid "1 year" msgstr "" @@ -69,11 +61,28 @@ msgid "Linked Order Line" msgstr "" #. module: website_sale_options +#: code:addons/website_sale_options/models/sale_order.py:46 +#, python-format +msgid "Option for:" +msgstr "" + +#. module: website_sale_options +#: code:addons/website_sale_options/models/sale_order.py:48 +#, python-format +msgid "Option:" +msgstr "" + +#. module: website_sale_options #: model:ir.model.fields,field_description:website_sale_options.field_product_template_optional_product_ids msgid "Optional Products" msgstr "" #. module: website_sale_options +#: model:ir.model.fields,help:website_sale_options.field_product_template_optional_product_ids +msgid "Optional Products are suggested whenever the customer hits *Add to Cart* (cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: website_sale_options #: model:ir.model.fields,field_description:website_sale_options.field_sale_order_line_option_line_ids msgid "Options Linked" msgstr "" @@ -104,11 +113,6 @@ msgid "Product to add in your shopping cart" msgstr "" #. module: website_sale_options -#: model:ir.model.fields,help:website_sale_options.field_product_template_optional_product_ids -msgid "Products to propose when add to cart." -msgstr "" - -#. module: website_sale_options #: model:ir.ui.view,arch_db:website_sale_options.modal msgid "Quantity" msgstr "" @@ -144,10 +148,3 @@ msgstr "" msgid "Warranty, issued to the purchaser of an article by its manufacturer, promising to repair or replace it if necessary within a specified period of time." msgstr "" -#. module: website_sale_options -#. openerp-web -#: code:addons/website_sale_options/static/src/js/website_sale.test.js:13 -#, python-format -msgid "click in modal on 'Proceed to checkout' button" -msgstr "" - diff --git a/addons/website_sale_options/static/src/js/website_sale.test.js b/addons/website_sale_options/static/src/js/website_sale.test.js index 947d30079ba..c4e38e1fcf3 100644 --- a/addons/website_sale_options/static/src/js/website_sale.test.js +++ b/addons/website_sale_options/static/src/js/website_sale.test.js @@ -3,6 +3,7 @@ odoo.define('website_sale.test', function (require) { require("website_sale.tour"); var tour = require("web_tour.tour"); +var base = require("web_editor.base"); var steps = tour.tours.shop_buy_product.steps; for (var k=0; k<steps.length; k++) { @@ -15,7 +16,11 @@ for (var k=0; k<steps.length; k++) { } } -tour.register('shop_customize', { test: true, url: '/shop' }, +tour.register('shop_customize', { + test: true, + url: '/shop', + wait_for: base.ready() +}, [ { content: "open customize menu", diff --git a/addons/website_slides/models/slides.py b/addons/website_slides/models/slides.py index 836b32f6235..b6dc690cc99 100644 --- a/addons/website_slides/models/slides.py +++ b/addons/website_slides/models/slides.py @@ -425,9 +425,7 @@ class Slide(models.Model): @api.multi def get_access_action(self): - """ Override method that generated the link to access the document. Instead - of the classic form view, redirect to the slide on the website directly - if it is published. """ + """ Instead of the classic form view, redirect to website if it is published. """ self.ensure_one() if self.website_published: return { @@ -439,15 +437,15 @@ class Slide(models.Model): return super(Slide, self).get_access_action() @api.multi - def _notification_get_recipient_groups(self, message, recipients): - """ Override to set the access button: everyone can see an access button - on their notification email if the slide is published. """ - res = super(Slide, self)._notification_get_recipient_groups(message, recipients) - if all(slide.website_published for slide in self): - access_action = self._notification_link_helper('view', model=message.model, res_id=message.res_id) - for category, data in res.iteritems(): - res[category]['button_access'] = {'url': access_action, 'title': _('View Slide')} - return res + def _notification_recipients(self, message, groups): + groups = super(Slide, self)._notification_recipients(message, groups) + + self.ensure_one() + if self.website_published: + for group_name, group_method, group_data in groups: + group_data['has_button_access'] = True + + return groups def get_related_slides(self, limit=20): domain = [('website_published', '=', True), ('channel_id.visibility', '!=', 'private'), ('id', '!=', self.id)] diff --git a/addons/website_slides/static/src/img/channel-default.jpg b/addons/website_slides/static/src/img/channel-default.jpg Binary files differnew file mode 100644 index 00000000000..dce2a23b9b2 --- /dev/null +++ b/addons/website_slides/static/src/img/channel-default.jpg diff --git a/addons/website_slides/view/website_slides.xml b/addons/website_slides/view/website_slides.xml index d5d0826889c..0441b030ed9 100644 --- a/addons/website_slides/view/website_slides.xml +++ b/addons/website_slides/view/website_slides.xml @@ -44,7 +44,7 @@ <div> <a t-attf-href="/slides/#{slug(channel)}"> <img t-if="channel.promoted_slide_id" t-attf-src="/web/image/slide.slide/#{channel.promoted_slide_id.id}/image_medium" class="img-responsive oe_slides_channel_thumbnail"/> - <img t-if="not channel.promoted_slide_id" src="/website_slides/static/description/channel-default.jpg" class="img-responsive oe_slides_opacity"/> + <img t-if="not channel.promoted_slide_id" src="/website_slides/static/src/img/channel-default.jpg" class="img-responsive oe_slides_opacity"/> </a> </div> <div> |
