From f2158e32c80d9a34aa4ba57e217e5664fca1e985 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 31 Oct 2016 01:43:47 +0100 Subject: [PATCH 1/7] [FIX] http: permit debug mode on CORS-enabled routes As of f814dd9908355465dd03735f4589dd1697b3658a, debug mode causes an extra X-Debug-Mode header to be sent by the rpc() JS method. This custom header was not whitelisted in the accepted CORS headers, therefore any cross-origin call to a route with `cors=True` would fail in debug mode, with a console error along those lines: "Request header field X-Debug-Mode is not allowed by Access-Control-Allow-Headers in preflight response" This would prevent loading the POS GUI in debug mode, for example. This commit is necessary in the 8.0 branch because the POSBox is currently based on a 8.0 server and may be accessed by a 9.0 POS or later, thus with the extra header. --- openerp/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/http.py b/openerp/http.py index 994a396ffa7..4900e140ce0 100644 --- a/openerp/http.py +++ b/openerp/http.py @@ -684,7 +684,7 @@ class HttpRequest(WebRequest): if request.httprequest.method == 'OPTIONS' and request.endpoint and request.endpoint.routing.get('cors'): headers = { 'Access-Control-Max-Age': 60 * 60 * 24, - 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept' + 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, X-Debug-Mode' } return Response(status=200, headers=headers) From 25087861271caf6dc9dab6aef46f40bd89cb575f Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Wed, 2 Nov 2016 14:44:06 +0100 Subject: [PATCH 2/7] [FIX] account_asset: first depreciation amount When an asset is set as Prorata Temporis, with a one month period, the first depreciation amount is computed on the basis of the remaining days in the purchase year. This doesn't make sense for a monthly depreciation. This commit makes the distinction between a monthly and a yearly depreciation. In the case of a monthly depreciation, the remaining days in the purchase month are taken into account. opw-690034 --- addons/account_asset/account_asset.py | 37 +++++++++++++++---- .../test/account_asset_wizard.yml | 2 +- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 12472ff4740..a2c0b88bc34 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -20,10 +20,12 @@ ############################################################################## import time +import calendar from datetime import datetime from dateutil.relativedelta import relativedelta from openerp.osv import fields, osv +from openerp.tools import float_is_zero import openerp.addons.decimal_precision as dp from openerp.tools import float_compare from openerp.tools.translate import _ @@ -112,19 +114,35 @@ class account_asset_asset(osv.osv): amount = amount_to_depr / (undone_dotation_number - len(posted_depreciation_line_ids)) if asset.prorata: amount = amount_to_depr / asset.method_number - days = total_days - float(depreciation_date.strftime('%j')) if i == 1: - amount = (amount_to_depr / asset.method_number) / total_days * days - elif i == undone_dotation_number: - amount = (amount_to_depr / asset.method_number) / total_days * (total_days - days) + purchase_date = datetime.strptime(asset.purchase_date, '%Y-%m-%d') + if asset.method_period % 12 != 0: + # Calculate depreciation for remaining days in the month + # Example: asset value of 120, monthly depreciation, 12 depreciations + # (120 (Asset value)/ (12 (Number of Depreciations) * 1 (Period Length))) / 31 (days of month) * 12 (days to depreciate in purchase month) + month_days = calendar.monthrange(purchase_date.year, purchase_date.month)[1] + days = month_days - purchase_date.day + 1 + amount = (amount_to_depr / (asset.method_number * asset.method_period)) / month_days * days + else: + # Calculate depreciation for remaining days in the year + # Example: asset value of 120, yearly depreciation, 12 depreciations + # (120 (Asset value)/ (12 (Number of Depreciations) * 1 (Period Length, in years))) / 365 (days of year) * 75 (days to depreciate in purchase year) + year_days = 366 if purchase_date.year % 4 == 0 else 365 + days = year_days - float(depreciation_date.strftime('%j')) + 1 + amount = (amount_to_depr / (asset.method_number * (asset.method_period / 12))) / year_days * days elif asset.method == 'degressive': amount = residual_amount * asset.method_progress_factor if asset.prorata: - days = total_days - float(depreciation_date.strftime('%j')) if i == 1: - amount = (residual_amount * asset.method_progress_factor) / total_days * days - elif i == undone_dotation_number: - amount = (residual_amount * asset.method_progress_factor) / total_days * (total_days - days) + purchase_date = datetime.strptime(asset.purchase_date, '%Y-%m-%d') + if asset.method_period % 12 != 0: + month_days = calendar.monthrange(purchase_date.year, purchase_date.month)[1] + days = month_days - purchase_date.day + 1 + amount = (residual_amount * asset.method_progress_factor) / month_days * days + else: + year_days = 366 if purchase_date.year % 4 == 0 else 365 + days = year_days - float(depreciation_date.strftime('%j')) + 1 + amount = (residual_amount * asset.method_progress_factor * (asset.method_period / 12)) / year_days * days return amount def _compute_board_undone_dotation_nb(self, cr, uid, asset, depreciation_date, total_days, context=None): @@ -167,10 +185,13 @@ class account_asset_asset(osv.osv): year = depreciation_date.year total_days = (year % 4) and 365 or 366 + precision_digits = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account') undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context) for x in range(len(posted_depreciation_line_ids), undone_dotation_number): i = x + 1 amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date, context=context) + if float_is_zero(amount, precision_digits=precision_digits): + continue residual_amount -= amount vals = { 'amount': amount, diff --git a/addons/account_asset/test/account_asset_wizard.yml b/addons/account_asset/test/account_asset_wizard.yml index 7b77e5cfdda..9b05096e052 100644 --- a/addons/account_asset/test/account_asset_wizard.yml +++ b/addons/account_asset/test/account_asset_wizard.yml @@ -13,7 +13,7 @@ I check the proper depreciation lines created. - !assert {model: account.asset.asset, id: account_asset.account_asset_asset_office0}: - - method_number == len(depreciation_line_ids) -1 + - method_number == len(depreciation_line_ids) - I create a period to compute a asset on period. - From e0ffc23a59d5ddef27b60047729c21a081408687 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Thu, 3 Nov 2016 14:45:06 +0100 Subject: [PATCH 3/7] [FIX] report_intrastat: Not allowed to delete record It's not allowed to delete record from the tree view of intrastat report. opw:692016 --- addons/report_intrastat/report_intrastat_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/report_intrastat/report_intrastat_view.xml b/addons/report_intrastat/report_intrastat_view.xml index f1147d7f28c..1fbbc865509 100644 --- a/addons/report_intrastat/report_intrastat_view.xml +++ b/addons/report_intrastat/report_intrastat_view.xml @@ -75,7 +75,7 @@ report.intrastat.view report.intrastat - + From 369e0bcb452f27176914ce0abcd872249fe9ee3c Mon Sep 17 00:00:00 2001 From: Odoo Translation Bot Date: Sun, 6 Nov 2016 02:56:48 +0100 Subject: [PATCH 4/7] [I18N] Update translation terms from Transifex --- addons/account/i18n/ro.po | 4 ++-- addons/account/i18n/zh_CN.po | 24 ++++++++++++------------ addons/account_followup/i18n/fi.po | 8 ++++---- addons/crm/i18n/ro.po | 6 +++--- addons/crm_partner_assign/i18n/ro.po | 6 +++--- addons/google_drive/i18n/ro.po | 4 ++-- addons/hr_expense/i18n/it.po | 4 ++-- addons/hr_recruitment/i18n/it.po | 4 ++-- addons/hr_timesheet_sheet/i18n/ja.po | 10 +++++----- addons/mail/i18n/ru.po | 4 ++-- addons/mass_mailing/i18n/pt.po | 4 ++-- addons/membership/i18n/pt.po | 4 ++-- addons/payment/i18n/ro.po | 8 ++++---- addons/payment_paypal/i18n/pt.po | 4 ++-- addons/point_of_sale/i18n/ru.po | 4 ++-- addons/point_of_sale/i18n/th.po | 8 ++++---- addons/portal_project_issue/i18n/ro.po | 4 ++-- addons/project/i18n/ro.po | 4 ++-- addons/project_issue/i18n/ro.po | 6 +++--- addons/sale_layout/i18n/th.po | 4 ++-- addons/stock/i18n/ro.po | 6 +++--- addons/stock_picking_wave/i18n/ro.po | 4 ++-- addons/website_event/i18n/el.po | 8 ++++---- addons/website_payment/i18n/ro.po | 4 ++-- addons/website_quote/i18n/th.po | 4 ++-- addons/website_sale/i18n/th.po | 4 ++-- openerp/addons/base/i18n/ro.po | 24 ++++++++++++------------ openerp/addons/base/i18n/sv.po | 6 +++--- 28 files changed, 92 insertions(+), 92 deletions(-) diff --git a/addons/account/i18n/ro.po b/addons/account/i18n/ro.po index 5d931337a9e..7599c9ae012 100644 --- a/addons/account/i18n/ro.po +++ b/addons/account/i18n/ro.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-15 06:40+0000\n" -"PO-Revision-Date: 2016-05-31 14:19+0000\n" +"PO-Revision-Date: 2016-10-31 20:21+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -3054,7 +3054,7 @@ msgstr "Creați Rambursare" #: code:addons/account/static/src/js/account_widgets.js:1294 #, python-format msgid "Create Write-off" -msgstr "" +msgstr "Crează pierdere" #. module: account #: selection:account.invoice.refund,filter_refund:0 diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 78044081655..2dacbaad17b 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -20,8 +20,8 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-15 06:40+0000\n" -"PO-Revision-Date: 2016-10-04 21:07+0000\n" -"Last-Translator: liAnGjiA \n" +"PO-Revision-Date: 2016-11-04 08:33+0000\n" +"Last-Translator: Jeffery Chenn \n" "Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-8/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -199,7 +199,7 @@ msgstr "(如果您不选择会计期间,所有开放的期间将被选择) #. module: account #: view:account.state.open:account.view_account_state_open msgid "(Invoice should be unreconciled if you want to open it)" -msgstr "(如果您想打开它发票要反调节)" +msgstr "(如果您想打开发票,它应当是未调节的)" #. module: account #: view:account.analytic.chart:account.account_analytic_chart_view @@ -952,12 +952,12 @@ msgstr "科目类型" #. module: account #: model:ir.model,name:account.model_account_unreconcile msgid "Account Unreconcile" -msgstr "科目未调节" +msgstr "会计取消调节" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile msgid "Account Unreconcile Reconcile" -msgstr "科目未调节调节" +msgstr "会计取消调节调节" #. module: account #: model:ir.model,name:account.model_account_vat_declaration @@ -2177,7 +2177,7 @@ msgstr "不能 %s 草稿或形式发票或取消 发票" msgid "" "Cannot %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only refund this invoice." -msgstr "不能 %s 已经调节的发票, 发票必须被首先反调节。只能退还这张发票。" +msgstr "不能 %s 已经调节的发票, 发票必须被首先取消调节。只能退还这张发票。" #. module: account #: code:addons/account/account_move_line.py:1299 @@ -10742,20 +10742,20 @@ msgstr "未实现收入和损失" #: view:account.unreconcile:account.account_unreconcile_view #: view:account.unreconcile.reconcile:account.account_unreconcile_reconcile_view msgid "Unreconcile" -msgstr "未调节" +msgstr "取消调节" #. module: account #: model:ir.actions.act_window,name:account.action_account_unreconcile #: model:ir.actions.act_window,name:account.action_account_unreconcile_reconcile #: model:ir.actions.act_window,name:account.action_account_unreconcile_select msgid "Unreconcile Entries" -msgstr "未调节分录" +msgstr "取消调节分录" #. module: account #: view:account.unreconcile:account.account_unreconcile_view #: view:account.unreconcile.reconcile:account.account_unreconcile_reconcile_view msgid "Unreconcile Transactions" -msgstr "未调节交易" +msgstr "取消调节交易" #. module: account #: selection:account.account.type,close_method:0 @@ -11225,7 +11225,7 @@ msgstr "可以在凭证模版的名称上使用年月日变量\n\n%(year)s:本 msgid "" "You cannot cancel an invoice which is partially paid. You need to " "unreconcile related payment entries first." -msgstr "已部分付款的发票,不能取消。请先反调节相关的付款分录。" +msgstr "已部分付款的发票,不能取消。请先取消调节相关的付款分录。" #. module: account #: code:addons/account/account.py:691 @@ -11345,7 +11345,7 @@ msgstr "不可修改一个已确认的分录,只可变动一些无特别要求 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 "已调节的记录不能修改。仅能编辑非正式字段 或 先撤销调节. \n%s" +msgstr "已调节的记录不能修改。仅能编辑非正式字段 或 先取消调节. \n%s" #. module: account #: code:addons/account/account.py:1352 @@ -11389,7 +11389,7 @@ msgid "" "You cannot unreconcile journal items if they has been generated by the" " opening/closing " "fiscal year process." -msgstr "你不能反调节由开启/关闭会计年度过程生成的分类账项目。" +msgstr "你不能取消调节由开启/关闭会计年度过程生成的分类账项目。" #. module: account #: code:addons/account/account_move_line.py:1173 diff --git a/addons/account_followup/i18n/fi.po b/addons/account_followup/i18n/fi.po index 30f77c30d9f..95504c92b76 100644 --- a/addons/account_followup/i18n/fi.po +++ b/addons/account_followup/i18n/fi.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-10-07 07:59+0000\n" +"PO-Revision-Date: 2016-11-04 18:22+0000\n" "Last-Translator: Jarmo Kortetjärvi \n" "Language-Team: Finnish (http://www.transifex.com/odoo/odoo-8/language/fi/)\n" "MIME-Version: 1.0\n" @@ -217,7 +217,7 @@ msgstr "\nHyvä %(partner_name)s,\n\nToistuvista muistutuksista huolimatta lasku #: code:addons/account_followup/wizard/account_followup_print.py:174 #, python-format msgid " email(s) sent" -msgstr "Lähetetyt sähköpostit" +msgstr " sähköposti(a) lähetetty" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:176 @@ -235,13 +235,13 @@ msgstr " oli tuntemattomia sähköpostiosoitteita" #: code:addons/account_followup/wizard/account_followup_print.py:177 #, python-format msgid " letter(s) in report" -msgstr "kirje(ttä) raportilla" +msgstr " kirje(ttä) raportilla" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:177 #, python-format msgid " manual action(s) assigned:" -msgstr "käsintehtävä(t) toimenpide tai toimenpiteet asetettu:" +msgstr " käsintehtäv(i)ä toimenpiteitä määritetty:" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:171 diff --git a/addons/crm/i18n/ro.po b/addons/crm/i18n/ro.po index 00a02ba5a01..10a0c89c711 100644 --- a/addons/crm/i18n/ro.po +++ b/addons/crm/i18n/ro.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-06-14 04:22+0000\n" +"PO-Revision-Date: 2016-10-31 19:13+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -1453,7 +1453,7 @@ msgstr "Piste care îmi sunt atribuite mie" #. module: crm #: view:crm.lead:crm.view_crm_case_leads_filter msgid "Leads that did not ask not to be included in mass mailing campaigns" -msgstr "" +msgstr "Piste care nu au cerut sa nu fie incluse în campaniile de mass mailing" #. module: crm #: view:crm.lead2opportunity.partner.mass:crm.view_crm_lead2opportunity_partner_mass @@ -1712,7 +1712,7 @@ msgstr "Oportunitate imbinata" #: code:addons/crm/base_partner_merge.py:326 #, python-format msgid "Merged with the following partners:" -msgstr "" +msgstr "Îmbină cu următorii parteneri" #. module: crm #: field:crm.lead,message_ids:0 field:crm.phonecall,message_ids:0 diff --git a/addons/crm_partner_assign/i18n/ro.po b/addons/crm_partner_assign/i18n/ro.po index a0ef0935ab2..b356215f4d1 100644 --- a/addons/crm_partner_assign/i18n/ro.po +++ b/addons/crm_partner_assign/i18n/ro.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-08 15:14+0000\n" -"PO-Revision-Date: 2016-10-29 00:03+0000\n" +"PO-Revision-Date: 2016-11-02 05:16+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -439,7 +439,7 @@ msgstr "ID" #. module: crm_partner_assign #: field:res.partner,implemented_partner_ids:0 msgid "Implementation References" -msgstr "" +msgstr "Referințe implementare" #. module: crm_partner_assign #: field:res.partner,assigned_partner_id:0 @@ -529,7 +529,7 @@ msgstr "Piste" #. module: crm_partner_assign #: model:ir.ui.menu,name:crm_partner_assign.portal_leads msgid "Leads & Opportunities" -msgstr "" +msgstr "Piste & oportunități" #. module: crm_partner_assign #: view:crm.lead.report.assign:crm_partner_assign.view_report_crm_lead_assign_filter diff --git a/addons/google_drive/i18n/ro.po b/addons/google_drive/i18n/ro.po index b4900bf4b51..c3013623261 100644 --- a/addons/google_drive/i18n/ro.po +++ b/addons/google_drive/i18n/ro.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-07-17 18:23+0000\n" +"PO-Revision-Date: 2016-11-02 05:24+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -302,7 +302,7 @@ msgstr "" #. module: google_drive #: view:base.config.settings:google_drive.inherited_google_view_general_configuration msgid "and paste it here" -msgstr "" +msgstr "și lipiți aici" #. module: google_drive #: view:google.drive.config:google_drive.view_google_drive_config_form diff --git a/addons/hr_expense/i18n/it.po b/addons/hr_expense/i18n/it.po index 913d89cdeb6..d12bed51c3f 100644 --- a/addons/hr_expense/i18n/it.po +++ b/addons/hr_expense/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-04-20 19:28+0000\n" +"PO-Revision-Date: 2016-11-03 16:47+0000\n" "Last-Translator: Paolo Valier\n" "Language-Team: Italian (http://www.transifex.com/odoo/odoo-8/language/it/)\n" "MIME-Version: 1.0\n" @@ -379,7 +379,7 @@ msgstr "Analisi spese" #. module: hr_expense #: view:hr.expense.expense:hr_expense.view_hr_expense_filter msgid "Expenses Month" -msgstr "" +msgstr "Mese spese" #. module: hr_expense #: view:hr.expense.expense:hr_expense.view_expenses_form diff --git a/addons/hr_recruitment/i18n/it.po b/addons/hr_recruitment/i18n/it.po index 951b9679be0..9f8eb13a52b 100644 --- a/addons/hr_recruitment/i18n/it.po +++ b/addons/hr_recruitment/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-04-20 19:28+0000\n" +"PO-Revision-Date: 2016-11-03 16:13+0000\n" "Last-Translator: Paolo Valier\n" "Language-Team: Italian (http://www.transifex.com/odoo/odoo-8/language/it/)\n" "MIME-Version: 1.0\n" @@ -1107,7 +1107,7 @@ msgstr "" #. module: hr_recruitment #: field:hr.applicant,attachment_number:0 msgid "Number of Attachments" -msgstr "" +msgstr "Numero di allegati" #. module: hr_recruitment #: help:hr.recruitment.report,delay_close:0 diff --git a/addons/hr_timesheet_sheet/i18n/ja.po b/addons/hr_timesheet_sheet/i18n/ja.po index d3236dd83ed..591806be285 100644 --- a/addons/hr_timesheet_sheet/i18n/ja.po +++ b/addons/hr_timesheet_sheet/i18n/ja.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-10-07 00:24+0000\n" +"PO-Revision-Date: 2016-10-31 00:45+0000\n" "Last-Translator: Yoshi Tashiro \n" "Language-Team: Japanese (http://www.transifex.com/odoo/odoo-8/language/ja/)\n" "MIME-Version: 1.0\n" @@ -29,22 +29,22 @@ msgstr "" #. module: hr_timesheet_sheet #: field:hr.timesheet.report,nbr:0 msgid "# Nbr Timesheet" -msgstr "" +msgstr "タイムシート件数" #. module: hr_timesheet_sheet #: field:hr.timesheet.report,total_attendance:0 msgid "# Total Attendance" -msgstr "" +msgstr "勤怠合計" #. module: hr_timesheet_sheet #: field:hr.timesheet.report,total_diff:0 msgid "# Total Diff" -msgstr "" +msgstr "合計差異" #. module: hr_timesheet_sheet #: field:hr.timesheet.report,total_timesheet:0 msgid "# Total Timesheet" -msgstr "" +msgstr "タイムシート合計" #. module: hr_timesheet_sheet #: model:ir.actions.act_window,help:hr_timesheet_sheet.act_hr_timesheet_sheet_form diff --git a/addons/mail/i18n/ru.po b/addons/mail/i18n/ru.po index 94c4fc25602..f00252f1125 100644 --- a/addons/mail/i18n/ru.po +++ b/addons/mail/i18n/ru.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-09-21 10:03+0000\n" +"PO-Revision-Date: 2016-11-04 12:57+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Russian (http://www.transifex.com/odoo/odoo-8/language/ru/)\n" "MIME-Version: 1.0\n" @@ -1953,7 +1953,7 @@ msgstr "" msgid "" "You cannot delete those groups, as the Whole Company group is required by " "other modules." -msgstr "" +msgstr "Вы на можете удалить такие группы, так как группа всей компании нужна множеству модулей." #. module: mail #: code:addons/mail/mail_thread.py:171 diff --git a/addons/mass_mailing/i18n/pt.po b/addons/mass_mailing/i18n/pt.po index 27a2eb67aac..2aea7f1d63e 100644 --- a/addons/mass_mailing/i18n/pt.po +++ b/addons/mass_mailing/i18n/pt.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2016-02-09 10:47+0000\n" +"PO-Revision-Date: 2016-11-03 16:37+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Portuguese (http://www.transifex.com/odoo/odoo-8/language/pt/)\n" "MIME-Version: 1.0\n" @@ -1041,7 +1041,7 @@ msgstr "" #. module: mass_mailing #: view:website:website.snippets msgid "Thanks" -msgstr "" +msgstr "Obrigado" #. module: mass_mailing #: view:website:website.snippets diff --git a/addons/membership/i18n/pt.po b/addons/membership/i18n/pt.po index e5ecaab18b5..9d123e31654 100644 --- a/addons/membership/i18n/pt.po +++ b/addons/membership/i18n/pt.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-10-29 15:51+0000\n" +"PO-Revision-Date: 2016-11-03 16:19+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Portuguese (http://www.transifex.com/odoo/odoo-8/language/pt/)\n" "MIME-Version: 1.0\n" @@ -85,7 +85,7 @@ msgstr "" #. module: membership #: view:res.partner:membership.view_partner_form msgid "Buy Membership" -msgstr "" +msgstr "Comprar Subscrição (Membro)" #. module: membership #: view:membership.invoice:membership.view_membership_invoice_view diff --git a/addons/payment/i18n/ro.po b/addons/payment/i18n/ro.po index 75878615369..a6dc2cf63ad 100644 --- a/addons/payment/i18n/ro.po +++ b/addons/payment/i18n/ro.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2016-10-27 17:31+0000\n" +"PO-Revision-Date: 2016-11-01 18:04+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -163,12 +163,12 @@ msgstr "" #. module: payment #: field:payment.acquirer,fees_dom_fixed:0 msgid "Fixed domestic fees" -msgstr "" +msgstr "Taxe locale fixe" #. module: payment #: field:payment.acquirer,fees_int_fixed:0 msgid "Fixed international fees" -msgstr "" +msgstr "Taxe internaționale fixe" #. module: payment #: field:payment.transaction,message_follower_ids:0 @@ -398,7 +398,7 @@ msgstr "Trimiteți un mesaj grupului" #. module: payment #: selection:payment.transaction,type:0 msgid "Server To Server" -msgstr "" +msgstr "Server To Server" #. module: payment #: help:payment.acquirer,validation:0 diff --git a/addons/payment_paypal/i18n/pt.po b/addons/payment_paypal/i18n/pt.po index 75e5bc1b351..2117064ae07 100644 --- a/addons/payment_paypal/i18n/pt.po +++ b/addons/payment_paypal/i18n/pt.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-11-19 22:51+0000\n" +"PO-Revision-Date: 2016-11-03 16:32+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Portuguese (http://www.transifex.com/odoo/odoo-8/language/pt/)\n" "MIME-Version: 1.0\n" @@ -104,7 +104,7 @@ msgstr "Tipo da transação" #. module: payment_paypal #: field:payment.acquirer,paypal_use_ipn:0 msgid "Use IPN" -msgstr "" +msgstr "Utilizar IPN" #. module: payment_paypal #: field:payment.acquirer,paypal_api_enabled:0 diff --git a/addons/point_of_sale/i18n/ru.po b/addons/point_of_sale/i18n/ru.po index c5394b85ec8..2f5bd39c8c8 100644 --- a/addons/point_of_sale/i18n/ru.po +++ b/addons/point_of_sale/i18n/ru.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-10-08 10:33+0000\n" +"PO-Revision-Date: 2016-11-04 12:44+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Russian (http://www.transifex.com/odoo/odoo-8/language/ru/)\n" "MIME-Version: 1.0\n" @@ -639,7 +639,7 @@ msgstr "" msgid "" "Check this if you want to group the Journal Items by Product while closing a" " Session" -msgstr "" +msgstr "Отметьте чтобы сгруппировать позиции журнала по продуктам при закрытии сессии" #. module: point_of_sale #. openerp-web diff --git a/addons/point_of_sale/i18n/th.po b/addons/point_of_sale/i18n/th.po index 2998cbfa762..a79f768ac94 100644 --- a/addons/point_of_sale/i18n/th.po +++ b/addons/point_of_sale/i18n/th.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-10-25 13:07+0000\n" +"PO-Revision-Date: 2016-11-04 15:40+0000\n" "Last-Translator: Khwunchai Jaengsawang \n" "Language-Team: Thai (http://www.transifex.com/odoo/odoo-8/language/th/)\n" "MIME-Version: 1.0\n" @@ -3399,14 +3399,14 @@ msgstr "รวม" #. module: point_of_sale #: field:pos.order.line,price_subtotal:0 msgid "Subtotal w/o Tax" -msgstr "" +msgstr "ยอดไม่รวมภาษี" #. module: point_of_sale #. openerp-web #: code:addons/point_of_sale/static/src/xml/pos.xml:969 #, python-format msgid "Subtotal:" -msgstr "" +msgstr "รวม" #. module: point_of_sale #: help:pos.session,cash_register_balance_end:0 @@ -3771,7 +3771,7 @@ msgstr "รวม" #. module: point_of_sale #: field:pos.session,cash_register_total_entry_encoding:0 msgid "Total Cash Transaction" -msgstr "" +msgstr "ธุรกรรมเงินสดทั้งหมด" #. module: point_of_sale #: field:report.pos.order,total_discount:0 diff --git a/addons/portal_project_issue/i18n/ro.po b/addons/portal_project_issue/i18n/ro.po index 6ccabd32e03..28732defe0b 100644 --- a/addons/portal_project_issue/i18n/ro.po +++ b/addons/portal_project_issue/i18n/ro.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-05-21 15:41+0000\n" +"PO-Revision-Date: 2016-11-01 21:03+0000\n" "Last-Translator: Martin Trigaux\n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/odoo-8/language/ro/)\n" +"Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" diff --git a/addons/project/i18n/ro.po b/addons/project/i18n/ro.po index 4b33afa3feb..90998603c70 100644 --- a/addons/project/i18n/ro.po +++ b/addons/project/i18n/ro.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-19 06:31+0000\n" -"PO-Revision-Date: 2016-10-23 10:20+0000\n" +"PO-Revision-Date: 2016-11-01 20:04+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -559,7 +559,7 @@ msgstr "Eroare ! Nu puteti crea sarcini recursive." #. module: project #: constraint:project.project:0 msgid "Error! project start-date must be lower than project end-date." -msgstr "" +msgstr "Eroare! Data de început a proiectului trebuie să fie înaintea datei de sfârșit a proiectului." #. module: project #: help:project.task.delegate,planned_hours_me:0 diff --git a/addons/project_issue/i18n/ro.po b/addons/project_issue/i18n/ro.po index 2b83159db07..420c77f0ced 100644 --- a/addons/project_issue/i18n/ro.po +++ b/addons/project_issue/i18n/ro.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2015-11-08 07:51+0000\n" +"PO-Revision-Date: 2016-11-03 18:37+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -650,7 +650,7 @@ msgstr "Problema Proiect" #. module: project_issue #: view:project.issue:project_issue.project_issue_graph_view msgid "Project Issues" -msgstr "" +msgstr "Probleme proiect" #. module: project_issue #: view:project.issue:project_issue.project_issue_kanban_view @@ -828,7 +828,7 @@ msgstr "Nu puteti avansa aceasta problema.\nProiectul relevant nu a configurat P #: code:addons/project_issue/project_issue.py:348 #, python-format msgid "issues" -msgstr "" +msgstr "probleme" #. module: project_issue #: field:project.project,issue_ids:0 diff --git a/addons/sale_layout/i18n/th.po b/addons/sale_layout/i18n/th.po index 85041251423..4aef2c0828e 100644 --- a/addons/sale_layout/i18n/th.po +++ b/addons/sale_layout/i18n/th.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:07+0000\n" -"PO-Revision-Date: 2016-04-01 14:17+0000\n" +"PO-Revision-Date: 2016-11-04 15:40+0000\n" "Last-Translator: Khwunchai Jaengsawang \n" "Language-Team: Thai (http://www.transifex.com/odoo/odoo-8/language/th/)\n" "MIME-Version: 1.0\n" @@ -196,7 +196,7 @@ msgstr "กำหนดเลขที่เอกสาร" #. module: sale_layout #: view:website:sale_layout.subtotal_template msgid "Subtotal:" -msgstr "" +msgstr "รวม" #. module: sale_layout #: view:website:account.report_invoice_document diff --git a/addons/stock/i18n/ro.po b/addons/stock/i18n/ro.po index e4b568f89c8..a8b51106c70 100644 --- a/addons/stock/i18n/ro.po +++ b/addons/stock/i18n/ro.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-01-14 12:26+0000\n" -"PO-Revision-Date: 2016-10-27 16:38+0000\n" +"PO-Revision-Date: 2016-10-31 17:31+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -1131,7 +1131,7 @@ msgstr "Date de inventariere și mișcări" #. module: stock #: model:ir.model,name:stock.model_report_stock_lines_date msgid "Dates of Inventories and latest Moves" -msgstr "" +msgstr "Date de inventariere și ultimele mișcări" #. module: stock #: model:res.company,overdue_msg:stock.res_company_1 @@ -3710,7 +3710,7 @@ msgstr "" #. module: stock #: help:stock.move,reserved_availability:0 msgid "Quantity that has already been reserved for this move" -msgstr "" +msgstr "Cantitate ce deja a fost rezervată pentru această mișcare" #. module: stock #: model:ir.actions.act_window,name:stock.quantsact diff --git a/addons/stock_picking_wave/i18n/ro.po b/addons/stock_picking_wave/i18n/ro.po index 0e5910d2d6e..6fe96e5db78 100644 --- a/addons/stock_picking_wave/i18n/ro.po +++ b/addons/stock_picking_wave/i18n/ro.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2016-10-29 02:42+0000\n" +"PO-Revision-Date: 2016-10-31 17:42+0000\n" "Last-Translator: Martin Trigaux\n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -116,7 +116,7 @@ msgstr "Eroare!" #. module: stock_picking_wave #: view:stock.picking.wave:stock_picking_wave.view_picking_wave_form msgid "Force availability" -msgstr "" +msgstr "Forțează disponibilitate" #. module: stock_picking_wave #: view:stock.picking.wave:stock_picking_wave.view_picking_wave_filter diff --git a/addons/website_event/i18n/el.po b/addons/website_event/i18n/el.po index 6b139e4873b..b96d5f430ed 100644 --- a/addons/website_event/i18n/el.po +++ b/addons/website_event/i18n/el.po @@ -3,14 +3,14 @@ # * website_event # # Translators: -# Goutoudis Kostas , 2015 +# Kostas Goutoudis , 2015 msgid "" msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-12-27 23:28+0000\n" -"Last-Translator: Goutoudis Kostas \n" +"PO-Revision-Date: 2016-11-01 15:16+0000\n" +"Last-Translator: Kostas Goutoudis \n" "Language-Team: Greek (http://www.transifex.com/odoo/odoo-8/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -195,7 +195,7 @@ msgstr "" #: model:mail.message.subtype,description:website_event.mt_event_unpublished #: model:mail.message.subtype,name:website_event.mt_event_unpublished msgid "Event unpublished" -msgstr "" +msgstr "Εκδήλωση Μη δημοσιοποιημένη" #. module: website_event #: view:website:website.layout diff --git a/addons/website_payment/i18n/ro.po b/addons/website_payment/i18n/ro.po index 91423ee5215..23973347532 100644 --- a/addons/website_payment/i18n/ro.po +++ b/addons/website_payment/i18n/ro.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:09+0000\n" -"PO-Revision-Date: 2015-05-20 13:29+0000\n" +"PO-Revision-Date: 2016-10-31 16:49+0000\n" "Last-Translator: Martin Trigaux\n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/odoo-8/language/ro/)\n" +"Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" diff --git a/addons/website_quote/i18n/th.po b/addons/website_quote/i18n/th.po index 3eeb0022cce..30e46591345 100644 --- a/addons/website_quote/i18n/th.po +++ b/addons/website_quote/i18n/th.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-03-25 13:43+0000\n" -"PO-Revision-Date: 2016-07-08 08:28+0000\n" +"PO-Revision-Date: 2016-11-04 15:40+0000\n" "Last-Translator: Khwunchai Jaengsawang \n" "Language-Team: Thai (http://www.transifex.com/odoo/odoo-8/language/th/)\n" "MIME-Version: 1.0\n" @@ -1022,7 +1022,7 @@ msgstr "" #. module: website_quote #: view:website:website_quote.pricing msgid "Subtotal:" -msgstr "" +msgstr "รวม" #. module: website_quote #: view:sale.order:website_quote.sale_order_form_quote diff --git a/addons/website_sale/i18n/th.po b/addons/website_sale/i18n/th.po index aed3f130ce8..8ed48cb292a 100644 --- a/addons/website_sale/i18n/th.po +++ b/addons/website_sale/i18n/th.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:09+0000\n" -"PO-Revision-Date: 2016-07-29 05:51+0000\n" +"PO-Revision-Date: 2016-11-04 15:40+0000\n" "Last-Translator: Khwunchai Jaengsawang \n" "Language-Team: Thai (http://www.transifex.com/odoo/odoo-8/language/th/)\n" "MIME-Version: 1.0\n" @@ -891,7 +891,7 @@ msgstr "" #. module: website_sale #: view:website:website_sale.checkout msgid "Subtotal:" -msgstr "" +msgstr "รวม" #. module: website_sale #: view:website:website_sale.product diff --git a/openerp/addons/base/i18n/ro.po b/openerp/addons/base/i18n/ro.po index 816723d2f12..5be1820d42b 100644 --- a/openerp/addons/base/i18n/ro.po +++ b/openerp/addons/base/i18n/ro.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-19 06:31+0000\n" -"PO-Revision-Date: 2016-10-23 20:25+0000\n" +"PO-Revision-Date: 2016-11-02 05:20+0000\n" "Last-Translator: Dorin Hongu \n" "Language-Team: Romanian (http://www.transifex.com/odoo/odoo-8/language/ro/)\n" "MIME-Version: 1.0\n" @@ -6480,12 +6480,12 @@ msgstr "Data creării" #. module: base #: model:ir.module.module,summary:base.module_crm_project_issue msgid "Create Issues from Leads" -msgstr "" +msgstr "Creează probleme din piste" #. module: base #: model:ir.module.module,summary:base.module_website_crm msgid "Create Leads From Contact Form" -msgstr "" +msgstr "Creează piste din formularul de contact" #. module: base #: model:ir.actions.act_window,name:base.act_menu_create @@ -7284,7 +7284,7 @@ msgstr "Republica Dominicana" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_do msgid "Dominican Republic - Accounting" -msgstr "" +msgstr "Republica Dominicană - contabilitate" #. module: base #: selection:ir.actions.todo,state:0 @@ -8686,7 +8686,7 @@ msgstr "Resurse Umane" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_hu msgid "Hungarian - Accounting" -msgstr "" +msgstr "Ungaria - contabilitate" #. module: base #: selection:base.language.install,lang:0 @@ -9456,7 +9456,7 @@ msgstr "Japonia" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_jp msgid "Japan - Accounting" -msgstr "" +msgstr "Japonia - contabilitate" #. module: base #: selection:base.language.install,lang:0 @@ -9826,7 +9826,7 @@ msgstr "" #. module: base #: model:ir.ui.menu,name:base.menu_crm_config_lead msgid "Leads & Opportunities" -msgstr "" +msgstr "Piste & oportunități" #. module: base #: model:ir.module.module,summary:base.module_crm @@ -11646,7 +11646,7 @@ msgstr "Beneficiarul Plații" #: model:ir.module.module,description:base.module_payment #: model:ir.module.module,summary:base.module_payment msgid "Payment Acquirer Base Module" -msgstr "" +msgstr "Colector plată modul de bază" #. module: base #: model:ir.module.module,summary:base.module_payment_adyen @@ -12332,7 +12332,7 @@ msgstr "Reguli de inregistrare" #. module: base #: model:ir.ui.menu,name:base.menu_crm_case_job_req_main msgid "Recruitment" -msgstr "" +msgstr "Recrutare" #. module: base #: model:ir.module.module,shortdesc:base.module_hr_recruitment @@ -13725,7 +13725,7 @@ msgstr "" #. module: base #: model:ir.module.module,shortdesc:base.module_survey_crm msgid "Survey CRM" -msgstr "" +msgstr "Sondaj CRM" #. module: base #: model:res.country,name:base.sj @@ -14967,7 +14967,7 @@ msgstr "" #. module: base #: selection:ir.actions.server,use_write:0 msgid "Update the current record" -msgstr "" +msgstr "Actualizează înregistrarea curentă" #. module: base #: model:ir.actions.client,name:base.modules_updates_act_cl @@ -15999,7 +15999,7 @@ msgstr "eFacturare" #. module: base #: view:res.users:base.view_users_simple_form msgid "email@yourcompany.com" -msgstr "" +msgstr "email@yourcompany.com" #. module: base #: code:addons/base/ir/ir_fields.py:329 diff --git a/openerp/addons/base/i18n/sv.po b/openerp/addons/base/i18n/sv.po index e49d9ec24b0..2366b659c54 100644 --- a/openerp/addons/base/i18n/sv.po +++ b/openerp/addons/base/i18n/sv.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-10-19 06:31+0000\n" -"PO-Revision-Date: 2016-08-10 11:02+0000\n" +"PO-Revision-Date: 2016-11-01 19:58+0000\n" "Last-Translator: Anders Wallenquist \n" "Language-Team: Swedish (http://www.transifex.com/odoo/odoo-8/language/sv/)\n" "MIME-Version: 1.0\n" @@ -389,7 +389,7 @@ msgid "" "\n" "Ask questions, get answers, no distractions\n" " " -msgstr "" +msgstr "\nStäll frågor, få svar, inga distraktioner" #. module: base #: model:ir.module.module,description:base.module_account_test @@ -787,7 +787,7 @@ msgid "" "\n" "Delivery Costs\n" "==============\n" -msgstr "" +msgstr "\nTransportkostnader\n==============\n" #. module: base #: model:ir.module.module,description:base.module_marketing_campaign_crm_demo From 0a17be70e0b99cae0d87abc83f615af9e54900af Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Mon, 7 Nov 2016 13:22:08 +0100 Subject: [PATCH 5/7] [FIX] account: tax line amount The company currency is USD, the invoice currency is EUR. - Create an invoice in EUR, set an invoice date - Compute the taxes (click on "update" button) - Change the exchange rate between EUR and USD - Validate the invoice At validation, the tax amounts are not recomputed. Therefore, they are still converted in the company currency using the old rate. Closes #14024 opw-692430 --- addons/account/account_invoice.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 580e033e8f3..fcf37c7ca74 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -741,6 +741,8 @@ class account_invoice(models.Model): line['currency_id'] = currency.id line['amount_currency'] = currency.round(line['price']) line['price'] = currency.compute(line['price'], company_currency) + if line.get('tax_amount'): + line['tax_amount'] = currency.compute(line['tax_amount'], company_currency) else: line['currency_id'] = False line['amount_currency'] = False From 4809b572835a94543cd1f37e621a98fabec053fd Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Fri, 4 Nov 2016 16:08:39 +0100 Subject: [PATCH 6/7] [FIX] account: tax line amount The company currency is USD, the invoice currency is EUR. - Create an invoice in EUR, set an invoice date - Compute the taxes (click on "update" button) - Change the exchange rate between EUR and USD - Validate the invoice At validation, the tax lines are not recomputed. Therefore, the tax amounts, are still converted in the company currency using the old rates. On the other hands, the other account move lines will have the appropriate new rate. Closes #14024 opw-692430 --- addons/account/account_invoice.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index fcf37c7ca74..9f4ee6c7811 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -20,6 +20,7 @@ ############################################################################## import itertools +import math from lxml import etree from openerp import models, fields, api, _ @@ -741,8 +742,6 @@ class account_invoice(models.Model): line['currency_id'] = currency.id line['amount_currency'] = currency.round(line['price']) line['price'] = currency.compute(line['price'], company_currency) - if line.get('tax_amount'): - line['tax_amount'] = currency.compute(line['tax_amount'], company_currency) else: line['currency_id'] = False line['amount_currency'] = False @@ -845,6 +844,9 @@ class account_invoice(models.Model): if (total_fixed + total_percent) > 100: raise except_orm(_('Error!'), _("Cannot create the invoice.\nThe related payment term is probably misconfigured as it gives a computed amount greater than the total invoiced amount. In order to avoid rounding issues, the latest line of your payment term must be of type 'balance'.")) + # Force recomputation of tax_amount, since the rate potentially changed between creation + # and validation of the invoice + inv._recompute_tax_amount() # one move line per tax line iml += account_invoice_tax.move_line_get(inv.id) @@ -1227,6 +1229,18 @@ class account_invoice(models.Model): return account_invoice.pay_and_reconcile(recs, pay_amount, pay_account_id, period_id, pay_journal_id, writeoff_acc_id, writeoff_period_id, writeoff_journal_id, name=name) + @api.multi + def _recompute_tax_amount(self): + for invoice in self: + if invoice.currency_id != invoice.company_id.currency_id: + for line in invoice.tax_line: + tax_amount = line.amount_change( + line.amount, currency_id=invoice.currency_id.id, company_id=invoice.company_id.id, + date_invoice=invoice.date_invoice + )['value']['tax_amount'] + line.write({'tax_amount': tax_amount}) + + class account_invoice_line(models.Model): _name = "account.invoice.line" _description = "Invoice Line" @@ -1553,7 +1567,7 @@ class account_invoice_tax(models.Model): currency = self.env['res.currency'].browse(currency_id) currency = currency.with_context(date=date_invoice or fields.Date.context_today(self)) amount = currency.compute(amount, company.currency_id, round=False) - tax_sign = (self.tax_amount / self.amount) if self.amount else 1 + tax_sign = math.copysign(1, (self.tax_amount * self.amount)) return {'value': {'tax_amount': amount * tax_sign}} @api.v8 From 40f2d55190a90274816f58da93452bf50ba3f507 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Wed, 2 Nov 2016 15:24:20 +0100 Subject: [PATCH 7/7] [FIX] account_asset: first depreciation amount When an asset is set as Prorata Temporis, with a one month period, the first depreciation amount is computed on the basis of the remaining days in the purchase year. This doesn't make sense for a monthly depreciation. This commit makes the distinction between a monthly and a yearly depreciation. In the case of a monthly depreciation, the remaining days in the purchase month are taken into account. opw-690034 Backport of 0a3899b72c8d1927abaf81edbe4a1de2f2da7aa8 The fiscal year start date should be taken into account when calculating the depreciation amount in case of prorata temporis. opw-678072 Backport of e69d9b8b7df9d55ac8d8709d622c31fef9480a23 --- addons/account_asset/account_asset.py | 33 ++++++++++++++----- .../account_asset/tests/test_account_asset.py | 2 +- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 53f3a4cfeb6..6ff0edc2f92 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +import calendar from datetime import date, datetime from dateutil.relativedelta import relativedelta @@ -7,7 +8,7 @@ import openerp.addons.decimal_precision as dp from openerp import api, fields, models, _ from openerp.exceptions import UserError, ValidationError from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DF -from openerp.tools import float_compare +from openerp.tools import float_compare, float_is_zero class AccountAssetCategory(models.Model): @@ -122,6 +123,10 @@ class AccountAssetAsset(models.Model): return result def _compute_board_amount(self, sequence, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date): + def _get_fy_date(dt): + FY = self.env['account.fiscalyear'] + return datetime.strptime(FY.browse(FY.find(dt)).date_stop, '%Y-%m-%d').date() + amount = 0 if sequence == undone_dotation_number: amount = residual_amount @@ -130,19 +135,27 @@ class AccountAssetAsset(models.Model): amount = amount_to_depr / (undone_dotation_number - len(posted_depreciation_line_ids)) if self.prorata and self.category_id.type == 'purchase': amount = amount_to_depr / self.method_number - days = total_days - float(depreciation_date.strftime('%j')) if sequence == 1: - amount = (amount_to_depr / self.method_number) / total_days * days - elif sequence == undone_dotation_number: - amount = (amount_to_depr / self.method_number) / total_days * (total_days - days) + if self.method_period % 12 != 0: + date = datetime.strptime(self.date, '%Y-%m-%d') + month_days = calendar.monthrange(date.year, date.month)[1] + days = month_days - date.day + 1 + amount = (amount_to_depr / self.method_number) / month_days * days + else: + days = (_get_fy_date(depreciation_date) - depreciation_date).days + 1 + amount = (amount_to_depr / self.method_number) / total_days * days elif self.method == 'degressive': amount = residual_amount * self.method_progress_factor if self.prorata: - days = total_days - float(depreciation_date.strftime('%j')) if sequence == 1: - amount = (residual_amount * self.method_progress_factor) / total_days * days - elif sequence == undone_dotation_number: - amount = (residual_amount * self.method_progress_factor) / total_days * (total_days - days) + if self.method_period % 12 != 0: + date = datetime.strptime(self.date, '%Y-%m-%d') + month_days = calendar.monthrange(date.year, date.month)[1] + days = month_days - date.day + 1 + amount = (residual_amount * self.method_progress_factor) / month_days * days + else: + days = (_get_fy_date(depreciation_date) - depreciation_date).days + 1 + amount = (residual_amount * self.method_progress_factor) / total_days * days return amount def _compute_board_undone_dotation_nb(self, depreciation_date, total_days): @@ -190,6 +203,8 @@ class AccountAssetAsset(models.Model): sequence = x + 1 amount = self._compute_board_amount(sequence, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date) amount = self.currency_id.round(amount) + if float_is_zero(amount, precision_rounding=self.currency_id.rounding): + continue residual_amount -= amount vals = { 'amount': amount, diff --git a/addons/account_asset/tests/test_account_asset.py b/addons/account_asset/tests/test_account_asset.py index 039bb00c190..75e89b9214b 100644 --- a/addons/account_asset/tests/test_account_asset.py +++ b/addons/account_asset/tests/test_account_asset.py @@ -107,7 +107,7 @@ class TestAccountAsset(common.TransactionCase): asset_modify_number_0.with_context({'active_id': account_asset_asset_office0.id}).modify() # I check the proper depreciation lines created. - self.assertEqual(account_asset_asset_office0.method_number, len(account_asset_asset_office0.depreciation_line_ids) - 1) + self.assertEqual(account_asset_asset_office0.method_number, len(account_asset_asset_office0.depreciation_line_ids)) # I compute a asset on period. context = {