diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 225a85d2ee1..c7423675c15 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -37,75 +37,67 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): 'sum_credit': self._sum_credit, 'sum_balance': self._sum_balance, }) + self.children = {} # a memo for the method _get_children - def _lines_g(self, account_id, date1, date2): + def _get_children(self, accounts): + """ return all children accounts of the given accounts + :param accounts: list of browse records of 'account.analytic.account' + :return: tuple of account ids + """ + analytic_obj = self.pool.get('account.analytic.account') + res = set() + for account in accounts: + if account.id not in self.children: + self.children[account.id] = analytic_obj.search(self.cr, self.uid, [('parent_id', 'child_of', [account.id])]) + res.update(self.children[account.id]) + return tuple(res) + + def _lines_g(self, account, date1, date2): self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ - WHERE (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ - GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2)) + WHERE (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ + GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (self._get_children([account]), date1, date2)) res = self.cr.dictfetchall() - for r in res: - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 + r['debit'] = r['balance'] if r['balance'] > 0 else 0.0 + r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0 return res - def _lines_a(self, general_account_id, account_id, date1, date2): + def _lines_a(self, general_account, account, date1, date2): self.cr.execute("SELECT aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj FROM account_analytic_line AS aal, account_analytic_journal AS aaj \ - WHERE (aal.general_account_id=%s) AND (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) \ + WHERE (aal.general_account_id=%s) AND (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) \ AND (aal.journal_id=aaj.id) \ - ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2)) + ORDER BY aal.date, aaj.code, aal.code", (general_account['id'], self._get_children([account]), date1, date2)) res = self.cr.dictfetchall() - for r in res: - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 + r['debit'] = r['balance'] if r['balance'] > 0 else 0.0 + r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0 return res - def _account_sum_debit(self, account_id, date1, date2): - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount>0", (account_id, date1, date2)) - return self.cr.fetchone()[0] or 0.0 + def _account_sum_debit(self, account, date1, date2): + return self._sum_debit(self, [account], date1, date2) - def _account_sum_credit(self, account_id, date1, date2): - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount<0", (account_id, date1, date2)) - return self.cr.fetchone()[0] or 0.0 + def _account_sum_credit(self, account, date1, date2): + return self._sum_credit(self, [account], date1, date2) - def _account_sum_balance(self, account_id, date1, date2): - debit = self._account_sum_debit(account_id, date1, date2) - credit = self._account_sum_credit(account_id, date1, date2) + def _account_sum_balance(self, account, date1, date2): + debit = self._account_sum_debit(account, date1, date2) + credit = self._account_sum_credit(account, date1, date2) return (debit-credit) def _sum_debit(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(ids), date1, date2,)) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", + (self._get_children(accounts), date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_credit(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(ids),date1, date2,)) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", + (self._get_children(accounts), date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_balance(self, accounts, date1, date2): - debit = self._sum_debit(accounts, date1, date2) or 0.0 - credit = self._sum_credit(accounts, date1, date2) or 0.0 + debit = self._sum_debit(accounts, date1, date2) + credit = self._sum_credit(accounts, date1, date2) return (debit-credit) report_sxw.report_sxw('report.account.analytic.account.cost_ledger', 'account.analytic.account', 'addons/account/project/report/cost_ledger.rml',parser=account_analytic_cost_ledger, header="internal") diff --git a/addons/account/project/report/cost_ledger.rml b/addons/account/project/report/cost_ledger.rml index d53467b4e93..7500b655ab3 100644 --- a/addons/account/project/report/cost_ledger.rml +++ b/addons/account/project/report/cost_ledger.rml @@ -229,28 +229,28 @@
- [[ repeatIn(objects,'o') ]] + [[ repeatIn(objects,'account') ]] - [[ o.code ]] + [[ account.code ]] - [[ o.complete_name ]] + [[ account.complete_name ]] - [[ formatLang (account_sum_debit(o.id,data['form']['date1'],data['form']['date2'])) ]] + [[ formatLang (account_sum_debit(account,data['form']['date1'],data['form']['date2'])) ]] - [[ formatLang (account_sum_credit(o.id,data['form']['date1'],data['form']['date2'])) ]] + [[ formatLang (account_sum_credit(account,data['form']['date1'],data['form']['date2'])) ]] - [[ formatLang (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]] + [[ formatLang (account_sum_balance(account,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]]
- [[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]] + [[ repeatIn(lines_g(account,data['form']['date1'],data['form']['date2']),'move_g') ]] @@ -271,7 +271,7 @@
- [[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]] + [[ repeatIn(lines_a(move_g,account,data['form']['date1'],data['form']['date2']),'move_a') ]] @@ -302,4 +302,4 @@
- \ No newline at end of file + diff --git a/addons/account_analytic_plans/i18n/pt_BR.po b/addons/account_analytic_plans/i18n/pt_BR.po index 8968d765d66..9bb69ccca08 100644 --- a/addons/account_analytic_plans/i18n/pt_BR.po +++ b/addons/account_analytic_plans/i18n/pt_BR.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2012-02-21 01:05+0000\n" -"Last-Translator: Cintia Sayuri Sato - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:50+0000\n" +"Last-Translator: Emerson \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n" -"X-Generator: Launchpad (build 14838)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: account_analytic_plans #: view:analytic.plan.create.model:0 @@ -93,7 +93,7 @@ msgstr "Id Conta2" #. module: account_analytic_plans #: sql_constraint:account.invoice:0 msgid "Invoice Number must be unique per Company!" -msgstr "" +msgstr "O número da fatura deve ser único por empresa!" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -106,6 +106,8 @@ msgid "" "Configuration error! The currency chosen should be shared by the default " "accounts too." msgstr "" +"Erro de configuração! A moeda escolhida deve ser compartilhada pelas contas " +"padrão também." #. module: account_analytic_plans #: sql_constraint:account.move.line:0 @@ -148,6 +150,8 @@ msgid "" "The date of your Journal Entry is not in the defined period! You should " "change the date or remove this constraint from the journal." msgstr "" +"A data da entrada no diário não está no período definido! Você deve alterar " +"a data ou remover essa restrição do diário." #. module: account_analytic_plans #: sql_constraint:account.journal:0 @@ -307,7 +311,7 @@ msgstr "analytic.plan.create.model.action" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_analytic_line msgid "Analytic Line" -msgstr "" +msgstr "Linha Analítica" #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -366,6 +370,7 @@ msgstr "Salve esta Distribuição como Modelo" #: constraint:account.move.line:0 msgid "You can not create journal items on an account of type view." msgstr "" +"Você não pode criar ítens de diário em uma conta tipo \"Visualizar\"." #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 @@ -515,11 +520,14 @@ msgid "" "analytic accounts for each plan set. Then, you must attach a plan set to " "your account journals." msgstr "" +"Para configurar um ambiente múltiplo de planos analítico, você deve definir " +"as contas da raiz analíticas para cada conjunto de plano. Então, você deve " +"anexar um conjunto de plano de revistas de sua conta." #. module: account_analytic_plans #: constraint:account.move.line:0 msgid "You can not create journal items on closed account." -msgstr "" +msgstr "Você não pode criar ítens de diário em uma conta fechada." #. module: account_analytic_plans #: report:account.analytic.account.crossovered.analytic:0 diff --git a/addons/account_bank_statement_extensions/i18n/pl.po b/addons/account_bank_statement_extensions/i18n/pl.po new file mode 100644 index 00000000000..4c6ccf3b0a6 --- /dev/null +++ b/addons/account_bank_statement_extensions/i18n/pl.po @@ -0,0 +1,378 @@ +# Polish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:35+0000\n" +"PO-Revision-Date: 2012-02-24 16:36+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Search Bank Transactions" +msgstr "Szukaj transakcji bankowych" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: selection:account.bank.statement.line,state:0 +msgid "Confirmed" +msgstr "Potwierdzone" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement:0 +#: view:account.bank.statement.line:0 +msgid "Glob. Id" +msgstr "" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "CODA" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,parent_id:0 +msgid "Parent Code" +msgstr "Kod nadrzędny" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Debit" +msgstr "Winien" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line +#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line +msgid "Cancel selected statement lines" +msgstr "Anuluj wybrane pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: constraint:res.partner.bank:0 +msgid "The RIB and/or IBAN is not valid" +msgstr "Niedozwolony RIB lub IBAN" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Group By..." +msgstr "Grupuj wg..." + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,state:0 +msgid "State" +msgstr "Stan" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: selection:account.bank.statement.line,state:0 +msgid "Draft" +msgstr "Projekt" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement" +msgstr "Wyciąg" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line +#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line +msgid "Confirm selected statement lines" +msgstr "Potwierdź wybrane pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report +msgid "Bank Statement Balances Report" +msgstr "Raport sald wyciągu" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +msgid "Cancel Lines" +msgstr "Anuluj pozycje" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global +msgid "Batch Payment Info" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Confirm Lines" +msgstr "Potwierdż pozycje" + +#. module: account_bank_statement_extensions +#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130 +#, python-format +msgid "" +"Delete operation not allowed ! Please go to the associated bank " +"statement in order to delete and/or modify this bank statement line" +msgstr "" +"Operacja usuwania nie jest dozwolona ! Aby usunąć lub " +"modyfikować pozycje musisz wejść do wyciągu" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,type:0 +msgid "Type" +msgstr "Typ" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: field:account.bank.statement.line,journal_id:0 +#: report:bank.statement.balance.report:0 +msgid "Journal" +msgstr "Dziennik" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Confirmed Statement Lines." +msgstr "Potwierdzone pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Credit Transactions." +msgstr "Transakcje Ma" + +#. module: account_bank_statement_extensions +#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line +msgid "cancel selected statement lines." +msgstr "anuluje wybrane pozycje wyciągu." + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_number:0 +msgid "Counterparty Number" +msgstr "Numer przeciwstawny" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +msgid "Transactions" +msgstr "Transakcje" + +#. module: account_bank_statement_extensions +#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130 +#, python-format +msgid "Warning" +msgstr "Ostrzeżenie" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Closing Balance" +msgstr "Bilans zamknięcia" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Date" +msgstr "Data" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: field:account.bank.statement.line,globalisation_amount:0 +msgid "Glob. Amount" +msgstr "Wart. globalna" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Debit Transactions." +msgstr "Transakcje Winien" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Extended Filters..." +msgstr "Rozszerzone filtry..." + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Confirmed lines cannot be changed anymore." +msgstr "Potwierdzone pozycje nie mogą być zmieniane." + +#. module: account_bank_statement_extensions +#: constraint:res.partner.bank:0 +msgid "" +"\n" +"Please define BIC/Swift code on bank for bank type IBAN Account to make " +"valid payments" +msgstr "" +"\n" +"Zdefiniuj kod BIC/Swift dla banku konta typu IBAN" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,val_date:0 +msgid "Valuta Date" +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line +msgid "Confirm selected statement lines." +msgstr "Potwierdź wybrane pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +msgid "Are you sure you want to cancel the selected Bank Statement lines ?" +msgstr "Jesteś pewna, że chcesz anulować wybrane pozycje wyciągu ?" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Name" +msgstr "Nazwa" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "ISO 20022" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Notes" +msgstr "Uwagi" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "Manual" +msgstr "Ręcznie" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Credit" +msgstr "Ma" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,amount:0 +msgid "Amount" +msgstr "Kwota" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Fin.Account" +msgstr "Konto fin." + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_currency:0 +msgid "Counterparty Currency" +msgstr "Waluta przeciwstawna" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_bic:0 +msgid "Counterparty BIC" +msgstr "Przeciwstawny BIC" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,child_ids:0 +msgid "Child Codes" +msgstr "Rejestry podrzędne" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Are you sure you want to confirm the selected Bank Statement lines ?" +msgstr "Jesteś pewna, że chcesz potwierdzić wybrane pozycje wyciągu ?" + +#. module: account_bank_statement_extensions +#: constraint:account.bank.statement.line:0 +msgid "" +"The amount of the voucher must be the same amount as the one on the " +"statement line" +msgstr "Kwota płatności musi być taka sama jak kwota pozycji wyciągu." + +#. module: account_bank_statement_extensions +#: help:account.bank.statement.line,globalisation_id:0 +msgid "" +"Code to identify transactions belonging to the same globalisation level " +"within a batch payment" +msgstr "Kod do identyfikacji poziomu w przelewie grupowym" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Draft Statement Lines." +msgstr "Pozycje projektowe wyciągu" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Glob. Am." +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Pozycja wyciągu bankowego" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,code:0 +msgid "Code" +msgstr "Kod" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_name:0 +msgid "Counterparty Name" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,name:0 +msgid "Communication" +msgstr "Komunikacja" + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank +msgid "Bank Accounts" +msgstr "Konta bankowe" + +#. module: account_bank_statement_extensions +#: constraint:account.bank.statement:0 +msgid "The journal and period chosen have to belong to the same company." +msgstr "Dziennik i okres muszą należeć do tej samej firmy." + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement +msgid "Bank Statement" +msgstr "Wyciąg bankowy" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement Line" +msgstr "Pozycja wyciągu" + +#. module: account_bank_statement_extensions +#: sql_constraint:account.bank.statement.line.global:0 +msgid "The code must be unique !" +msgstr "Kod musi być unikalny !" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,bank_statement_line_ids:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line +#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line +msgid "Bank Statement Lines" +msgstr "Pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +msgid "Child Batch Payments" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +#: view:confirm.statement.line:0 +msgid "Cancel" +msgstr "Anuluj" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement Lines" +msgstr "Pozycje wyciągu" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Total Amount" +msgstr "Suma kwot" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,globalisation_id:0 +msgid "Globalisation ID" +msgstr "ID poziomu" diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 8cb22ade87c..3ed173cca85 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -547,6 +547,21 @@ class account_voucher(osv.osv): @return: Returns a dict which contains new values, and context """ + def _remove_noise_in_o2m(): + """if the line is partially reconciled, then we must pay attention to display it only once and + in the good o2m. + This function returns True if the line is considered as noise and should not be displayed + """ + if line.reconcile_partial_id: + sign = 1 if ttype == 'receipt' else -1 + if currency_id == line.currency_id.id: + if line.amount_residual_currency * sign <= 0: + return True + else: + if line.amount_residual * sign <= 0: + return True + return False + if context is None: context = {} context_multi_currency = context.copy() @@ -610,11 +625,11 @@ class account_voucher(osv.osv): ids.reverse() account_move_lines = move_line_pool.browse(cr, uid, ids, context=context) + #compute the total debit/credit and look for a matching open amount or invoice for line in account_move_lines: - if line.credit and line.reconcile_partial_id and ttype == 'receipt': - continue - if line.debit and line.reconcile_partial_id and ttype == 'payment': + if _remove_noise_in_o2m(): continue + if invoice_id: if line.invoice.id == invoice_id: #if the invoice linked to the voucher line is equal to the invoice_id in context @@ -640,10 +655,9 @@ class account_voucher(osv.osv): #voucher line creation for line in account_move_lines: - if line.credit and line.reconcile_partial_id and ttype == 'receipt': - continue - if line.debit and line.reconcile_partial_id and ttype == 'payment': + if _remove_noise_in_o2m(): continue + if line.currency_id and currency_id==line.currency_id.id: amount_original = abs(line.amount_currency) amount_unreconciled = abs(line.amount_residual_currency) @@ -1069,7 +1083,7 @@ class account_voucher(osv.osv): voucher_currency = voucher_brw.currency_id and voucher_brw.currency_id.id or voucher_brw.journal_id.company_id.currency_id.id # We want to set it on the account move line as soon as the original line had a foreign currency if line.move_line_id.currency_id and line.move_line_id.currency_id.id != company_currency: - # we compute the amount in that foreign currency. + # we compute the amount in that foreign currency. if line.move_line_id.currency_id.id == current_currency: # if the voucher and the voucher line share the same currency, there is no computation to do sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1 @@ -1288,7 +1302,7 @@ class account_voucher_line(osv.osv): def _currency_id(self, cr, uid, ids, name, args, context=None): ''' - This function returns the currency id of a voucher line. It's either the currency of the + This function returns the currency id of a voucher line. It's either the currency of the associated move line (if any) or the currency of the voucher or the company currency. ''' res = {} diff --git a/addons/base_crypt/i18n/ar.po b/addons/base_crypt/i18n/ar.po index 8726fce8f4b..b384256a698 100644 --- a/addons/base_crypt/i18n/ar.po +++ b/addons/base_crypt/i18n/ar.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-09-05 23:08+0000\n" -"Last-Translator: kifcaliph \n" +"PO-Revision-Date: 2012-02-25 20:54+0000\n" +"Last-Translator: amani ali \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-26 04:55+0000\n" +"X-Generator: Launchpad (build 14860)\n" #. module: base_crypt #: model:ir.model,name:base_crypt.model_res_users msgid "res.users" -msgstr "" +msgstr "مستخدمي المراجع" #. module: base_crypt #: sql_constraint:res.users:0 @@ -42,7 +42,7 @@ msgstr "يرجى تحديد كلمة السر!" #: code:addons/base_crypt/crypt.py:140 #, python-format msgid "Error" -msgstr "" +msgstr "خطأ" #~ msgid "Base - Password Encryption" #~ msgstr "قاعدة - تشفير كلمة المرور" diff --git a/addons/base_iban/i18n/en_GB.po b/addons/base_iban/i18n/en_GB.po index 773995c29bc..eee69d572d0 100644 --- a/addons/base_iban/i18n/en_GB.po +++ b/addons/base_iban/i18n/en_GB.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-23 15:23+0000\n" -"Last-Translator: mrx5682 \n" +"PO-Revision-Date: 2012-02-24 13:19+0000\n" +"Last-Translator: John Bradshaw \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:02+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n" +"X-Generator: Launchpad (build 14860)\n" #. module: base_iban #: constraint:res.partner.bank:0 @@ -32,7 +32,7 @@ msgstr "" #: code:addons/base_iban/base_iban.py:139 #, python-format msgid "This IBAN does not pass the validation check, please verify it" -msgstr "" +msgstr "This IBAN fails the validation check, please verify it" #. module: base_iban #: model:res.partner.bank.type,format_layout:base_iban.bank_iban @@ -93,7 +93,7 @@ msgstr "IBAN Account" #. module: base_iban #: constraint:res.partner.bank:0 msgid "The RIB and/or IBAN is not valid" -msgstr "" +msgstr "The RIB and/or IBAN is not valid" #, python-format #~ msgid "The IBAN is invalid, It should begin with the country code" diff --git a/addons/base_setup/i18n/pt_BR.po b/addons/base_setup/i18n/pt_BR.po index e1d06ccd39e..3fa11b8621b 100644 --- a/addons/base_setup/i18n/pt_BR.po +++ b/addons/base_setup/i18n/pt_BR.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-13 12:51+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:45+0000\n" +"Last-Translator: Emerson \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-14 05:43+0000\n" -"X-Generator: Launchpad (build 14781)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: base_setup #: field:user.preferences.config,menu_tips:0 @@ -66,7 +66,7 @@ msgstr "" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_base_setup_company msgid "Set Company Header and Footer" -msgstr "" +msgstr "Defina o Cabeçalho e o Rodapé da Empresa" #. module: base_setup #: model:ir.actions.act_window,help:base_setup.action_base_setup_company diff --git a/addons/base_vat/i18n/fr.po b/addons/base_vat/i18n/fr.po index ad193c1f9aa..75c13e4d9e2 100644 --- a/addons/base_vat/i18n/fr.po +++ b/addons/base_vat/i18n/fr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-12 12:29+0000\n" -"Last-Translator: Quentin THEURET \n" +"PO-Revision-Date: 2012-02-27 10:27+0000\n" +"Last-Translator: GaCriv \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:15+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n" +"X-Generator: Launchpad (build 14874)\n" #. module: base_vat #: code:addons/base_vat/base_vat.py:141 @@ -23,6 +23,8 @@ msgid "" "This VAT number does not seem to be valid.\n" "Note: the expected format is %s" msgstr "" +"Ce code de TVA ne semble pas correct.\n" +"Note: le format attendu est %s" #. module: base_vat #: sql_constraint:res.company:0 @@ -37,7 +39,7 @@ msgstr "" #. module: base_vat #: field:res.company,vat_check_vies:0 msgid "VIES VAT Check" -msgstr "" +msgstr "Vérification n° TVA avec VIES" #. module: base_vat #: model:ir.model,name:base_vat.model_res_company @@ -69,6 +71,9 @@ msgid "" "If checked, Partners VAT numbers will be fully validated against EU's VIES " "service rather than via a simple format validation (checksum)." msgstr "" +"Si coché, les numéros de TVA des partenaires seront validés avec le système " +"d'échange d'informations sur la TVA automatisé de l'Union Européenne " +"(V.I.E.S.) plutôt que par une simple validation par calcul de clé." #. module: base_vat #: field:res.partner,vat_subjected:0 diff --git a/addons/crm/i18n/fr.po b/addons/crm/i18n/fr.po index b75edb6dc2c..ebc3e6c829d 100644 --- a/addons/crm/i18n/fr.po +++ b/addons/crm/i18n/fr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-09 09:34+0000\n" -"Last-Translator: Numérigraphe \n" +"PO-Revision-Date: 2012-02-27 10:26+0000\n" +"Last-Translator: Fabrice (OpenERP) \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-10 04:47+0000\n" -"X-Generator: Launchpad (build 14771)\n" +"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n" +"X-Generator: Launchpad (build 14874)\n" #. module: crm #: view:crm.lead.report:0 @@ -699,7 +699,7 @@ msgstr "" #. module: crm #: field:crm.lead2opportunity.partner.mass,user_ids:0 msgid "Salesmans" -msgstr "" +msgstr "Vendeurs" #. module: crm #: field:crm.lead.report,probable_revenue:0 @@ -842,7 +842,7 @@ msgstr "Ventes Achats" #. module: crm #: help:crm.case.section,resource_calendar_id:0 msgid "Used to compute open days" -msgstr "" +msgstr "Utlilisé pour calculer les jours ouvrables" #. module: crm #: view:crm.lead:0 @@ -937,7 +937,7 @@ msgstr "Avertissement !" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in current year" -msgstr "" +msgstr "Appels téléphoniques passés cette année" #. module: crm #: field:crm.lead,day_open:0 @@ -1058,7 +1058,7 @@ msgstr "Précédent" #. module: crm #: view:crm.lead:0 msgid "New Leads" -msgstr "" +msgstr "Nouvelles pistes" #. module: crm #: view:crm.lead:0 @@ -1073,7 +1073,7 @@ msgstr "De" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Convert into Opportunities" -msgstr "" +msgstr "Convertir en opportunité" #. module: crm #: view:crm.lead:0 @@ -1136,7 +1136,7 @@ msgstr "Date de création" #. module: crm #: view:board.board:0 msgid "My Opportunities" -msgstr "" +msgstr "Mes opportunités" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor5 @@ -1146,7 +1146,7 @@ msgstr "A besoin d'une conception de son site web" #. module: crm #: view:crm.phonecall.report:0 msgid "Year of call" -msgstr "" +msgstr "Année de l'appel" #. module: crm #: field:crm.meeting,recurrent_uid:0 @@ -1182,7 +1182,7 @@ msgstr "Envoyer un courriel au partenaire" #. module: crm #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0 msgid "Call Details" -msgstr "" +msgstr "Détails de l'appel" #. module: crm #: field:crm.meeting,class:0 @@ -1207,7 +1207,7 @@ msgstr "Champs de condition des cas" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls which are in pending state" -msgstr "" +msgstr "Appels téléphoniques en attente" #. module: crm #: view:crm.case.section:0 field:crm.case.section,stage_ids:0 @@ -1350,7 +1350,7 @@ msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner msgid "Schedule a Call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.lead2partner:0 view:crm.phonecall:0 view:crm.phonecall2partner:0 @@ -1438,7 +1438,7 @@ msgstr "" #. module: crm #: view:crm.phonecall.report:0 msgid "Date of call" -msgstr "" +msgstr "Date de l'appel" #. module: crm #: help:crm.lead,section_id:0 @@ -1550,7 +1550,7 @@ msgstr "" #. module: crm #: field:crm.phonecall,opportunity_id:0 msgid "Lead/Opportunity" -msgstr "" +msgstr "Piste/opportunité" #. module: crm #: view:crm.lead:0 @@ -1694,7 +1694,7 @@ msgstr "Convertir un prospect en client" #. module: crm #: view:crm.meeting:0 msgid "Meeting / Partner" -msgstr "" +msgstr "Réunion/partenaire" #. module: crm #: view:crm.phonecall2opportunity:0 @@ -1806,7 +1806,7 @@ msgstr "Entrant" #. module: crm #: view:crm.phonecall.report:0 msgid "Month of call" -msgstr "" +msgstr "Mois de l'appel" #. module: crm #: view:crm.phonecall.report:0 @@ -1839,7 +1839,7 @@ msgstr "La plus haute" #. module: crm #: help:crm.lead.report,creation_year:0 msgid "Creation year" -msgstr "" +msgstr "Année de création" #. module: crm #: view:crm.case.section:0 view:crm.lead:0 field:crm.lead,description:0 @@ -1895,7 +1895,7 @@ msgstr "Options de récurrence" #. module: crm #: view:crm.lead:0 msgid "Lead / Customer" -msgstr "" +msgstr "Piste / client" #. module: crm #: model:process.transition,note:crm.process_transition_leadpartner0 @@ -2134,7 +2134,7 @@ msgstr "Probabilité" #. module: crm #: view:crm.lead:0 msgid "Pending Opportunities" -msgstr "" +msgstr "Opportunités en attente" #. module: crm #: code:addons/crm/crm_lead.py:491 @@ -2203,7 +2203,7 @@ msgstr "Date de début" #. module: crm #: view:crm.phonecall:0 msgid "Scheduled Phonecalls" -msgstr "" +msgstr "Appels téléphoniques planifiés" #. module: crm #: view:crm.meeting:0 @@ -2342,7 +2342,7 @@ msgstr ">" #. module: crm #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0 msgid "Schedule call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.meeting:0 @@ -2458,7 +2458,7 @@ msgstr "Occupé" #. module: crm #: field:crm.lead.report,creation_day:0 msgid "Creation Day" -msgstr "" +msgstr "Jour de création" #. module: crm #: field:crm.meeting,interval:0 @@ -2473,7 +2473,7 @@ msgstr "Récurrent" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in last month" -msgstr "" +msgstr "Appels téléphoniques passés le mois dernier" #. module: crm #: model:ir.actions.act_window,name:crm.act_my_oppor @@ -2601,7 +2601,7 @@ msgstr "Continuer le processus" #. module: crm #: view:crm.lead.report:0 msgid "Leads/Opportunities created in current year" -msgstr "" +msgstr "Pistes/opportunités créées cette année" #. module: crm #: model:ir.model,name:crm.model_crm_phonecall2partner @@ -2634,12 +2634,12 @@ msgstr "Durée" #. module: crm #: view:crm.lead:0 msgid "Show countries" -msgstr "" +msgstr "Afficher les pays" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Select Salesman" -msgstr "" +msgstr "Sélectionner le vendeur" #. module: crm #: view:board.board:0 @@ -2685,7 +2685,7 @@ msgstr "Fax" #. module: crm #: view:crm.lead.report:0 msgid "Leads/Opportunities created in current month" -msgstr "" +msgstr "Pistes/opportunités créées ce mois" #. module: crm #: view:crm.meeting:0 @@ -2722,7 +2722,7 @@ msgstr "" #. module: crm #: field:crm.lead,subjects:0 msgid "Subject of Email" -msgstr "" +msgstr "Sujet du courriel" #. module: crm #: model:ir.actions.act_window,name:crm.action_view_attendee_form @@ -2777,7 +2777,7 @@ msgstr "Messages" #. module: crm #: help:crm.lead,channel_id:0 msgid "Communication channel (mail, direct, phone, ...)" -msgstr "" +msgstr "Canal de communication (courriel, direct, téléphone, etc.)" #. module: crm #: code:addons/crm/crm_action_rule.py:61 @@ -2895,7 +2895,7 @@ msgstr "Résumé de l'appel" #. module: crm #: view:crm.lead:0 msgid "Todays' Leads" -msgstr "" +msgstr "Pistes du jour" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 @@ -3028,7 +3028,7 @@ msgstr "Créer des opportunités d'affaires à partir des pistes." #: model:ir.actions.act_window,name:crm.open_board_statistical_dash #: model:ir.ui.menu,name:crm.menu_board_statistics_dash msgid "CRM Dashboard" -msgstr "" +msgstr "Tableau de bord CRM" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor4 @@ -3080,13 +3080,13 @@ msgstr "Qualification" #. module: crm #: field:crm.lead,partner_address_email:0 msgid "Partner Contact Email" -msgstr "" +msgstr "Courriel du contact du partenaire" #. module: crm #: code:addons/crm/wizard/crm_lead_to_partner.py:48 #, python-format msgid "A partner is already defined." -msgstr "" +msgstr "Un partenaire est déjà défini." #. module: crm #: selection:crm.meeting,byday:0 @@ -3173,7 +3173,7 @@ msgstr "Répéter" #. module: crm #: field:crm.lead.report,deadline_year:0 msgid "Ex. Closing Year" -msgstr "" +msgstr "Année de clôture attendue" #. module: crm #: view:crm.lead:0 @@ -3295,6 +3295,7 @@ msgstr "Normal" #, python-format msgid "Closed/Cancelled Leads can not be converted into Opportunity" msgstr "" +"Les pistes fermées ou annulées ne peuvent pas être converties en opportunités" #. module: crm #: model:ir.actions.act_window,name:crm.crm_meeting_categ_action @@ -3357,12 +3358,12 @@ msgstr "Publicités Twitter" #: code:addons/crm/crm_lead.py:336 #, python-format msgid "The opportunity '%s' has been been won." -msgstr "" +msgstr "L'opportunité '%s' a été gagnée" #. module: crm #: field:crm.case.stage,case_default:0 msgid "Common to All Teams" -msgstr "" +msgstr "Commun à toutes les équipes" #. module: crm #: code:addons/crm/crm_lead.py:831 code:addons/crm/wizard/crm_add_note.py:28 @@ -3417,7 +3418,7 @@ msgstr "Clôturer" #: selection:crm.opportunity2phonecall,action:0 #: selection:crm.phonecall2phonecall,action:0 msgid "Schedule a call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.lead:0 view:crm.phonecall:0 @@ -3489,7 +3490,7 @@ msgstr "Description" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in current month" -msgstr "" +msgstr "Appels passés ce mois" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -3506,7 +3507,7 @@ msgstr "Intérêt pour les accessoires" #. module: crm #: view:crm.lead:0 msgid "New Opportunities" -msgstr "" +msgstr "Nouvelles opportunités" #. module: crm #: code:addons/crm/crm_action_rule.py:61 diff --git a/addons/crm/i18n/pt_BR.po b/addons/crm/i18n/pt_BR.po index d38ef967ccf..637c821ae35 100644 --- a/addons/crm/i18n/pt_BR.po +++ b/addons/crm/i18n/pt_BR.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: renato.lima@akretion.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-21 01:17+0000\n" -"Last-Translator: Cintia Sayuri Sato - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:39+0000\n" +"Last-Translator: Emerson \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n" -"X-Generator: Launchpad (build 14838)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: crm #: view:crm.lead.report:0 @@ -687,6 +687,11 @@ msgid "" "using the caldav interface.\n" " " msgstr "" +"O calendário de compromissos é compartilhado entre as equipes de venda e é " +"totalmente integrado com outras aplicações como férias de funcionários ou " +"oportunidades de negócios. Voce pode também sincronizar os compromissos com " +"o seu celular usando a interface CALDAV.\n" +" " #. module: crm #: field:crm.lead2opportunity.partner.mass,user_ids:0 @@ -1747,6 +1752,8 @@ msgstr "Revendedor Potencial" msgid "" "When escalating to this team override the saleman with the team leader." msgstr "" +"Quando esta equipe é escalada para substituir o vendedor com o líder da " +"equipe." #. module: crm #: field:crm.lead.report,planned_revenue:0 @@ -2407,6 +2414,8 @@ msgid "" "You can not escalate, you are already at the top level regarding your sales-" "team category." msgstr "" +"Você não pode escalar, você já está no nível mais alto em relação a sua " +"categoria de equipe de vendas." #. module: crm #: model:crm.case.categ,name:crm.categ_oppor8 view:crm.meeting:0 @@ -3523,7 +3532,7 @@ msgstr "Oportunidades por Usuário e Equipe" #. module: crm #: view:crm.phonecall:0 msgid "Reset to Todo" -msgstr "" +msgstr "Voltar para Pendente" #. module: crm #: field:crm.case.section,working_hours:0 @@ -3605,6 +3614,10 @@ msgid "" "partner. From the phone call form, you can trigger a request for another " "call, a meeting or an opportunity." msgstr "" +"Esta ferramenta permite que você registre suas chamadas recebidas. Cada " +"chamada que você começa aparece no formulário parceiro para rastrear todos " +"os contatos que você tem com um parceiro. De forma telefonema, você pode " +"acionar um pedido de uma outra chamada, uma reunião ou uma oportunidade." #. module: crm #: selection:crm.lead.report,creation_month:0 diff --git a/addons/crm_todo/i18n/pl.po b/addons/crm_todo/i18n/pl.po new file mode 100644 index 00000000000..feea746080f --- /dev/null +++ b/addons/crm_todo/i18n/pl.po @@ -0,0 +1,95 @@ +# Polish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-02-25 13:16+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-02-26 04:55+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Zadanie" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Ramka" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "Do anulowania zadania" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "Błąd ! Data końcowa musi być późniejsza niż data początkowa" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "crm.lead" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "Następny" + +#. module: crm_todo +#: model:ir.actions.act_window,name:crm_todo.crm_todo_action +#: model:ir.ui.menu,name:crm_todo.menu_crm_todo +msgid "My Tasks" +msgstr "Moje zadania" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Zadania" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Wykonane" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych zadań." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Anuluj" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Dodatkowe informacje" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Sygnał / Szansa" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "Do zmiany w stan wykonane" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "Poprzednie" diff --git a/addons/document/i18n/pt_BR.po b/addons/document/i18n/pt_BR.po index 5db87b4445b..386fb82bc38 100644 --- a/addons/document/i18n/pt_BR.po +++ b/addons/document/i18n/pt_BR.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-19 15:15+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:47+0000\n" +"Last-Translator: Emerson \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-20 05:41+0000\n" -"X-Generator: Launchpad (build 14833)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: document #: field:document.directory,parent_id:0 @@ -737,7 +737,7 @@ msgstr "ID do Recurso" #. module: document #: selection:document.storage,type:0 msgid "External file storage" -msgstr "" +msgstr "Armazenamento externo de arquivo" #. module: document #: view:board.board:0 @@ -788,7 +788,7 @@ msgstr "Mês" #. module: document #: view:report.document.user:0 msgid "This Months Files" -msgstr "" +msgstr "Arquivos Deste Mês" #. module: document #: model:ir.ui.menu,name:document.menu_reporting diff --git a/addons/fetchmail/i18n/en_GB.po b/addons/fetchmail/i18n/en_GB.po index f22d91ef2fe..7c1e3cdb0e7 100644 --- a/addons/fetchmail/i18n/en_GB.po +++ b/addons/fetchmail/i18n/en_GB.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-09-13 09:02+0000\n" +"PO-Revision-Date: 2012-02-24 13:22+0000\n" "Last-Translator: John Bradshaw \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:58+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n" +"X-Generator: Launchpad (build 14860)\n" #. module: fetchmail #: selection:fetchmail.server,state:0 @@ -25,17 +25,17 @@ msgstr "Confirmed" #. module: fetchmail #: field:fetchmail.server,server:0 msgid "Server Name" -msgstr "" +msgstr "Server Name" #. module: fetchmail #: field:fetchmail.server,script:0 msgid "Script" -msgstr "" +msgstr "Script" #. module: fetchmail #: help:fetchmail.server,priority:0 msgid "Defines the order of processing, lower values mean higher priority" -msgstr "" +msgstr "Defines the order of processing, lower values mean higher priority" #. module: fetchmail #: help:fetchmail.server,is_ssl:0 @@ -43,11 +43,13 @@ msgid "" "Connections are encrypted with SSL/TLS through a dedicated port (default: " "IMAPS=993, POP3S=995)" msgstr "" +"Connections are encrypted with SSL/TLS through a dedicated port (default: " +"IMAPS=993, POP3S=995)" #. module: fetchmail #: field:fetchmail.server,attach:0 msgid "Keep Attachments" -msgstr "" +msgstr "Keep Attachments" #. module: fetchmail #: help:fetchmail.server,original:0 @@ -56,6 +58,9 @@ msgid "" "attached to each processed message. This will usually double the size of " "your message database." msgstr "" +"Whether a full original copy of each email should be kept for reference and " +"attached to each processed message. This will usually double the size of " +"your message database." #. module: fetchmail #: field:fetchmail.server,priority:0 @@ -75,13 +80,13 @@ msgstr "POP" #. module: fetchmail #: view:fetchmail.server:0 msgid "Fetch Now" -msgstr "" +msgstr "Fetch Now" #. module: fetchmail #: model:ir.actions.act_window,name:fetchmail.action_email_server_tree #: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree msgid "Incoming Mail Servers" -msgstr "" +msgstr "Incoming Mail Servers" #. module: fetchmail #: field:fetchmail.server,port:0 @@ -96,12 +101,12 @@ msgstr "POP/IMAP Servers" #. module: fetchmail #: selection:fetchmail.server,type:0 msgid "Local Server" -msgstr "" +msgstr "Local Server" #. module: fetchmail #: field:fetchmail.server,user:0 msgid "Username" -msgstr "" +msgstr "Username" #. module: fetchmail #: model:ir.model,name:fetchmail.model_fetchmail_server @@ -111,7 +116,7 @@ msgstr "POP/IMAP Server" #. module: fetchmail #: view:fetchmail.server:0 msgid "Reset Confirmation" -msgstr "" +msgstr "Reset Confirmation" #. module: fetchmail #: view:fetchmail.server:0 @@ -121,12 +126,12 @@ msgstr "SSL" #. module: fetchmail #: model:ir.model,name:fetchmail.model_mail_message msgid "Email Message" -msgstr "" +msgstr "Email Message" #. module: fetchmail #: field:fetchmail.server,date:0 msgid "Last Fetch Date" -msgstr "" +msgstr "Last Fetch Date" #. module: fetchmail #: help:fetchmail.server,action_id:0 @@ -134,6 +139,8 @@ msgid "" "Optional custom server action to trigger for each incoming mail, on the " "record that was created or updated by this mail" msgstr "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" #. module: fetchmail #: view:fetchmail.server:0 @@ -143,7 +150,7 @@ msgstr "# of emails" #. module: fetchmail #: field:fetchmail.server,original:0 msgid "Keep Original" -msgstr "" +msgstr "Keep Original" #. module: fetchmail #: code:addons/fetchmail/fetchmail.py:155 @@ -152,33 +159,35 @@ msgid "" "Here is what we got instead:\n" " %s" msgstr "" +"This is what we got instead:\n" +" %s" #. module: fetchmail #: view:fetchmail.server:0 #: field:fetchmail.server,configuration:0 msgid "Configuration" -msgstr "" +msgstr "Configuration" #. module: fetchmail #: view:fetchmail.server:0 msgid "Incoming Mail Server" -msgstr "" +msgstr "Incoming Mail Server" #. module: fetchmail #: code:addons/fetchmail/fetchmail.py:155 #, python-format msgid "Connection test failed!" -msgstr "" +msgstr "Connection test failed!" #. module: fetchmail #: help:fetchmail.server,server:0 msgid "Hostname or IP of the mail server" -msgstr "" +msgstr "Hostname or IP of the mail server" #. module: fetchmail #: view:fetchmail.server:0 msgid "Server type IMAP." -msgstr "" +msgstr "Server type IMAP." #. module: fetchmail #: field:fetchmail.server,name:0 @@ -188,22 +197,22 @@ msgstr "Name" #. module: fetchmail #: field:fetchmail.server,is_ssl:0 msgid "SSL/TLS" -msgstr "" +msgstr "SSL/TLS" #. module: fetchmail #: view:fetchmail.server:0 msgid "Test & Confirm" -msgstr "" +msgstr "Test & Confirm" #. module: fetchmail #: field:fetchmail.server,action_id:0 msgid "Server Action" -msgstr "" +msgstr "Server Action" #. module: fetchmail #: field:mail.message,fetchmail_server_id:0 msgid "Inbound Mail Server" -msgstr "" +msgstr "Inbound Mail Server" #. module: fetchmail #: field:fetchmail.server,message_ids:0 @@ -214,7 +223,7 @@ msgstr "Messages" #. module: fetchmail #: view:fetchmail.server:0 msgid "Search Incoming Mail Servers" -msgstr "" +msgstr "Search Incoming Mail Servers" #. module: fetchmail #: field:fetchmail.server,active:0 @@ -227,11 +236,13 @@ msgid "" "Whether attachments should be downloaded. If not enabled, incoming emails " "will be stripped of any attachments before being processed" msgstr "" +"Whether attachments should be downloaded. If not enabled, incoming emails " +"will be stripped of attachments before processing" #. module: fetchmail #: view:fetchmail.server:0 msgid "Advanced options" -msgstr "" +msgstr "Advanced options" #. module: fetchmail #: selection:fetchmail.server,type:0 @@ -246,7 +257,7 @@ msgstr "IMAP" #. module: fetchmail #: view:fetchmail.server:0 msgid "Server type POP." -msgstr "" +msgstr "Server type POP." #. module: fetchmail #: field:fetchmail.server,password:0 @@ -256,7 +267,7 @@ msgstr "Password" #. module: fetchmail #: view:fetchmail.server:0 msgid "Actions to Perform on Incoming Mails" -msgstr "" +msgstr "Actions to Perform on Incoming Mails" #. module: fetchmail #: field:fetchmail.server,type:0 @@ -276,12 +287,12 @@ msgstr "Server Information" #. module: fetchmail #: view:fetchmail.server:0 msgid "If SSL required." -msgstr "" +msgstr "If SSL required." #. module: fetchmail #: view:fetchmail.server:0 msgid "Advanced" -msgstr "" +msgstr "Advanced" #. module: fetchmail #: view:fetchmail.server:0 @@ -295,11 +306,14 @@ msgid "" "document type. This will create new documents for new conversations, or " "attach follow-up emails to the existing conversations (documents)." msgstr "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." #. module: fetchmail #: field:fetchmail.server,object_id:0 msgid "Create a New Record" -msgstr "" +msgstr "Create a New Record" #. module: fetchmail #: selection:fetchmail.server,state:0 diff --git a/addons/fetchmail_project_issue/i18n/fr.po b/addons/fetchmail_project_issue/i18n/fr.po new file mode 100644 index 00000000000..3738cef0f2a --- /dev/null +++ b/addons/fetchmail_project_issue/i18n/fr.po @@ -0,0 +1,32 @@ +# French translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-02-24 22:39+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: fetchmail_project_issue +#: model:ir.actions.act_window,name:fetchmail_project_issue.action_link_issue_to_email_account +msgid "Create Issues from Email Account" +msgstr "" + +#. module: fetchmail_project_issue +#: model:ir.actions.act_window,help:fetchmail_project_issue.action_link_issue_to_email_account +msgid "" +"You can connect your email account with issues in OpenERP. A new email sent " +"to this account (example: support@mycompany.com) will automatically create " +"an issue. The whole communication will be attached to the issue " +"automatically." +msgstr "" diff --git a/addons/hr/i18n/zh_CN.po b/addons/hr/i18n/zh_CN.po index 45da228f632..adbaa2c31ea 100644 --- a/addons/hr/i18n/zh_CN.po +++ b/addons/hr/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-10 07:10+0000\n" -"Last-Translator: Jeff Wang \n" +"PO-Revision-Date: 2012-02-28 02:39+0000\n" +"Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-11 05:09+0000\n" -"X-Generator: Launchpad (build 14771)\n" +"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n" +"X-Generator: Launchpad (build 14874)\n" #. module: hr #: model:process.node,name:hr.process_node_openerpuser0 @@ -278,7 +278,7 @@ msgstr "预期员工数" #. module: hr #: selection:hr.employee,marital:0 msgid "Divorced" -msgstr "离婚" +msgstr "离异" #. module: hr #: field:hr.employee.category,parent_id:0 @@ -680,7 +680,7 @@ msgstr "经理" #. module: hr #: selection:hr.employee,marital:0 msgid "Widower" -msgstr "离婚男子" +msgstr "配偶已去世" #. module: hr #: field:hr.employee,child_ids:0 diff --git a/addons/hr_payroll_account/i18n/pt_BR.po b/addons/hr_payroll_account/i18n/pt_BR.po index 2d46c43d633..a63e0acbd99 100644 --- a/addons/hr_payroll_account/i18n/pt_BR.po +++ b/addons/hr_payroll_account/i18n/pt_BR.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-13 11:41+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:43+0000\n" +"Last-Translator: Emerson \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-14 05:45+0000\n" -"X-Generator: Launchpad (build 14781)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: hr_payroll_account #: field:hr.payslip,move_id:0 @@ -25,7 +25,7 @@ msgstr "" #. module: hr_payroll_account #: field:hr.salary.rule,account_tax_id:0 msgid "Tax Code" -msgstr "" +msgstr "Código da Taxa" #. module: hr_payroll_account #: field:hr.payslip,journal_id:0 @@ -49,12 +49,12 @@ msgstr "Conta Analítica" #. module: hr_payroll_account #: model:ir.model,name:hr_payroll_account.model_hr_salary_rule msgid "hr.salary.rule" -msgstr "" +msgstr "hr.salary.rule" #. module: hr_payroll_account #: model:ir.model,name:hr_payroll_account.model_hr_payslip_run msgid "Payslip Batches" -msgstr "" +msgstr "Lotes de Holerite" #. module: hr_payroll_account #: field:hr.contract,journal_id:0 @@ -69,7 +69,7 @@ msgstr "Holerite" #. module: hr_payroll_account #: constraint:hr.payslip:0 msgid "Payslip 'Date From' must be before 'Date To'." -msgstr "" +msgstr "' Data de' contra cheque deve ser antes de 'Data para'" #. module: hr_payroll_account #: help:hr.payslip,period_id:0 diff --git a/addons/hr_timesheet_invoice/__openerp__.py b/addons/hr_timesheet_invoice/__openerp__.py index 9e8af9aa736..7e11fdad723 100644 --- a/addons/hr_timesheet_invoice/__openerp__.py +++ b/addons/hr_timesheet_invoice/__openerp__.py @@ -42,7 +42,6 @@ reports, etc.""", 'hr_timesheet_invoice_report.xml', 'report/report_analytic_view.xml', 'report/hr_timesheet_invoice_report_view.xml', - 'wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml', 'wizard/hr_timesheet_analytic_profit_view.xml', 'wizard/hr_timesheet_invoice_create_view.xml', 'wizard/hr_timesheet_invoice_create_final_view.xml', diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml index cc8028a8a0a..473820d5123 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml @@ -1,8 +1,6 @@ - - ). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -import pooler -import time -from report import report_sxw - - -class account_analytic_cost_ledger(report_sxw.rml_parse): - def __init__(self, cr, uid, name, context): - super(account_analytic_cost_ledger, self).__init__(cr, uid, name, context=context) - self.sum_revenue={} - self.account_sum_revenue={} - self.localcontext.update( { - 'time': time, - 'lines_g': self._lines_g, - 'lines_a': self._lines_a, - 'account_sum_debit': self._account_sum_debit, - 'account_sum_credit': self._account_sum_credit, - 'account_sum_balance': self._account_sum_balance, - 'account_sum_qty': self._account_sum_qty, - 'account_sum_revenue': self._account_sum_revenue, - 'account_g_sum_revenue': self._account_g_sum_revenue, - 'sum_debit': self._sum_debit, - 'sum_credit': self._sum_credit, - 'sum_balance': self._sum_balance, - 'sum_qty': self._sum_qty, - 'sum_revenue': self._sum_revenue, - }) - - def _lines_g(self, account_id, date1, date2): - self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id, sum(aal.unit_amount) AS quantity \ - FROM account_account AS aa, account_analytic_line AS aal \ - WHERE (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ - GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2)) - res = self.cr.dictfetchall() - - for r in res: - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 - return res - - def _lines_a(self, general_account_id, account_id, date1, date2): - self.cr.execute("SELECT aal.id AS id, aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj, aal.unit_amount AS quantity \ - FROM account_analytic_line AS aal, account_analytic_journal AS aaj \ - WHERE (aal.general_account_id=%s) AND (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) \ - AND (aal.journal_id=aaj.id) \ - ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2)) - res = self.cr.dictfetchall() - - line_obj = self.pool.get('account.analytic.line') - price_obj = self.pool.get('product.pricelist') - lines = {} - for l in line_obj.browse(self.cr, self.uid, [ x['id'] for x in res]): - lines[l.id] = l - if not account_id in self.sum_revenue: - self.sum_revenue[account_id] = 0.0 - if not general_account_id in self.account_sum_revenue: - self.account_sum_revenue[general_account_id] = 0.0 - for r in res: - id = r['id'] - revenue = 0.0 - if lines[id].amount < 0 and lines[id].product_id and lines[id].product_uom_id and lines[id].account_id.pricelist_id: - ctx = {'uom': lines[id].product_uom_id.id} - price = price_obj.price_get(self.cr, self.uid, [lines[id].account_id.pricelist_id.id], lines[id].product_id.id, lines[id].unit_amount, False, context=ctx)[lines[id].account_id.pricelist_id.id] - revenue = round(price * lines[id].unit_amount, 2) - r['revenue'] = revenue - self.sum_revenue[account_id] += revenue - self.account_sum_revenue[general_account_id] += revenue - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 - return res - - def _account_sum_debit(self, account_id, date1, date2): - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount>0", (account_id, date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _account_sum_credit(self, account_id, date1, date2): - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount<0", (account_id, date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _account_sum_balance(self, account_id, date1, date2): - debit = self._account_sum_debit(account_id, date1, date2) - credit = self._account_sum_credit(account_id, date1, date2) - return (debit-credit) - - def _account_sum_qty(self, account_id, date1, date2): - self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s", (account_id, date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _account_sum_revenue(self, account_id): - return self.sum_revenue.get(account_id, 0.0) - - def _account_g_sum_revenue(self, general_account_id): - return self.account_sum_revenue.get(general_account_id, 0.0) - - def _sum_debit(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount>0", (ids,date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _sum_credit(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - ids = map(lambda x: x.id, accounts) - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount<0", (ids, date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _sum_balance(self, accounts, date1, date2): - debit = self._sum_debit(accounts, date1, date2) or 0.0 - credit = self._sum_credit(accounts, date1, date2) or 0.0 - return (debit-credit) - - def _sum_qty(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - ids = map(lambda x: x.id, accounts) - self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line WHERE account_id =ANY(%s) AND date>=%s AND date<=%s", (ids,date1, date2)) - return self.cr.fetchone()[0] or 0.0 - - def _sum_revenue(self, accounts): - ids = map(lambda x: x.id, accounts) - if not ids: - return 0.0 - res = 0.0 - for id in ids: - res += self.sum_revenue.get(id, 0.0) - return res - -report_sxw.report_sxw( - 'report.hr.timesheet.invoice.account.analytic.account.cost_ledger', - 'account.analytic.account', - 'addons/hr_timesheet_invoice/report/cost_ledger.rml', - parser=account_analytic_cost_ledger, header='internal') - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet_invoice/report/cost_ledger.rml b/addons/hr_timesheet_invoice/report/cost_ledger.rml deleted file mode 100644 index d014dd49927..00000000000 --- a/addons/hr_timesheet_invoice/report/cost_ledger.rml +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [[ company.name ]] - - - Cost Ledger - - - - - - - - - - - - - - - - - - - - - Period from startdate - - - Period to enddate - - - Currency - - - Printing date - - - - - - - [[ data['form']['date1'] ]] - - - [[ data['form']['date2'] ]] - - - [[ company.currency_id.name ]] - - - [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]] - - - - - - - - - - - - - Date - - - J.C. - - - Code - - - Move name - - - Debit - - - Credit - - - Balance - - - - - - - [[ repeatIn(objects,'o') ]] -
- - - - [[ o.code ]] [[ o.complete_name ]] - - - - - - -
- - - - [[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]] - - - - [[ move_g['code'] ]] [[ move_g['name'] ]] - - - - - - - [[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]] - [[ move_a['date'] ]] - - - [[ move_a['cj'] ]] - - - [[ move_a['code'] ]] - - - [[ move_a['name'] ]] - - - [[ '%.2f' % move_a['debit'] ]] - - - [[ '%.2f' % move_a['credit'] ]] - - - [[ '%.2f' % move_a['balance'] ]] - - - - - - - - - - Total ([[ move_g['code'] ]]) - - - [[ '%.2f' % move_g['debit'] ]] - - - [[ '%.2f' % move_g['credit'] ]] - - - [[ '%.2f' % move_g['balance'] ]] - - - - - - -
- - - - Total ([[ o.code ]]) - - - [[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (account_sum_credit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']) or 0.0)]] - - - -
- - - - Total - - - [[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (sum_credit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - - - [[ '%.2f' % (sum_balance(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]] - - - - - - -
-
\ No newline at end of file diff --git a/addons/hr_timesheet_invoice/test/hr_timesheet_invoice_report.yml b/addons/hr_timesheet_invoice/test/hr_timesheet_invoice_report.yml index 2340d18e3f8..adce0e97fa3 100644 --- a/addons/hr_timesheet_invoice/test/hr_timesheet_invoice_report.yml +++ b/addons/hr_timesheet_invoice/test/hr_timesheet_invoice_report.yml @@ -7,14 +7,3 @@ (data, format) = netsvc.LocalService('report.account.analytic.profit').create(cr, uid, [], data_dict, {}) if tools.config['test_report_directory']: file(os.path.join(tools.config['test_report_directory'], 'hr_timesheet_invoice-account_analytic_profit_report.'+format), 'wb+').write(data) -- - Print the HR Cost Ledger report through the wizard -- - !python {model: account.analytic.account}: | - import netsvc, tools, os, time - ctx={} - acc_ids = [ref('account.analytic_absences'),ref('account.analytic_internal'),ref('account.analytic_sednacom'),ref('account.analytic_thymbra'),ref('account.analytic_partners_camp_to_camp')] - ctx.update({'model': 'ir.ui.menu','active_ids': acc_ids}) - data_dict = {'date1': time.strftime('%Y-01-01'), 'date2': time.strftime('%Y-%m-%d')} - from tools import test_reports - test_reports.try_report_action(cr, uid, 'action_hr_timesheet_invoice_cost_ledger',wiz_data=data_dict, context=ctx, our_module='hr_timesheet_invoice') diff --git a/addons/hr_timesheet_invoice/wizard/__init__.py b/addons/hr_timesheet_invoice/wizard/__init__.py index 6dce6a7b651..b718be1acbb 100644 --- a/addons/hr_timesheet_invoice/wizard/__init__.py +++ b/addons/hr_timesheet_invoice/wizard/__init__.py @@ -22,7 +22,6 @@ import hr_timesheet_invoice_create import hr_timesheet_analytic_profit import hr_timesheet_final_invoice_create -import hr_timesheet_analytic_cost_ledger_report # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_cost_ledger_report.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_cost_ledger_report.py deleted file mode 100644 index 892c93252ee..00000000000 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_cost_ledger_report.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -import time - -from osv import osv, fields - -class hr_timesheet_analytic_cost_ledger(osv.osv_memory): - _name = 'hr.timesheet.analytic.cost.ledger' - _description = 'hr.timesheet.analytic.cost.ledger' - _columns = { - 'date1': fields.date('Start of period', required=True), - 'date2': fields.date('End of period', required=True) - } - _defaults = { - 'date1': lambda *a: time.strftime('%Y-01-01'), - 'date2': lambda *a: time.strftime('%Y-%m-%d') - } - def print_report(self, cr, uid, ids, context=None): - if context is None: - context = {} - datas = { - 'ids': 'active_ids' in context and context['active_ids'] or [], - 'model': 'account.analytic.account', - 'form': self.read(cr, uid, ids, context=context)[0] - } - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'hr.timesheet.invoice.account.analytic.account.cost_ledger', - 'datas': datas, - } - -hr_timesheet_analytic_cost_ledger() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml deleted file mode 100644 index 71706d9cdfe..00000000000 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Cost Ledger - hr.timesheet.analytic.cost.ledger - form - -
- - - - - - -