diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po index da620808a85..e3b3f080365 100644 --- a/addons/account/i18n/ru.po +++ b/addons/account/i18n/ru.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-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-06-07 12:52+0000\n" +"PO-Revision-Date: 2013-06-19 11:49+0000\n" "Last-Translator: Chertykov Denis \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: 2013-06-08 05:52+0000\n" -"X-Generator: Launchpad (build 16667)\n" +"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n" +"X-Generator: Launchpad (build 16673)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -134,10 +134,10 @@ msgstr "" #: code:addons/account/account.py:686 #: code:addons/account/account.py:781 #: code:addons/account/account.py:1058 -#: code:addons/account/account_invoice.py:817 #: code:addons/account/account_invoice.py:820 #: code:addons/account/account_invoice.py:823 -#: code:addons/account/account_invoice.py:1542 +#: code:addons/account/account_invoice.py:826 +#: code:addons/account/account_invoice.py:1545 #: code:addons/account/account_move_line.py:98 #: code:addons/account/account_move_line.py:771 #: code:addons/account/account_move_line.py:824 @@ -257,7 +257,8 @@ msgid "" "entries." msgstr "" "Тип счета используется в информационных целях, при создании официальных " -"отчетов для конкретной страны, определении правил" +"отчетов для конкретной страны, определении правил закрытия финансового года " +"и проводок открытия." #. module: account #: field:account.config.settings,sale_refund_sequence_next:0 @@ -285,7 +286,7 @@ msgstr "Разрешить списание" #. module: account #: view:account.analytic.chart:0 msgid "Select the Period for Analysis" -msgstr "Выберите период для проведения анализа" +msgstr "Выберите период для анализа" #. module: account #: model:ir.actions.act_window,help:account.action_invoice_tree3 @@ -355,7 +356,7 @@ msgid "Allow multi currencies" msgstr "Разрешить мульти-валютность" #. module: account -#: code:addons/account/account_invoice.py:74 +#: code:addons/account/account_invoice.py:77 #, python-format msgid "You must define an analytic journal of type '%s'!" msgstr "Вы должны определить журнал аналитики типа '%s'!" @@ -757,7 +758,9 @@ msgstr "" #: selection:account.common.partner.report,result_selection:0 #: selection:account.partner.balance,result_selection:0 #: selection:account.partner.ledger,result_selection:0 +#: report:account.third_party_ledger:0 #: code:addons/account/report/account_partner_balance.py:297 +#: code:addons/account/report/account_partner_ledger.py:272 #, python-format msgid "Receivable Accounts" msgstr "Счета к получению" @@ -797,7 +800,7 @@ msgid "Are you sure you want to create entries?" msgstr "Вы действительно хотите создать проводки?" #. module: account -#: code:addons/account/account_invoice.py:1358 +#: code:addons/account/account_invoice.py:1361 #, python-format msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)." msgstr "Счет частично оплачен: %s%s из %s%s (%s%s остаток)." @@ -866,7 +869,7 @@ msgid "Type" msgstr "Тип" #. module: account -#: code:addons/account/account_invoice.py:823 +#: code:addons/account/account_invoice.py:826 #, python-format msgid "" "Taxes are missing!\n" @@ -1052,7 +1055,7 @@ msgid "Liability" msgstr "Обязательства" #. module: account -#: code:addons/account/account_invoice.py:896 +#: code:addons/account/account_invoice.py:899 #, python-format msgid "Please define sequence on the journal related to this invoice." msgstr "Пожалуйста, определите нумерацию в журнале, связанном с этим счетом." @@ -1128,8 +1131,8 @@ msgstr "Возможности" #. module: account #: code:addons/account/account.py:2346 #: code:addons/account/account_bank_statement.py:424 -#: code:addons/account/account_invoice.py:74 -#: code:addons/account/account_invoice.py:772 +#: code:addons/account/account_invoice.py:77 +#: code:addons/account/account_invoice.py:775 #: code:addons/account/account_move_line.py:195 #, python-format msgid "No Analytic Journal !" @@ -1168,7 +1171,7 @@ msgstr "Название счета." #. module: account #: field:account.journal,with_last_closing_balance:0 msgid "Opening With Last Closing Balance" -msgstr "" +msgstr "Открыть с предыдущим остатком" #. module: account #: help:account.tax.code,notprintable:0 @@ -1567,8 +1570,10 @@ msgid "%s (copy)" msgstr "%s (копия)" #. module: account +#: report:account.account.balance:0 #: selection:account.balance.report,display_account:0 #: selection:account.common.account.report,display_account:0 +#: report:account.general.ledger_landscape:0 #: selection:account.partner.balance,display_partner:0 #: selection:account.report.general.ledger,display_account:0 msgid "With balance is not equal to 0" @@ -1803,7 +1808,7 @@ msgstr "" #: view:account.invoice:0 #: view:account.invoice.report:0 #: field:account.move.line,invoice:0 -#: code:addons/account/account_invoice.py:1154 +#: code:addons/account/account_invoice.py:1157 #: model:ir.model,name:account.model_account_invoice #: model:res.request.link,name:account.req_link_invoice #, python-format @@ -2029,6 +2034,12 @@ msgid "" "useful because it enables you to preview at any time the tax that you owe at " "the start and end of the month or quarter." msgstr "" +"Это меню печати налоговой декларации на основе счетов и платежей. Выберите " +"один или несколько периодов финансового года. Информация, необходимая для " +"налоговой декларации генерируется автоматически OpenERP из счета (или " +"платежей, в некоторых странах). Эти данные обновляются в режиме реального " +"времени. Это очень полезно, потому что позволяет просматривать в любое время " +"налоги, которые вы должны в начале и в конце месяца или квартала." #. module: account #: code:addons/account/account.py:409 @@ -2057,9 +2068,9 @@ msgstr "" #: code:addons/account/account_bank_statement.py:419 #: code:addons/account/account_cash_statement.py:256 #: code:addons/account/account_cash_statement.py:300 -#: code:addons/account/account_invoice.py:896 -#: code:addons/account/account_invoice.py:930 -#: code:addons/account/account_invoice.py:1121 +#: code:addons/account/account_invoice.py:899 +#: code:addons/account/account_invoice.py:933 +#: code:addons/account/account_invoice.py:1124 #: code:addons/account/account_move_line.py:579 #: code:addons/account/account_move_line.py:828 #: code:addons/account/account_move_line.py:851 @@ -2104,7 +2115,7 @@ msgstr "" "

\n" " Вы можете управлять счетом от поставщика в соответствии с\n" " тем, что вы приобрели. OpenERP также может создавать\n" -" черновые счета автоматически из заказов на закупку.\n" +" черновые счета автоматически из заказов закупки.\n" "

\n" " " @@ -2230,7 +2241,7 @@ msgstr "Счет - печать журнала" #. module: account #: model:ir.model,name:account.model_product_category msgid "Product Category" -msgstr "Категория ТМЦ" +msgstr "Категория продукции" #. module: account #: code:addons/account/account.py:656 @@ -2307,7 +2318,9 @@ msgstr "Управление активами" #: selection:account.common.partner.report,result_selection:0 #: selection:account.partner.balance,result_selection:0 #: selection:account.partner.ledger,result_selection:0 +#: report:account.third_party_ledger:0 #: code:addons/account/report/account_partner_balance.py:299 +#: code:addons/account/report/account_partner_ledger.py:274 #, python-format msgid "Payable Accounts" msgstr "Кредиторская задолженность" @@ -2600,7 +2613,7 @@ msgstr "Учетный год" #: help:accounting.report,fiscalyear_id:0 #: help:accounting.report,fiscalyear_id_cmp:0 msgid "Keep empty for all open fiscal year" -msgstr "Keep empty for all open fiscal year" +msgstr "Оставьте пустым для всех открытых финансовых лет" #. module: account #: code:addons/account/account.py:653 @@ -2623,7 +2636,7 @@ msgid "Create an Account Based on this Template" msgstr "Создать счет на основе этого шаблона" #. module: account -#: code:addons/account/account_invoice.py:930 +#: code:addons/account/account_invoice.py:933 #, python-format msgid "" "Cannot create the invoice.\n" @@ -2896,11 +2909,11 @@ msgstr "Счета" #. module: account #: code:addons/account/account.py:3541 #: code:addons/account/account_bank_statement.py:405 -#: code:addons/account/account_invoice.py:504 -#: code:addons/account/account_invoice.py:606 -#: code:addons/account/account_invoice.py:621 -#: code:addons/account/account_invoice.py:629 -#: code:addons/account/account_invoice.py:654 +#: code:addons/account/account_invoice.py:507 +#: code:addons/account/account_invoice.py:609 +#: code:addons/account/account_invoice.py:624 +#: code:addons/account/account_invoice.py:632 +#: code:addons/account/account_invoice.py:657 #: code:addons/account/account_move_line.py:536 #, python-format msgid "Configuration Error!" @@ -2932,7 +2945,7 @@ msgstr "Метка" #. module: account #: view:res.partner.bank:0 msgid "Accounting Information" -msgstr "Бухгалтерская информация" +msgstr "Учетная информация" #. module: account #: view:account.tax:0 @@ -3098,6 +3111,8 @@ msgid "" "Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" "Forma' state." msgstr "" +"Выбранные счета нельзя подтвердить, так как состояние не \"Черновик\" и не " +"\"Проформа\"" #. module: account #: code:addons/account/account.py:1071 @@ -3130,7 +3145,7 @@ msgstr "Журнал продаж" #. module: account #: code:addons/account/account.py:2346 -#: code:addons/account/account_invoice.py:772 +#: code:addons/account/account_invoice.py:775 #: code:addons/account/account_move_line.py:195 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" @@ -3299,7 +3314,7 @@ msgid "Fiscal Position" msgstr "Система налогообложения" #. module: account -#: code:addons/account/account_invoice.py:820 +#: code:addons/account/account_invoice.py:823 #, python-format msgid "" "Tax base different!\n" @@ -3464,7 +3479,7 @@ msgstr "Вид" #. module: account #: code:addons/account/account.py:3460 -#: code:addons/account/account_bank.py:95 +#: code:addons/account/account_bank.py:94 #, python-format msgid "BNK" msgstr "BNK" @@ -3734,7 +3749,7 @@ msgstr "" "иметь названия как и у самого документа" #. module: account -#: code:addons/account/account_invoice.py:1013 +#: code:addons/account/account_invoice.py:1016 #, python-format msgid "" "You cannot create an invoice on a centralized journal. Uncheck the " @@ -3749,7 +3764,7 @@ msgid "Starting Balance" msgstr "Начальный баланс" #. module: account -#: code:addons/account/account_invoice.py:1462 +#: code:addons/account/account_invoice.py:1465 #, python-format msgid "No Partner Defined !" msgstr "Партнер не определен!" @@ -4040,9 +4055,13 @@ msgid "VAT :" msgstr "НДС:" #. module: account +#: report:account.account.balance:0 #: report:account.central.journal:0 #: view:account.config.settings:0 +#: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 +#: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 @@ -4145,8 +4164,10 @@ msgstr "" "условии оплаты контрагента." #. module: account +#: report:account.account.balance:0 #: selection:account.balance.report,display_account:0 #: selection:account.common.account.report,display_account:0 +#: report:account.general.ledger_landscape:0 #: selection:account.report.general.ledger,display_account:0 #: selection:account.tax,type_tax_use:0 #: selection:account.tax.template,type_tax_use:0 @@ -4283,7 +4304,7 @@ msgstr "Открыть счет" #. module: account #: field:account.invoice.tax,factor_tax:0 msgid "Multipication factor Tax code" -msgstr "" +msgstr "Коэффициент кода налога" #. module: account #: field:account.config.settings,complete_tax_set:0 @@ -4409,7 +4430,7 @@ msgid "Consolidated Children" msgstr "Субсчета" #. module: account -#: code:addons/account/account_invoice.py:570 +#: code:addons/account/account_invoice.py:573 #: code:addons/account/wizard/account_invoice_refund.py:146 #, python-format msgid "Insufficient Data!" @@ -4592,7 +4613,7 @@ msgstr "" #: field:account.account,shortcut:0 #: field:account.account.template,shortcut:0 msgid "Shortcut" -msgstr "Горячая клвиша" +msgstr "Закладка" #. module: account #: view:account.account:0 @@ -4666,6 +4687,8 @@ msgid "" "Error!\n" "The duration of the Period(s) is/are invalid." msgstr "" +"Ошибка!\n" +"Не допустимая продолжительность периода." #. module: account #: field:account.entries.report,month:0 @@ -4690,8 +4713,8 @@ msgid "Supplier invoice sequence" msgstr "Нумерация счетов поставщиков" #. module: account -#: code:addons/account/account_invoice.py:607 -#: code:addons/account/account_invoice.py:622 +#: code:addons/account/account_invoice.py:610 +#: code:addons/account/account_invoice.py:625 #, python-format msgid "" "Cannot find a chart of account, you should create one from Settings\\" @@ -4826,7 +4849,7 @@ msgstr "Документ из счета или платежа" msgid "" "There is currently no company without chart of account. The wizard will " "therefore not be executed." -msgstr "" +msgstr "Не ни одной компании без плана счетов. Мастер не будет запущен." #. module: account #: model:ir.actions.act_window,name:account.action_wizard_multi_chart @@ -4971,7 +4994,7 @@ msgstr "" "Нельзя создать счет, который имеет родительский счет другой компании." #. module: account -#: code:addons/account/account_invoice.py:655 +#: code:addons/account/account_invoice.py:658 #, python-format msgid "" "Cannot find any account journal of %s type for this company.\n" @@ -5019,7 +5042,7 @@ msgstr "Контроль типа" #. module: account #: help:account.journal,default_credit_account_id:0 msgid "It acts as a default account for credit amount" -msgstr "Выступает в качестве счета по умолчанию для сумм по кредиту" +msgstr "Используется как кредитовый счет по умолчанию" #. module: account #: view:cash.box.out:0 @@ -5036,7 +5059,7 @@ msgstr "Отменено" #. module: account #: help:account.config.settings,group_proforma_invoices:0 msgid "Allows you to put invoices in pro-forma state." -msgstr "" +msgstr "Позволяет устанавливать статус \"Проформа\" для счетов." #. module: account #: view:account.journal:0 @@ -5050,6 +5073,7 @@ msgid "" "It adds the currency column on report if the currency differs from the " "company currency." msgstr "" +"Добавляет колонку валюты в отчет, если валюта отлична от валюты компании." #. module: account #: code:addons/account/account.py:3394 @@ -5281,7 +5305,7 @@ msgstr "Проводки журнала для проверки" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 msgid "Round Globally" -msgstr "" +msgstr "Глобальное округление" #. module: account #: view:account.bank.statement:0 @@ -5295,7 +5319,7 @@ msgid "Tax Application" msgstr "Применение налога" #. module: account -#: code:addons/account/account_invoice.py:919 +#: code:addons/account/account_invoice.py:922 #, python-format msgid "" "Please verify the price of the invoice !\n" @@ -5561,7 +5585,7 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Pro Forma Invoice " -msgstr "Предварительный счет " +msgstr "Проформа счета " #. module: account #: selection:account.subscription,period_type:0 @@ -5597,7 +5621,7 @@ msgstr "Прибыль и убыток (счет доходов)" #. module: account #: field:account.journal,allow_date:0 msgid "Check Date in Period" -msgstr "" +msgstr "Проверка даты в периоде" #. module: account #: model:ir.ui.menu,name:account.final_accounting_reports @@ -5622,7 +5646,7 @@ msgid "Compute Code (if type=code)" msgstr "Вычислить код (если тип=код)" #. module: account -#: code:addons/account/account_invoice.py:505 +#: code:addons/account/account_invoice.py:508 #, python-format msgid "" "Cannot find a chart of accounts for this company, you should create one." @@ -5973,7 +5997,7 @@ msgstr "Сумма в валюте" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 msgid "Round per Line" -msgstr "" +msgstr "Округление каждой позиции" #. module: account #: report:account.analytic.account.balance:0 @@ -6063,7 +6087,7 @@ msgstr "Открыть кассу" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Automatic formatting" -msgstr "" +msgstr "Автоматическое форматирование" #. module: account #: view:account.move.line.reconcile:0 @@ -6166,7 +6190,7 @@ msgstr "Доход" #: view:account.config.settings:0 #: view:account.invoice:0 #: view:account.invoice.report:0 -#: code:addons/account/account_invoice.py:387 +#: code:addons/account/account_invoice.py:390 #, python-format msgid "Supplier" msgstr "Поставщик" @@ -6186,7 +6210,7 @@ msgid "Account n°" msgstr "№ счета" #. module: account -#: code:addons/account/account_invoice.py:92 +#: code:addons/account/account_invoice.py:95 #, python-format msgid "Free Reference" msgstr "Свободная Ссылка" @@ -6196,7 +6220,9 @@ msgstr "Свободная Ссылка" #: selection:account.common.partner.report,result_selection:0 #: selection:account.partner.balance,result_selection:0 #: selection:account.partner.ledger,result_selection:0 +#: report:account.third_party_ledger:0 #: code:addons/account/report/account_partner_balance.py:301 +#: code:addons/account/report/account_partner_ledger.py:276 #, python-format msgid "Receivable and Payable Accounts" msgstr "Счета дебиторской и кредиторской задолженности" @@ -6323,7 +6349,7 @@ msgstr "" #. module: account #: field:account.journal,loss_account_id:0 msgid "Loss Account" -msgstr "" +msgstr "Счет убытков" #. module: account #: field:account.tax,account_collected_id:0 @@ -6501,7 +6527,7 @@ msgid "Models" msgstr "" #. module: account -#: code:addons/account/account_invoice.py:1121 +#: code:addons/account/account_invoice.py:1124 #, python-format msgid "" "You cannot cancel an invoice which is partially paid. You need to " @@ -6673,7 +6699,7 @@ msgid "You cannot create journal items on closed account." msgstr "" #. module: account -#: code:addons/account/account_invoice.py:630 +#: code:addons/account/account_invoice.py:633 #, python-format msgid "Invoice line account's company and invoice's compnay does not match." msgstr "" @@ -6718,7 +6744,7 @@ msgstr "Собственные средства" #. module: account #: field:account.journal,internal_account_id:0 msgid "Internal Transfers Account" -msgstr "" +msgstr "Счет внутренних переводов" #. module: account #: code:addons/account/wizard/pos_box.py:32 @@ -6734,7 +6760,7 @@ msgstr "Процент" #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round globally" -msgstr "" +msgstr "Глобальное округление" #. module: account #: selection:account.report.general.ledger,sortby:0 @@ -6825,7 +6851,7 @@ msgstr "" #: code:addons/account/account.py:1453 #: code:addons/account/account.py:1482 #: code:addons/account/account.py:1489 -#: code:addons/account/account_invoice.py:1012 +#: code:addons/account/account_invoice.py:1015 #: code:addons/account/account_move_line.py:1005 #: code:addons/account/wizard/account_automatic_reconcile.py:148 #: code:addons/account/wizard/account_fiscalyear_close.py:88 @@ -6912,7 +6938,7 @@ msgstr "" #: report:account.invoice:0 #: selection:account.invoice,type:0 #: selection:account.invoice.report,type:0 -#: code:addons/account/account_invoice.py:1157 +#: code:addons/account/account_invoice.py:1160 #: selection:report.invoice.created,type:0 #, python-format msgid "Supplier Refund" @@ -7553,7 +7579,7 @@ msgstr "Для процентных налогов, введите % как чи #. module: account #: model:ir.actions.act_window,name:account.action_account_report_tree_hierarchy msgid "Financial Reports Hierarchy" -msgstr "" +msgstr "Структура финансовых отчетов" #. module: account #: model:ir.actions.act_window,name:account.act_account_invoice_partner_relation @@ -7718,7 +7744,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_proforma_invoices:0 msgid "Allow pro-forma invoices" -msgstr "" +msgstr "Разрешить проформы счетов" #. module: account #: view:account.bank.statement:0 @@ -7789,7 +7815,7 @@ msgstr "Журнал счета" #. module: account #: field:account.config.settings,tax_calculation_rounding_method:0 msgid "Tax calculation rounding method" -msgstr "" +msgstr "Метод округления при расчете налога" #. module: account #: model:process.node,name:account.process_node_paidinvoice0 @@ -7912,7 +7938,7 @@ msgstr "Нормальный" #: model:ir.actions.act_window,name:account.action_email_templates #: model:ir.ui.menu,name:account.menu_email_templates msgid "Email Templates" -msgstr "" +msgstr "Шаблоны писем" #. module: account #: view:account.move.line:0 @@ -7974,7 +8000,7 @@ msgstr "Нет номера части !" #: view:account.financial.report:0 #: model:ir.ui.menu,name:account.menu_account_report_tree_hierarchy msgid "Account Reports Hierarchy" -msgstr "" +msgstr "Структура отчетов по счетам" #. module: account #: help:account.account.template,chart_template_id:0 @@ -8050,6 +8076,8 @@ msgstr "Отмена выбранных счетов" msgid "" "This field is used to generate legal reports: profit and loss, balance sheet." msgstr "" +"Это поле используется для генерации официальных отчетов: прибыль и убыток, " +"баланс." #. module: account #: selection:account.entries.report,month:0 @@ -8061,7 +8089,7 @@ msgid "May" msgstr "Май" #. module: account -#: code:addons/account/account_invoice.py:817 +#: code:addons/account/account_invoice.py:820 #, python-format msgid "Global taxes defined, but they are not in invoice lines !" msgstr "" @@ -8102,7 +8130,7 @@ msgstr "Провести записи журнала" #: view:account.config.settings:0 #: view:account.invoice:0 #: view:account.invoice.report:0 -#: code:addons/account/account_invoice.py:385 +#: code:addons/account/account_invoice.py:388 #, python-format msgid "Customer" msgstr "Заказчик" @@ -8303,7 +8331,7 @@ msgstr "" #. module: account #: field:res.company,tax_calculation_rounding_method:0 msgid "Tax Calculation Rounding Method" -msgstr "" +msgstr "Метод округления при расчете налога" #. module: account #: field:account.entries.report,move_line_state:0 @@ -8357,7 +8385,7 @@ msgid "Select a currency to apply on the invoice" msgstr "Выбрать валюту применяемую в счете" #. module: account -#: code:addons/account/account_invoice.py:898 +#: code:addons/account/account_invoice.py:901 #, python-format msgid "No Invoice Lines !" msgstr "Нет позиций в счете !" @@ -8433,7 +8461,7 @@ msgid "Associated Partner" msgstr "Связанный контрагент" #. module: account -#: code:addons/account/account_invoice.py:1462 +#: code:addons/account/account_invoice.py:1465 #, python-format msgid "You must first select a partner !" msgstr "Сначала вы должны выбрать партнера !" @@ -8998,7 +9026,7 @@ msgstr "Вы уверены?" #. module: account #: view:account.journal:0 msgid "Accounts Allowed (empty for no control)" -msgstr "Разрешенные счета (остваьте пустым для снятия проверок)" +msgstr "Разрешенные счета (оставьте пустым для снятия проверок)" #. module: account #: field:account.config.settings,sale_tax_rate:0 @@ -9384,7 +9412,7 @@ msgid "Purchase Tax(%)" msgstr "Налог на покупку(%)" #. module: account -#: code:addons/account/account_invoice.py:898 +#: code:addons/account/account_invoice.py:901 #, python-format msgid "Please create some invoice lines." msgstr "Пожалуйста, создайте позиции счета" @@ -9396,6 +9424,8 @@ msgid "" "Please check that the field 'Internal Transfers Account' is set on the " "payment method '%s'." msgstr "" +"Пожалуйста, проверьте , что поле \"Счет внутренних переводов\" установлено " +"для способа оплаты '%s'." #. module: account #: field:account.vat.declaration,display_detail:0 @@ -9448,7 +9478,7 @@ msgstr "Конец периода" #: model:ir.actions.act_window,name:account.action_account_report #: model:ir.ui.menu,name:account.menu_account_reports msgid "Financial Reports" -msgstr "" +msgstr "Финансовые отчеты" #. module: account #: model:account.account.type,name:account.account_type_liability_view1 @@ -9737,6 +9767,7 @@ msgid "" "This field contains the information related to the numbering of the journal " "entries of this journal." msgstr "" +"Это поле содержит информацию, связанную с нумерацией проводок этого журнала." #. module: account #: field:account.invoice,sent:0 @@ -9768,7 +9799,7 @@ msgstr "" #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing msgid "Periodic Processing" -msgstr "" +msgstr "Периодическая обработка" #. module: account #: view:account.invoice.report:0 @@ -9940,7 +9971,7 @@ msgid "Unreconciled" msgstr "Не сверенные" #. module: account -#: code:addons/account/account_invoice.py:919 +#: code:addons/account/account_invoice.py:922 #, python-format msgid "Bad total !" msgstr "Плохой итог !" @@ -10046,7 +10077,7 @@ msgstr "" #. module: account #: field:account.bank.statement.line,name:0 msgid "OBI" -msgstr "" +msgstr "Назначение" #. module: account #: help:res.partner,property_account_payable:0 @@ -10196,7 +10227,7 @@ msgstr "Апрель" #. module: account #: model:account.financial.report,name:account.account_financial_report_profitloss_toreport0 msgid "Profit (Loss) to report" -msgstr "" +msgstr "Прибыль (убыток) в отчет" #. module: account #: code:addons/account/account_invoice.py:379 @@ -10401,7 +10432,7 @@ msgstr "Всего" #: code:addons/account/wizard/account_invoice_refund.py:109 #, python-format msgid "Cannot %s draft/proforma/cancel invoice." -msgstr "" +msgstr "Нельзя %s черновик/проформу/закрытый счет." #. module: account #: field:account.tax,account_analytic_paid_id:0 @@ -10415,6 +10446,7 @@ msgstr "Открыть для банковской сверки" #. module: account #: field:account.account,company_id:0 +#: report:account.account.balance:0 #: field:account.aged.trial.balance,company_id:0 #: field:account.analytic.journal,company_id:0 #: field:account.balance.report,company_id:0 @@ -10430,7 +10462,9 @@ msgstr "Открыть для банковской сверки" #: field:account.entries.report,company_id:0 #: field:account.fiscal.position,company_id:0 #: field:account.fiscalyear,company_id:0 +#: report:account.general.journal:0 #: field:account.general.journal,company_id:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,company_id:0 #: field:account.invoice,company_id:0 #: field:account.invoice.line,company_id:0 @@ -10439,6 +10473,7 @@ msgstr "Открыть для банковской сверки" #: field:account.invoice.tax,company_id:0 #: field:account.journal,company_id:0 #: field:account.journal.period,company_id:0 +#: report:account.journal.period.print:0 #: field:account.model,company_id:0 #: field:account.move,company_id:0 #: field:account.move.line,company_id:0 @@ -10603,7 +10638,7 @@ msgstr "Счета системы налогообложения" #: view:account.invoice:0 #: selection:account.invoice,type:0 #: selection:account.invoice.report,type:0 -#: code:addons/account/account_invoice.py:1155 +#: code:addons/account/account_invoice.py:1158 #: model:process.process,name:account.process_process_supplierinvoiceprocess0 #: selection:report.invoice.created,type:0 #, python-format @@ -10692,8 +10727,10 @@ msgid "" msgstr "" #. module: account +#: report:account.account.balance:0 #: selection:account.balance.report,display_account:0 #: selection:account.common.account.report,display_account:0 +#: report:account.general.ledger_landscape:0 #: selection:account.report.general.ledger,display_account:0 msgid "With movements" msgstr "С движением" @@ -10789,7 +10826,7 @@ msgid "Entries Sorted by" msgstr "" #. module: account -#: code:addons/account/account_invoice.py:1543 +#: code:addons/account/account_invoice.py:1546 #, python-format msgid "" "The selected unit of measure is not compatible with the unit of measure of " @@ -10870,7 +10907,7 @@ msgstr "Искать счет" #: report:account.invoice:0 #: view:account.invoice:0 #: view:account.invoice.report:0 -#: code:addons/account/account_invoice.py:1156 +#: code:addons/account/account_invoice.py:1159 #, python-format msgid "Refund" msgstr "Возвраты" @@ -10942,7 +10979,7 @@ msgid "Manual Invoice Taxes" msgstr "" #. module: account -#: code:addons/account/account_invoice.py:570 +#: code:addons/account/account_invoice.py:573 #, python-format msgid "The payment term of supplier does not have a payment term line." msgstr "" @@ -11096,7 +11133,7 @@ msgstr "" #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round per line" -msgstr "" +msgstr "Округление каждой позиции" #. module: account #: help:account.move.line,amount_residual_currency:0 diff --git a/addons/account/partner.py b/addons/account/partner.py index f582da6b765..a7df31b2f32 100644 --- a/addons/account/partner.py +++ b/addons/account/partner.py @@ -189,44 +189,34 @@ class res_partner(osv.osv): 'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, string='Total Payable', multi='dc', help="Total amount you have to pay to this supplier."), 'debit_limit': fields.float('Payable Limit'), 'property_account_payable': fields.property( - 'account.account', type='many2one', relation='account.account', string="Account Payable", - view_load=True, domain="[('type', '=', 'payable')]", help="This account will be used instead of the default one as the payable account for the current partner", required=True), 'property_account_receivable': fields.property( - 'account.account', type='many2one', relation='account.account', string="Account Receivable", - view_load=True, domain="[('type', '=', 'receivable')]", help="This account will be used instead of the default one as the receivable account for the current partner", required=True), 'property_account_position': fields.property( - 'account.fiscal.position', type='many2one', relation='account.fiscal.position', string="Fiscal Position", - view_load=True, help="The fiscal position will determine taxes and accounts used for the partner.", ), 'property_payment_term': fields.property( - 'account.payment.term', type='many2one', relation='account.payment.term', string ='Customer Payment Term', - view_load=True, help="This payment term will be used instead of the default one for sale orders and customer invoices"), 'property_supplier_payment_term': fields.property( - 'account.payment.term', type='many2one', relation='account.payment.term', string ='Supplier Payment Term', - view_load=True, help="This payment term will be used instead of the default one for purchase orders and supplier invoices"), 'ref_companies': fields.one2many('res.company', 'partner_id', 'Companies that refers to partner'), diff --git a/addons/account/product.py b/addons/account/product.py index 3df3ad9bd17..b7bffee43a9 100644 --- a/addons/account/product.py +++ b/addons/account/product.py @@ -25,18 +25,14 @@ class product_category(osv.osv): _inherit = "product.category" _columns = { 'property_account_income_categ': fields.property( - 'account.account', type='many2one', relation='account.account', string="Income Account", - view_load=True, help="This account will be used for invoices to value sales."), 'property_account_expense_categ': fields.property( - 'account.account', type='many2one', relation='account.account', string="Expense Account", - view_load=True, help="This account will be used for invoices to value expenses."), } @@ -54,18 +50,14 @@ class product_template(osv.osv): 'product_supplier_taxes_rel', 'prod_id', 'tax_id', 'Supplier Taxes', domain=[('parent_id', '=', False),('type_tax_use','in',['purchase','all'])]), 'property_account_income': fields.property( - 'account.account', type='many2one', relation='account.account', string="Income Account", - view_load=True, help="This account will be used for invoices instead of the default one to value sales for the current product."), 'property_account_expense': fields.property( - 'account.account', type='many2one', relation='account.account', string="Expense Account", - view_load=True, help="This account will be used for invoices instead of the default one to value expenses for the current product."), } diff --git a/addons/account_analytic_analysis/i18n/ru.po b/addons/account_analytic_analysis/i18n/ru.po index 339d425c717..30313796af9 100644 --- a/addons/account_analytic_analysis/i18n/ru.po +++ b/addons/account_analytic_analysis/i18n/ru.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-05-31 07:35+0000\n" +"PO-Revision-Date: 2013-06-19 13:43+0000\n" "Last-Translator: Chertykov Denis \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: 2013-06-01 05:16+0000\n" -"X-Generator: Launchpad (build 16660)\n" +"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n" +"X-Generator: Launchpad (build 16673)\n" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "No order to invoice, create" -msgstr "" +msgstr "Нет заказа для счета, создать" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -39,7 +39,7 @@ msgstr "Остаётся" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts in progress" -msgstr "" +msgstr "Незавершенные контракты" #. module: account_analytic_analysis #: help:account.analytic.account,last_worked_invoiced_date:0 @@ -88,7 +88,7 @@ msgstr "Дата последнего счета расходов" #. module: account_analytic_analysis #: help:account.analytic.account,fix_price_to_invoice:0 msgid "Sum of quotations for this contract." -msgstr "" +msgstr "Сумма предложений по этому контракту." #. module: account_analytic_analysis #: help:account.analytic.account,ca_invoiced:0 @@ -98,18 +98,18 @@ msgstr "Итого сумма к оплате заказчику для этог #. module: account_analytic_analysis #: help:account.analytic.account,timesheet_ca_invoiced:0 msgid "Sum of timesheet lines invoiced for this contract." -msgstr "" +msgstr "Сумма позиций табеля выставленная в счет за этот контракт ." #. module: account_analytic_analysis -#: code:addons/account_analytic_analysis/account_analytic_analysis.py:466 +#: code:addons/account_analytic_analysis/account_analytic_analysis.py:464 #, python-format msgid "Sales Order Lines of %s" -msgstr "" +msgstr "Позиции заказа продаж %s" #. module: account_analytic_analysis #: help:account.analytic.account,revenue_per_hour:0 msgid "Computed using the formula: Invoiced Amount / Total Time" -msgstr "" +msgstr "Рассчитанный по формуле: Сумма по счетам / Итоговое время" #. module: account_analytic_analysis #: field:account_analytic_analysis.summary.month,account_id:0 @@ -126,7 +126,7 @@ msgstr "Партнёр" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts that are not assigned to an account manager." -msgstr "" +msgstr "Контракты, которые не назначены бухгалтеру." #. module: account_analytic_analysis #: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue @@ -161,6 +161,7 @@ msgstr "Управляющий счётом" #: help:account.analytic.account,remaining_hours_to_invoice:0 msgid "Computed using the formula: Maximum Time - Total Invoiced Time" msgstr "" +"Рассчитанный по формуле: Максимальное время - Всё время выставленное в счетах" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -170,12 +171,12 @@ msgstr "Ожидается" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Contracts not assigned" -msgstr "" +msgstr "Контракты не назначены" #. module: account_analytic_analysis #: help:account.analytic.account,theorical_margin:0 msgid "Computed using the formula: Theoretical Revenue - Total Costs" -msgstr "" +msgstr "Рассчитанный по формуле: теоретическая выручка - общие издержки" #. module: account_analytic_analysis #: field:account.analytic.account,hours_qtt_invoiced:0 @@ -219,17 +220,17 @@ msgstr "" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Nothing to invoice, create" -msgstr "" +msgstr "Нечего выставить в счете, создать" #. module: account_analytic_analysis #: model:res.groups,name:account_analytic_analysis.group_template_required msgid "Mandatory use of templates in contracts" -msgstr "" +msgstr "Обязательное использование шаблонов в контрактах" #. module: account_analytic_analysis #: field:account.analytic.account,hours_quantity:0 msgid "Total Worked Time" -msgstr "" +msgstr "Всё отработанное время" #. module: account_analytic_analysis #: field:account.analytic.account,real_margin:0 @@ -249,12 +250,12 @@ msgstr "Вычисляется по формуле: (Реальная маржа #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "or view" -msgstr "" +msgstr "или вид" #. module: account_analytic_analysis #: view:account.analytic.account:0 msgid "Customer Contracts" -msgstr "" +msgstr "Контакты заказчика" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -271,7 +272,7 @@ msgstr "Месяц" #: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all msgid "Time & Materials to Invoice" -msgstr "" +msgstr "Время и материалы в счет" #. module: account_analytic_analysis #: view:account.analytic.account:0 @@ -343,9 +344,10 @@ msgstr "К продлению" #: view:account.analytic.account:0 msgid "" "A contract in OpenERP is an analytic account having a partner set on it." -msgstr "" +msgstr "Контракт в OpenERP это аналитический счет с установленным партнером." #. module: account_analytic_analysis +#: view:account.analytic.account:0 #: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order msgid "Sales Orders" msgstr "Заказы продаж" @@ -412,7 +414,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,revenue_per_hour:0 msgid "Revenue per Time (real)" -msgstr "" +msgstr "Выручка за время (реальная)" #. module: account_analytic_analysis #: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue_all @@ -578,7 +580,7 @@ msgstr "" #. module: account_analytic_analysis #: field:account.analytic.account,est_total:0 msgid "Total Estimation" -msgstr "" +msgstr "Общая оценка" #. module: account_analytic_analysis #: field:account.analytic.account,remaining_ca:0 diff --git a/addons/account_anglo_saxon/__openerp__.py b/addons/account_anglo_saxon/__openerp__.py index 6482a110f1d..4fc15bba4f5 100644 --- a/addons/account_anglo_saxon/__openerp__.py +++ b/addons/account_anglo_saxon/__openerp__.py @@ -43,7 +43,8 @@ account.""", 'depends': ['product', 'purchase'], 'category': 'Accounting & Finance', 'demo': [], - 'data': ['product_view.xml',], + 'data': ['product_view.xml'], + 'test': ['test/anglo_saxon.yml', 'test/anglo_saxon_avg_fifo.yml'], 'auto_install': False, 'installable': True, } diff --git a/addons/account_anglo_saxon/docs/account_anglo_saxon.ods b/addons/account_anglo_saxon/docs/account_anglo_saxon.ods new file mode 100644 index 00000000000..91b1d84786d Binary files /dev/null and b/addons/account_anglo_saxon/docs/account_anglo_saxon.ods differ diff --git a/addons/account_anglo_saxon/docs/account_anglo_saxon.pdf b/addons/account_anglo_saxon/docs/account_anglo_saxon.pdf new file mode 100644 index 00000000000..f5250a0c11c Binary files /dev/null and b/addons/account_anglo_saxon/docs/account_anglo_saxon.pdf differ diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index f27d9b3ae72..8b31a48b92b 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -117,21 +117,27 @@ class account_invoice_line(osv.osv): for line in res: if a == line['account_id'] and i_line.product_id.id == line['product_id']: uom = i_line.product_id.uos_id or i_line.product_id.uom_id - standard_price = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.product_id.standard_price, i_line.uos_id.id) - if standard_price != i_line.price_unit and line['price_unit'] == i_line.price_unit and acc: - price_diff = i_line.price_unit - standard_price - line.update({'price':standard_price * line['quantity']}) + valuation_price_unit = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.product_id.standard_price, i_line.uos_id.id) + if i_line.product_id.cost_method != 'standard' and i_line.purchase_line_id: + #for average/fifo/lifo costing method, fetch real cost price from incomming moves + stock_move_obj = self.pool.get('stock.move') + valuation_stock_move = stock_move_obj.search(cr, uid, [('purchase_line_id', '=', i_line.purchase_line_id.id)], limit=1, context=context) + if valuation_stock_move: + valuation_price_unit = stock_move_obj.browse(cr, uid, valuation_stock_move[0], context=context).price_unit + if valuation_price_unit != i_line.price_unit and line['price_unit'] == i_line.price_unit and acc: + price_diff = i_line.price_unit - valuation_price_unit + line.update({'price': valuation_price_unit * line['quantity']}) diff_res.append({ - 'type':'src', + 'type': 'src', 'name': i_line.name[:64], - 'price_unit':price_diff, - 'quantity':line['quantity'], + 'price_unit': price_diff, + 'quantity': line['quantity'], 'price': price_diff * line['quantity'], - 'account_id':acc, - 'product_id':line['product_id'], - 'uos_id':line['uos_id'], - 'account_analytic_id':line['account_analytic_id'], - 'taxes':line.get('taxes',[]), + 'account_id': acc, + 'product_id': line['product_id'], + 'uos_id': line['uos_id'], + 'account_analytic_id': line['account_analytic_id'], + 'taxes': line.get('taxes', []), }) res += diff_res return res diff --git a/addons/account_anglo_saxon/product.py b/addons/account_anglo_saxon/product.py index b52d9ed3bbd..1c9e8ee3673 100644 --- a/addons/account_anglo_saxon/product.py +++ b/addons/account_anglo_saxon/product.py @@ -24,27 +24,21 @@ class product_category(osv.osv): _inherit = "product.category" _columns = { 'property_account_creditor_price_difference_categ': fields.property( - 'account.account', type='many2one', relation='account.account', string="Price Difference Account", - view_load=True, help="This account will be used to value price difference between purchase price and cost price."), #Redefine fields to change help text for anglo saxon methodology. 'property_account_income_categ': fields.property( - 'account.account', type='many2one', relation='account.account', string="Income Account", - view_load=True, help="This account will be used to value outgoing stock using sale price."), 'property_account_expense_categ': fields.property( - 'account.account', type='many2one', relation='account.account', string="Expense Account", - view_load=True, help="This account will be used to value outgoing stock using cost price."), } @@ -53,27 +47,21 @@ class product_template(osv.osv): _inherit = "product.template" _columns = { 'property_account_creditor_price_difference': fields.property( - 'account.account', type='many2one', relation='account.account', string="Price Difference Account", - view_load=True, help="This account will be used to value price difference between purchase price and cost price."), #Redefine fields to change help text for anglo saxon methodology. 'property_account_income': fields.property( - 'account.account', type='many2one', relation='account.account', string="Income Account", - view_load=True, help="This account will be used to value outgoing stock using sale price."), 'property_account_expense': fields.property( - 'account.account', type='many2one', relation='account.account', string="Expense Account", - view_load=True, help="This account will be used to value outgoing stock using cost price."), } diff --git a/addons/account_anglo_saxon/purchase.py b/addons/account_anglo_saxon/purchase.py index c10a2a97d80..fc36dab41c2 100644 --- a/addons/account_anglo_saxon/purchase.py +++ b/addons/account_anglo_saxon/purchase.py @@ -26,16 +26,15 @@ class purchase_order(osv.osv): _inherit = "purchase.order" _description = "Purchase Order" - def _prepare_inv_line(self, cr, uid, account_id, order_line, context=None): - line = super(purchase_order, self)._prepare_inv_line(cr, uid, account_id, order_line, context=context) + def _choose_account_from_po_line(self, cr, uid, order_line, context=None): + account_id = super(purchase_order, self)._choose_account_from_po_line(cr, uid, order_line, context=context) if order_line.product_id and not order_line.product_id.type == 'service': acc_id = order_line.product_id.property_stock_account_input and order_line.product_id.property_stock_account_input.id if not acc_id: acc_id = order_line.product_id.categ_id.property_stock_account_input_categ and order_line.product_id.categ_id.property_stock_account_input_categ.id if acc_id: fpos = order_line.order_id.fiscal_position or False - new_account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, acc_id) - line.update({'account_id': new_account_id}) - return line + account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, acc_id) + return account_id # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_anglo_saxon/test/anglo_saxon.yml b/addons/account_anglo_saxon/test/anglo_saxon.yml new file mode 100644 index 00000000000..6e9ebc0068e --- /dev/null +++ b/addons/account_anglo_saxon/test/anglo_saxon.yml @@ -0,0 +1,299 @@ +- + In order to test anglo_saxon Configure Different Accounts. +- + !record {model: account.account, id: account_anglo_stock_valuation}: + code: X3000 + name: Stock Valuation Account- (test) + parent_id: account.cas + type: other + user_type: account.data_account_type_asset +- + Configure Stock Interim account (Received). +- + !record {model: account.account, id: account_anglo_stock_input}: + code: X2800 + name: Stock Interim account (Received) + parent_id: account.cos + type: other + user_type: account.data_account_type_expense +- + Configure Stock Interim account (Delivered). +- + !record {model: account.account, id: account_anglo_stock_output}: + code: X2801 + name: Stock Interim account (Delivered) + parent_id: account.rev + type: other + user_type: account.data_account_type_income +- + Configure Price difference creditor Account. +- + !record {model: account.account, id: account_anglo_price_difference}: + code: X7095 + name: Price difference creditor Account + parent_id: account.cos + type: other + user_type: account.data_account_type_expense +- + Configure Cash Bank Account. +- + !record {model: account.account, id: account_anglo_cash}: + code: X5000 + name: Cash/Bank Account + parent_id: account.cash + type: other + user_type: account.data_account_type_asset +- + Configure Creditor Account Payable. +- + !record {model: account.account, id: account_anglo_payable}: + code: X440001 + name: Creditor Account Payable + parent_id: account.a_pay + type: other + user_type: account.data_account_type_payable +- + Configure Debtor Account Receivable. +- + !record {model: account.account, id: account_anglo_receivable}: + code: X400001 + name: Debtor Account Receivable + parent_id: account.a_recv + type: other + user_type: account.data_account_type_receivable +- + Configure Cost of Good sale Account. +- + !record {model: account.account, id: account_anglo_cogs}: + code: X7000 + name: Cost of goods sale account + parent_id: account.o_expense + type: other + user_type: account.data_account_type_expense +- + Configure Income Account. +- + !record {model: account.account, id: account_anglo_income}: + code: X8000 + name: Income Account + parent_id: account.o_income + type: other + user_type: account.data_account_type_income +- + I configure the account receivable of supplier +- + !record {model: res.partner, id: base.res_partner_3}: + property_account_payable: account_anglo_payable + property_account_receivable: account_anglo_receivable +- + I configure the account receivable of Customer. +- + !record {model: res.partner, id: base.res_partner_13}: + property_account_payable: account_anglo_payable + property_account_receivable: account_anglo_receivable +- + I configure the product category with stock valuation account. +- + !record {model: product.category, id: product.product_category_4}: + property_stock_valuation_account_id: account_anglo_stock_valuation +- + I configure the product with required accounts, and cost method = standard +- + !python {model: product.product}: | + self.write(cr, uid, [ref('product.product_product_3')], {'list_price': 20.00,'standard_price': 9,'categ_id': ref('product.product_category_4'),'valuation': 'real_time', + 'property_account_income': ref('account_anglo_income'),'property_account_expense': ref('account_anglo_cogs'), + 'property_account_creditor_price_difference': ref('account_anglo_price_difference'),'property_stock_account_input': ref('account_anglo_stock_input'), + 'property_stock_account_output': ref('account_anglo_stock_output'), 'cost_method': 'standard'}) +- + I create a draft Purchase Order. +- + !record {model: purchase.order, id: purchase_order_001}: + partner_id: base.res_partner_3 + location_id: stock.stock_location_stock + pricelist_id: 1 + order_line: + - product_id: product.product_product_3 + product_qty: 1 + price_unit: 10 + date_planned: '2013-08-31' +- + I confirm the purchase order. +- + !workflow {model: purchase.order, ref: purchase_order_001, action: purchase_confirm} +- + Reception is ready for process so now done the reception. +- + !python {model: stock.partial.picking}: | + pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001")).picking_ids + partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) + self.do_partial(cr, uid, [partial_id]) +- + I check the Stock Interim account (Received) is credited successfully. +- + !assert {model: account.account, id : account_anglo_stock_input, string : Stock Interim account (Received) is not credited successfully.}: + - credit == 9 +- + I check the Stock valuation account is debited sucessfully. +- + !assert {model: account.account, id : account_anglo_stock_valuation, string : Stock valuation account is not debited successfully.}: + - debit == 9 +- + I Validate Invoice of Purchase Order. +- + !python {model: purchase.order}: | + invoice_ids = [x.id for x in self.browse(cr, uid, ref("purchase_order_001")).invoice_ids] + self.pool.get('account.invoice').signal_invoice_open(cr, uid, invoice_ids) +- + I check the Stock Interim account (Received) is debited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_stock_input, string : Stock Interim account (Received) is not debited successfully.}: + - debit == 9 +- + I check the Price difference creditor Account is debited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_price_difference, string : Price difference creditor Account is not debited successfully.}: + - debit == 1 +- + I check Payable(creditor) Account is Credited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_payable, string : Payable(creditor) Account is not Credited successfully.}: + - credit == 10 +- + I open the Invoice. +- + !python {model: purchase.order}: | + po = self.browse(cr, uid, ref("purchase_order_001")) + for invoice in po.invoice_ids: + self.pool.get('account.invoice').signal_invoice_open(cr, uid, [invoice.id]) +- + I pay the invoice. +- + !python {model: purchase.order}: | + invoice_ids = self.browse(cr, uid, ref("purchase_order_001")).invoice_ids + order = self.browse(cr, uid, ref("purchase_order_001")) + journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', order.company_id.id)], limit=1) + for invoice in invoice_ids: + invoice.pay_and_reconcile(invoice.amount_total, ref('account_anglo_cash'), ref('account.period_8'), journal_ids[0], ref('account_anglo_cash'), ref('account.period_8'), journal_ids[0], name='test') +- + I check Payable(Creditors) Account is Debited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_payable, string : Payable(Creditors) Account is not Debited successfully.}: + - debit == 10 +- + I check Bank/Cash account is credited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_cash, string: Bank/Cash account is not credited successfully.}: + - credit == 10 +- + I create an Outgoing Picking order +- + !record {model: stock.picking, id: stock_picking_out001}: + partner_id: base.res_partner_13 + invoice_state: 2binvoiced + move_lines: + - company_id: base.main_company + location_id: stock.stock_location_stock + product_id: product.product_product_3 + product_qty: 1.0 + product_uom: product.product_uom_unit + location_dest_id: stock.stock_location_customers + move_type: direct + type: out +- + I need to check the availability of the product, So I make my picking order for processing later. +- + !python {model: stock.picking}: | + self.draft_force_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available": + 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", + "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), + }) +- + I check the product availability, Product is available in the stock and ready to be sent. +- + !python {model: stock.picking}: | + self.action_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available": + 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", + "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), + }) +- + I process the delivery. +- + !python {model: stock.partial.picking}: | + partial_id = self.create(cr, uid, {}, context={'active_model':'stock.picking','active_ids':[ref('stock_picking_out001')]}) + self.do_partial(cr, uid, [partial_id]) +- + I check Stock Interim account (Delivery) is debited successfully. +- + !assert {model: account.account, id : account_anglo_stock_output, string : Stock Interim account (Delivery) is not debited successfully.}: + - debit == 9 +- + I check the Stock valuation account is credited sucessfully. +- + !assert {model: account.account, id : account_anglo_stock_valuation, string : Stock valuation account is not credited successfully.}: + - credit == 9 +- + As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order. +- + !python {model: stock.invoice.onshipping}: | + wiz_id = self.create(cr, uid, {'invoice_date': '2013-03-04', 'journal_id': ref('account.sales_journal')}, + {'active_ids': [ref("stock_picking_out001")], "active_model": "stock.picking"}) + self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US", + "search_default_available": 1, "tz": False, "active_model": "stock.picking", + "contact_display": "partner", "active_ids": [ref("stock_picking_out001")], "active_id": ref("stock_picking_out001")}) +- + I check that the customer invoice is created successfully. +- + !python {model: account.invoice}: | + partner_id = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).partner_id.id + inv_ids = self.search(cr, uid, [('type','=','out_invoice'),('partner_id','=',partner_id)]) + assert inv_ids, 'No Invoice is generated!' +- + I open the Invoice. +- + !python {model: stock.picking}: | + move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).name + account_invoice = self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)]) + self.pool.get('account.invoice').signal_invoice_open(cr, uid, account_invoice) +- + I check Income Account is Credited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_income, string : Income Account is not Credited successfully.}: + - credit == 20 +- + I check Cost of goods sold account for debit. +- + !assert {model: account.account, id : account_anglo_cogs, string : Cost of goods sale is not Debited successfully.}: + - debit == 9 +- + I check Stock Interim account (Delivery) +- + !assert {model: account.account, id : account_anglo_stock_output, string : Stock Interim account (Delivery) is not credited successfully.}: + - credit == 9 +- + I check Receivable(Debtor) Account for debit. +- + !assert {model: account.account, id : account_anglo_receivable, string : Receivable(Debtors) Account is not Debited successfully.}: + - debit == 20 +- + I pay the invoice. +- + !python {model: account.invoice}: | + move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).name + account_invoice= self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)]) + journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], limit=1) + pay = self.pay_and_reconcile(cr, uid, account_invoice, + 20.0, ref('account_anglo_cash'), ref('account.period_8'), + journal_ids[0], ref('account_anglo_cash'), + ref('account.period_8'), journal_ids[0], + name='Payment for test customer invoice') + assert (pay == True), "Incorrect Payment." +- + I check Receivable(Debtor) Account for credit. +- + !assert {model: account.account, id : account_anglo_receivable, string : Receivable(Debtors) Account is not Credited successfully.}: + - credit == 20 +- + I check Bank/Cash account is debited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_cash, string: Bank/Cash account is not successfully credited.}: + - debit == 20 diff --git a/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml new file mode 100644 index 00000000000..f7d52f4f5a8 --- /dev/null +++ b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml @@ -0,0 +1,304 @@ +- + In order to test anglo_saxon Configure Different Accounts. +- + !record {model: account.account, id: account_anglo_stock_valuation_fifo}: + code: X3000f + name: Stock Valuation Account- (test) + parent_id: account.cas + type: other + user_type: account.data_account_type_asset +- + Configure Stock Interim account (Received). +- + !record {model: account.account, id: account_anglo_stock_input_fifo}: + code: X2800f + name: Stock Interim account (Received) + parent_id: account.cos + type: other + user_type: account.data_account_type_expense +- + Configure Stock Interim account (Delivered). +- + !record {model: account.account, id: account_anglo_stock_output_fifo}: + code: X2801f + name: Stock Interim account (Delivered) + parent_id: account.rev + type: other + user_type: account.data_account_type_income +- + Configure Price difference creditor Account. +- + !record {model: account.account, id: account_anglo_price_difference_fifo}: + code: X7095f + name: Price difference creditor Account + parent_id: account.cos + type: other + user_type: account.data_account_type_expense +- + Configure Cash Bank Account. +- + !record {model: account.account, id: account_anglo_cash_fifo}: + code: X5000f + name: Cash/Bank Account + parent_id: account.cash + type: other + user_type: account.data_account_type_asset +- + Configure Creditor Account Payable. +- + !record {model: account.account, id: account_anglo_payable_fifo}: + code: X440001f + name: Creditor Account Payable + parent_id: account.a_pay + type: other + user_type: account.data_account_type_payable +- + Configure Debtor Account Receivable. +- + !record {model: account.account, id: account_anglo_receivable_fifo}: + code: X400001f + name: Debtor Account Receivable + parent_id: account.a_recv + type: other + user_type: account.data_account_type_receivable +- + Configure Cost of Good sale Account. +- + !record {model: account.account, id: account_anglo_cogs_fifo}: + code: X7000f + name: Cost of goods sale account + parent_id: account.o_expense + type: other + user_type: account.data_account_type_expense +- + Configure Income Account. +- + !record {model: account.account, id: account_anglo_income_fifo}: + code: X8000f + name: Income Account + parent_id: account.o_income + type: other + user_type: account.data_account_type_income +- + I configure the account receivable of supplier +- + !record {model: res.partner, id: base.res_partner_3}: + property_account_payable: account_anglo_payable_fifo + property_account_receivable: account_anglo_receivable_fifo +- + I configure the account receivable of Customer. +- + !record {model: res.partner, id: base.res_partner_13}: + property_account_payable: account_anglo_payable_fifo + property_account_receivable: account_anglo_receivable_fifo +- + I configure the product category with stock valuation account. +- + !record {model: product.category, id: product.product_category_4}: + property_stock_valuation_account_id: account_anglo_stock_valuation_fifo +- + I create a product with required accounts, and cost method average (but same applies for fifo) +- + !record {model: product.product, id: product_fifo_anglo_saxon}: + name: 'FIFO product for anglo saxon tests' + list_price: 20.00 + standard_price: 0 + categ_id: product.product_category_4 + valuation: 'real_time' + property_account_income: account_anglo_income_fifo + property_account_expense: account_anglo_cogs_fifo + property_account_creditor_price_difference: account_anglo_price_difference_fifo + property_stock_account_input: account_anglo_stock_input_fifo + property_stock_account_output: account_anglo_stock_output_fifo + cost_method: 'average' +- + I create a draft Purchase Order. +- + !record {model: purchase.order, id: purchase_order_001_fifo}: + partner_id: base.res_partner_3 + location_id: stock.stock_location_stock + pricelist_id: 1 + order_line: + - product_id: product_fifo_anglo_saxon + product_qty: 1 + price_unit: 9 + date_planned: '2013-08-31' + taxes_id: [] +- + I confirm the purchase order. +- + !workflow {model: purchase.order, ref: purchase_order_001_fifo, action: purchase_confirm} +- + Reception is ready for process so now done the reception. +- + !python {model: stock.partial.picking}: | + pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001_fifo")).picking_ids + partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) + self.do_partial(cr, uid, [partial_id]) +- + I check the Stock Interim account (Received) is credit successfully. +- + !assert {model: account.account, id : account_anglo_stock_input_fifo, string : Stock Interim account (Received) is not credited successfully.}: + - credit == 9 +- + I check the Stock valuation account is debit sucessfully. +- + !assert {model: account.account, id : account_anglo_stock_valuation_fifo, string : Stock valuation account is not debited successfully.}: + - debit == 9 +- + I Validate Invoice of Purchase Order after having changed the price to 10. +- + !python {model: purchase.order}: | + invoice_ids = [x.id for x in self.browse(cr, uid, ref("purchase_order_001_fifo")).invoice_ids] + line_ids = self.pool.get('account.invoice.line').search(cr, uid, [('invoice_id', 'in', invoice_ids)]) + self.pool.get('account.invoice.line').write(cr, uid, line_ids, {'price_unit': 10}) + self.pool.get('account.invoice').signal_invoice_open(cr, uid, invoice_ids) +- + I check the Stock Interim account (Received) is debited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_stock_input_fifo, string : Stock Interim account (Received) is not debited successfully.}: + - debit == 9 +- + I check the Price difference creditor Account is debited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_price_difference_fifo, string : Price difference creditor Account is not debited successfully.}: + - debit == 1 +- + I check Payable(creditor) Account is Credited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_payable_fifo, string : Payable(creditor) Account is not Credited successfully.}: + - credit == 10 +- + I pay the invoice. +- + !python {model: purchase.order}: | + invoice_ids = self.browse(cr, uid, ref("purchase_order_001_fifo")).invoice_ids + order = self.browse(cr, uid, ref("purchase_order_001_fifo")) + journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', order.company_id.id)], limit=1) + for invoice in invoice_ids: + invoice.pay_and_reconcile(invoice.amount_total, ref('account_anglo_cash_fifo'), ref('account.period_8'), journal_ids[0], ref('account_anglo_cash_fifo'), ref('account.period_8'), journal_ids[0], name='test') +- + I check Payable(Creditors) Account is Debited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_payable_fifo, string : Payable(Creditors) Account is not Debited successfully.}: + - debit == 10 +- + I check Bank/Cash account is credited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_cash_fifo, string: Bank/Cash account is not credited successfully.}: + - credit == 10 +- + I create an Outgoing Picking order +- + !record {model: stock.picking, id: stock_picking_out001_fifo}: + partner_id: base.res_partner_13 + invoice_state: 2binvoiced + move_lines: + - company_id: base.main_company + location_id: stock.stock_location_stock + product_id: product_fifo_anglo_saxon + product_qty: 1.0 + location_dest_id: stock.stock_location_customers + move_type: direct + type: out +- + I need to check the availability of the product, So I make my picking order for processing later. +- + !python {model: stock.picking}: | + self.draft_force_assign(cr, uid, [ref("stock_picking_out001_fifo")], {"lang": "en_US", "search_default_available": + 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", + "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), + }) +- + I check the product availability, Product is available in the stock and ready to be sent. +- + !python {model: stock.picking}: | + self.action_assign(cr, uid, [ref("stock_picking_out001_fifo")], {"lang": "en_US", "search_default_available": + 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", + "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), + }) +- + I process the delivery. +- + !python {model: stock.partial.picking}: | + partial_id = self.create(cr, uid, {}, context={'active_model':'stock.picking','active_ids':[ref('stock_picking_out001_fifo')]}) + self.do_partial(cr, uid, [partial_id]) +- + I check Stock Interim account (Delivery) is debited successfully. +- + !assert {model: account.account, id : account_anglo_stock_output_fifo, string : Stock Interim account (Delivery) is not debited successfully.}: + - debit == 9 +- + I check the Stock valuation account is credited sucessfully. +- + !assert {model: account.account, id : account_anglo_stock_valuation_fifo, string : Stock valuation account is not credited successfully.}: + - credit == 9 +- + As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order. +- + !python {model: stock.invoice.onshipping}: | + wiz_id = self.create(cr, uid, {'invoice_date': '2013-03-04', 'journal_id': ref('account.sales_journal')}, + {'active_ids': [ref("stock_picking_out001_fifo")], "active_model": "stock.picking"}) + self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US", + "search_default_available": 1, "tz": False, "active_model": "stock.picking", + "contact_display": "partner", "active_ids": [ref("stock_picking_out001_fifo")], "active_id": ref("stock_picking_out001_fifo")}) +- + I check that the customer invoice is created successfully. +- + !python {model: account.invoice}: | + partner_id = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001_fifo')).partner_id.id + inv_ids = self.search(cr, uid, [('type','=','out_invoice'),('partner_id','=',partner_id)]) + assert inv_ids, 'No Invoice is generated!' +- + I open the Invoice. +- + !python {model: stock.picking}: | + move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001_fifo')).name + account_invoice = self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)]) + account_invoice_line = self.pool.get('account.invoice.line').search(cr, uid, [('invoice_id', 'in', account_invoice)]) + self.pool.get('account.invoice.line').write(cr, uid, account_invoice_line, {'invoice_line_tax_id': [(6, 0, [])]}) + self.pool.get('account.invoice').button_reset_taxes(cr, uid, account_invoice) + self.pool.get('account.invoice').signal_invoice_open(cr, uid, account_invoice) +- + I check Income Account is Credited sucessfully when Invoice validated. +- + !assert {model: account.account, id : account_anglo_income_fifo, string : Income Account is not Credited successfully.}: + - credit == 20 +- + I check Cost of goods sold account for debit. +- + !assert {model: account.account, id : account_anglo_cogs_fifo, string : Cost of goods sale is not Debited successfully.}: + - debit == 9 +- + I check Stock Interim account (Delivery) +- + !assert {model: account.account, id : account_anglo_stock_output_fifo, string : Stock Interim account (Delivery) is not credited successfully.}: + - credit == 9 +- + I check Receivable(Debtor) Account for debit. +- + !assert {model: account.account, id : account_anglo_receivable_fifo, string : Receivable(Debtors) Account is not Debited successfully.}: + - debit == 20 +- + I pay the invoice. +- + !python {model: account.invoice}: | + move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001_fifo')).name + account_invoice= self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)]) + journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], limit=1) + pay = self.pay_and_reconcile(cr, uid, account_invoice, + 20.0, ref('account_anglo_cash_fifo'), ref('account.period_8'), + journal_ids[0], ref('account_anglo_cash_fifo'), + ref('account.period_8'), journal_ids[0], + name='Payment for test customer invoice') + assert (pay == True), "Incorrect Payment." +- + I check Receivable(Debtor) Account for credit. +- + !assert {model: account.account, id : account_anglo_receivable_fifo, string : Receivable(Debtors) Account is not Credited successfully.}: + - credit == 20 +- + I check Bank/Cash account is debited sucessfully after invoice paid. +- + !assert {model: account.account, id : account_anglo_cash_fifo, string: Bank/Cash account is not successfully credited.}: + - debit == 20 diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py index 62eb2e812cc..35a06871696 100644 --- a/addons/auth_oauth/controllers/main.py +++ b/addons/auth_oauth/controllers/main.py @@ -7,7 +7,8 @@ from werkzeug.exceptions import BadRequest import openerp from openerp import SUPERUSER_ID -import openerp.addons.web.http as oeweb +import openerp.addons.web.http as http +from openerp.addons.web.http import request from openerp.addons.web.controllers.main import db_monodb, set_cookie_and_redirect, login_and_redirect from openerp.modules.registry import RegistryManager @@ -18,7 +19,7 @@ _logger = logging.getLogger(__name__) #---------------------------------------------------------- def fragment_to_query_string(func): @functools.wraps(func) - def wrapper(self, req, **kw): + def wrapper(self, **kw): if not kw: return """""" - return func(self, req, **kw) + return func(self, **kw) return wrapper #---------------------------------------------------------- # Controller #---------------------------------------------------------- -class OAuthController(oeweb.Controller): - _cp_path = '/auth_oauth' +class OAuthController(http.Controller): - @oeweb.jsonrequest - def list_providers(self, req, dbname): + @http.route('/auth_oauth/list_providers', type='json', auth='none') + def list_providers(self, dbname): try: registry = RegistryManager.get(dbname) with registry.cursor() as cr: @@ -51,9 +51,9 @@ class OAuthController(oeweb.Controller): l = [] return l - @oeweb.httprequest + @http.route('/auth_oauth/signin', type='http', auth='none') @fragment_to_query_string - def signin(self, req, **kw): + def signin(self, **kw): state = simplejson.loads(kw['state']) dbname = state['d'] provider = state['p'] @@ -71,7 +71,7 @@ class OAuthController(oeweb.Controller): url = '/#action=%s' % action elif menu: url = '/#menu_id=%s' % menu - return login_and_redirect(req, *credentials, redirect_url=url) + return login_and_redirect(*credentials, redirect_url=url) except AttributeError: # auth_signup is not installed _logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,)) @@ -88,14 +88,14 @@ class OAuthController(oeweb.Controller): _logger.exception("OAuth2: %s" % str(e)) url = "/#action=login&oauth_error=2" - return set_cookie_and_redirect(req, url) + return set_cookie_and_redirect(url) - @oeweb.httprequest - def oea(self, req, **kw): + @http.route('/auth_oauth/oea', type='http', auth='none') + def oea(self, **kw): """login user via OpenERP Account provider""" dbname = kw.pop('db', None) if not dbname: - dbname = db_monodb(req) + dbname = db_monodb() if not dbname: return BadRequest() @@ -105,7 +105,7 @@ class OAuthController(oeweb.Controller): try: model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp') except ValueError: - return set_cookie_and_redirect(req, '/?db=%s' % dbname) + return set_cookie_and_redirect('/?db=%s' % dbname) assert model == 'auth.oauth.provider' state = { @@ -115,6 +115,6 @@ class OAuthController(oeweb.Controller): } kw['state'] = simplejson.dumps(state) - return self.signin(req, **kw) + return self.signin(**kw) # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/auth_signup/controllers/main.py b/addons/auth_signup/controllers/main.py index 924e1546862..8c61af1f03c 100644 --- a/addons/auth_signup/controllers/main.py +++ b/addons/auth_signup/controllers/main.py @@ -23,14 +23,15 @@ import logging import openerp from openerp.modules.registry import RegistryManager from ..res_users import SignupError +import openerp.addons.web.http as http +from openerp.addons.web.http import request _logger = logging.getLogger(__name__) -class Controller(openerp.addons.web.http.Controller): - _cp_path = '/auth_signup' +class Controller(http.Controller): - @openerp.addons.web.http.jsonrequest - def get_config(self, req, dbname): + @http.route('/auth_signup/get_config', type='json', auth="none") + def get_config(self, dbname): """ retrieve the module config (which features are enabled) for the login page """ registry = RegistryManager.get(dbname) with registry.cursor() as cr: @@ -41,8 +42,8 @@ class Controller(openerp.addons.web.http.Controller): } return config - @openerp.addons.web.http.jsonrequest - def retrieve(self, req, dbname, token): + @http.route('/auth_signup/retrieve', type='json', auth="user") + def retrieve(self, dbname, token): """ retrieve the user info (name, login or email) corresponding to a signup token """ registry = RegistryManager.get(dbname) with registry.cursor() as cr: @@ -50,23 +51,23 @@ class Controller(openerp.addons.web.http.Controller): user_info = res_partner.signup_retrieve_info(cr, openerp.SUPERUSER_ID, token) return user_info - @openerp.addons.web.http.jsonrequest - def signup(self, req, dbname, token, **values): + @http.route('/auth_signup/signup', type='json', auth="user") + def signup(self, dbname, token, **values): """ sign up a user (new or existing)""" try: - self._signup_with_values(req, dbname, token, values) + self._signup_with_values(dbname, token, values) except SignupError, e: return {'error': openerp.tools.exception_to_unicode(e)} return {} - def _signup_with_values(self, req, dbname, token, values): + def _signup_with_values(self, dbname, token, values): registry = RegistryManager.get(dbname) with registry.cursor() as cr: res_users = registry.get('res.users') res_users.signup(cr, openerp.SUPERUSER_ID, values, token) - @openerp.addons.web.http.jsonrequest - def reset_password(self, req, dbname, login): + @http.route('/auth_signup/reset_password', type='json', auth="user") + def reset_password(self, dbname, login): """ retrieve user, and perform reset password """ registry = RegistryManager.get(dbname) with registry.cursor() as cr: diff --git a/addons/base_gengo/i18n/th.po b/addons/base_gengo/i18n/th.po new file mode 100644 index 00000000000..e0b5ba3e2fc --- /dev/null +++ b/addons/base_gengo/i18n/th.po @@ -0,0 +1,249 @@ +# Thai translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-06-20 13:54+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Thai \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-06-21 05:36+0000\n" +"X-Generator: Launchpad (build 16677)\n" + +#. module: base_gengo +#: view:res.company:0 +msgid "Comments for Translator" +msgstr "" + +#. module: base_gengo +#: field:ir.translation,job_id:0 +msgid "Gengo Job ID" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:114 +#, python-format +msgid "This language is not supported by the Gengo translation services." +msgstr "" + +#. module: base_gengo +#: field:res.company,gengo_comment:0 +msgid "Comments" +msgstr "ความคิดเห็น" + +#. module: base_gengo +#: field:res.company,gengo_private_key:0 +msgid "Gengo Private Key" +msgstr "" + +#. module: base_gengo +#: model:ir.model,name:base_gengo.model_base_gengo_translations +msgid "base.gengo.translations" +msgstr "base.gengo.translations" + +#. module: base_gengo +#: help:res.company,gengo_auto_approve:0 +msgid "Jobs are Automatically Approved by Gengo." +msgstr "" + +#. module: base_gengo +#: field:base.gengo.translations,lang_id:0 +msgid "Language" +msgstr "ภาษา" + +#. module: base_gengo +#: field:ir.translation,gengo_comment:0 +msgid "Comments & Activity Linked to Gengo" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:124 +#, python-format +msgid "Gengo Sync Translation (Response)" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:72 +#, python-format +msgid "" +"Gengo `Public Key` or `Private Key` are missing. Enter your Gengo " +"authentication parameters under `Settings > Companies > Gengo Parameters`." +msgstr "" + +#. module: base_gengo +#: selection:ir.translation,gengo_translation:0 +msgid "Translation By Machine" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:155 +#, python-format +msgid "" +"%s\n" +"\n" +"--\n" +" Commented on %s by %s." +msgstr "" + +#. module: base_gengo +#: field:ir.translation,gengo_translation:0 +msgid "Gengo Translation Service Level" +msgstr "" + +#. module: base_gengo +#: constraint:ir.translation:0 +msgid "" +"The Gengo translation service selected is not supported for this language." +msgstr "" + +#. module: base_gengo +#: selection:ir.translation,gengo_translation:0 +msgid "Standard" +msgstr "" + +#. module: base_gengo +#: help:ir.translation,gengo_translation:0 +msgid "" +"You can select here the service level you want for an automatic translation " +"using Gengo." +msgstr "" + +#. module: base_gengo +#: field:base.gengo.translations,restart_send_job:0 +msgid "Restart Sending Job" +msgstr "" + +#. module: base_gengo +#: view:ir.translation:0 +msgid "To Approve In Gengo" +msgstr "" + +#. module: base_gengo +#: view:res.company:0 +msgid "Private Key" +msgstr "" + +#. module: base_gengo +#: view:res.company:0 +msgid "Public Key" +msgstr "" + +#. module: base_gengo +#: field:res.company,gengo_public_key:0 +msgid "Gengo Public Key" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:123 +#, python-format +msgid "Gengo Sync Translation (Request)" +msgstr "" + +#. module: base_gengo +#: view:ir.translation:0 +msgid "Translations" +msgstr "" + +#. module: base_gengo +#: field:res.company,gengo_auto_approve:0 +msgid "Auto Approve Translation ?" +msgstr "" + +#. module: base_gengo +#: model:ir.actions.act_window,name:base_gengo.action_wizard_base_gengo_translations +#: model:ir.ui.menu,name:base_gengo.menu_action_wizard_base_gengo_translations +msgid "Gengo: Manual Request of Translation" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/ir_translation.py:62 +#: code:addons/base_gengo/wizard/base_gengo_translations.py:109 +#, python-format +msgid "Gengo Authentication Error" +msgstr "" + +#. module: base_gengo +#: model:ir.model,name:base_gengo.model_res_company +msgid "Companies" +msgstr "" + +#. module: base_gengo +#: view:ir.translation:0 +msgid "" +"Note: If the translation state is 'In Progress', it means that the " +"translation has to be approved to be uploaded in this system. You are " +"supposed to do that directly by using your Gengo Account" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:82 +#, python-format +msgid "" +"Gengo connection failed with this message:\n" +"``%s``" +msgstr "" + +#. module: base_gengo +#: view:res.company:0 +msgid "Gengo Parameters" +msgstr "" + +#. module: base_gengo +#: view:base.gengo.translations:0 +msgid "Send" +msgstr "" + +#. module: base_gengo +#: selection:ir.translation,gengo_translation:0 +msgid "Ultra" +msgstr "" + +#. module: base_gengo +#: model:ir.model,name:base_gengo.model_ir_translation +msgid "ir.translation" +msgstr "" + +#. module: base_gengo +#: view:ir.translation:0 +msgid "Gengo Translation Service" +msgstr "" + +#. module: base_gengo +#: selection:ir.translation,gengo_translation:0 +msgid "Pro" +msgstr "" + +#. module: base_gengo +#: view:base.gengo.translations:0 +msgid "Gengo Request Form" +msgstr "" + +#. module: base_gengo +#: code:addons/base_gengo/wizard/base_gengo_translations.py:114 +#, python-format +msgid "Warning" +msgstr "" + +#. module: base_gengo +#: help:res.company,gengo_comment:0 +msgid "" +"This comment will be automatically be enclosed in each an every request sent " +"to Gengo" +msgstr "" + +#. module: base_gengo +#: view:base.gengo.translations:0 +msgid "Cancel" +msgstr "" + +#. module: base_gengo +#: view:base.gengo.translations:0 +msgid "or" +msgstr "" diff --git a/addons/base_setup/i18n/ru.po b/addons/base_setup/i18n/ru.po index 93f65355baa..ab26ce496d6 100644 --- a/addons/base_setup/i18n/ru.po +++ b/addons/base_setup/i18n/ru.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-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-05-27 12:19+0000\n" -"Last-Translator: leksei \n" +"PO-Revision-Date: 2013-06-17 10:30+0000\n" +"Last-Translator: Chertykov Denis \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: 2013-05-28 05:17+0000\n" -"X-Generator: Launchpad (build 16640)\n" +"X-Launchpad-Export-Date: 2013-06-18 05:46+0000\n" +"X-Generator: Launchpad (build 16673)\n" #. module: base_setup #: view:sale.config.settings:0 @@ -92,7 +92,7 @@ msgstr "Общие настройки" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Donor" -msgstr "" +msgstr "Спонсор" #. module: base_setup #: view:base.config.settings:0 @@ -147,7 +147,7 @@ msgstr "res_config_contents" #. module: base_setup #: view:sale.config.settings:0 msgid "Customer Features" -msgstr "" +msgstr "Свойства заказчика" #. module: base_setup #: view:base.config.settings:0 @@ -157,7 +157,7 @@ msgstr "Импорт / Экспорт" #. module: base_setup #: view:sale.config.settings:0 msgid "Sale Features" -msgstr "" +msgstr "Свойства продаж" #. module: base_setup #: field:sale.config.settings,module_plugin_outlook:0 @@ -232,7 +232,7 @@ msgstr "" #. module: base_setup #: model:ir.model,name:base_setup.model_sale_config_settings msgid "sale.config.settings" -msgstr "" +msgstr "sale.config.settings" #. module: base_setup #: field:base.setup.terminology,partner:0 @@ -263,7 +263,7 @@ msgstr "" #. module: base_setup #: model:ir.model,name:base_setup.model_base_setup_terminology msgid "base.setup.terminology" -msgstr "" +msgstr "base.setup.terminology" #. module: base_setup #: selection:base.setup.terminology,partner:0 diff --git a/addons/board/__openerp__.py b/addons/board/__openerp__.py index e699e091176..87771b2f518 100644 --- a/addons/board/__openerp__.py +++ b/addons/board/__openerp__.py @@ -31,7 +31,7 @@ Lets the user create a custom dashboard. Allows users to create custom dashboard. """, 'author': 'OpenERP SA', - 'depends': ['base'], + 'depends': ['base', 'web'], 'data': [ 'security/ir.model.access.csv', 'board_view.xml', diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index b8673e73927..44ada2ffcc0 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -719,7 +719,6 @@ class crm_lead(base_stage, format_address, osv.osv): continue vals = self._convert_opportunity_data(cr, uid, lead, customer, section_id, context=context) self.write(cr, uid, [lead.id], vals, context=context) - self.message_post(cr, uid, ids, body=_("Lead converted into an Opportunity"), subtype="crm.mt_lead_convert_to_opportunity", context=context) if user_ids or section_id: self.allocate_salesman(cr, uid, ids, user_ids, section_id, context=context) diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index 0979a94eb3f..92914542d9d 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -163,12 +163,6 @@ Opportunity created - - Lead to Opportunity - crm.lead - - Lead converted into an opportunity - Stage Changed crm.lead @@ -195,13 +189,6 @@ section_id - - Lead to Opportunity - - crm.case.section - - section_id - Opportunity Stage Changed crm.case.section diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 6ddd06c1c90..df6a4a07a8e 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -601,7 +601,9 @@ 'default_email_to':'{$object.email or \'\'}', 'default_use_template': True, 'default_template_id': ref('crm.email_template_opportunity_mail'), - }"/> + }" + groups="base.group_sale_salesman" + /> @@ -617,6 +619,7 @@ if context.get('active_model') == 'crm.lead' and context.get('active_ids'): self.case_cancel(cr, uid, context['active_ids'], context=context) + diff --git a/addons/crm/i18n/hu.po b/addons/crm/i18n/hu.po index 98313efb4f3..6673d2da235 100644 --- a/addons/crm/i18n/hu.po +++ b/addons/crm/i18n/hu.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-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-04-13 08:42+0000\n" +"PO-Revision-Date: 2013-06-21 07:11+0000\n" "Last-Translator: krnkris \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: 2013-04-14 05:12+0000\n" -"X-Generator: Launchpad (build 16564)\n" +"X-Launchpad-Export-Date: 2013-06-22 05:36+0000\n" +"X-Generator: Launchpad (build 16677)\n" #. module: crm #: view:crm.lead.report:0 @@ -31,7 +31,7 @@ msgstr "" "létrehozását a bejövő levelekből." #. module: crm -#: code:addons/crm/crm_lead.py:881 +#: code:addons/crm/crm_lead.py:898 #: selection:crm.case.stage,type:0 #: view:crm.lead:0 #: selection:crm.lead,type:0 @@ -192,8 +192,8 @@ msgstr "" "direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe." #. module: crm -#: code:addons/crm/crm_lead.py:624 -#: code:addons/crm/crm_lead.py:744 +#: code:addons/crm/crm_lead.py:640 +#: code:addons/crm/crm_lead.py:761 #: code:addons/crm/crm_phonecall.py:280 #, python-format msgid "Warning!" @@ -304,7 +304,7 @@ msgid "Prospect Partner" msgstr "Leendő partner" #. module: crm -#: code:addons/crm/crm_lead.py:982 +#: code:addons/crm/crm_lead.py:1002 #, python-format msgid "No Subject" msgstr "Nincs tárgy" @@ -482,7 +482,7 @@ msgid "#Opportunities" msgstr "Lehetőségek száma" #. module: crm -#: code:addons/crm/crm_lead.py:624 +#: code:addons/crm/crm_lead.py:640 #, python-format msgid "" "Please select more than one element (lead or opportunity) from the list view." @@ -782,7 +782,7 @@ msgid "Statistics Dashboard" msgstr "Statisztika vezérlőpult" #. module: crm -#: code:addons/crm/crm_lead.py:861 +#: code:addons/crm/crm_lead.py:878 #: model:crm.case.stage,name:crm.stage_lead2 #: selection:crm.case.stage,type:0 #: view:crm.lead:0 @@ -844,7 +844,7 @@ msgid "Exclusive" msgstr "Kizárólagos" #. module: crm -#: code:addons/crm/crm_lead.py:584 +#: code:addons/crm/crm_lead.py:600 #, python-format msgid "From %s : %s" msgstr "Ettől %s : %s" @@ -1016,7 +1016,7 @@ msgid "Next Action" msgstr "Következő művelet" #. module: crm -#: code:addons/crm/crm_lead.py:763 +#: code:addons/crm/crm_lead.py:780 #, python-format msgid "Partner set to %s." msgstr "Partner beállítva mint %s." @@ -1109,7 +1109,7 @@ msgid "Creation Date" msgstr "Létrehozás dátuma" #. module: crm -#: code:addons/crm/crm_lead.py:698 +#: code:addons/crm/crm_lead.py:715 #, python-format msgid "Lead converted into an Opportunity" msgstr "Tervezet lehetőséggé átalakítva lehetőséggé" @@ -1324,7 +1324,9 @@ msgid "Days to Close" msgstr "Lezárásig hátralévő napok" #. module: crm +#: code:addons/crm/crm_lead.py:1057 #: field:crm.case.section,complete_name:0 +#, python-format msgid "unknown" msgstr "Ismeretlen" @@ -1415,7 +1417,7 @@ msgid "Lead Description" msgstr "Érdeklődés leírása" #. module: crm -#: code:addons/crm/crm_lead.py:565 +#: code:addons/crm/crm_lead.py:581 #, python-format msgid "Merged opportunities" msgstr "Lehetőségek összefésülése" @@ -1989,7 +1991,7 @@ msgid "Leads" msgstr "Érdeklődők" #. module: crm -#: code:addons/crm/crm_lead.py:563 +#: code:addons/crm/crm_lead.py:579 #, python-format msgid "Merged leads" msgstr "Össztefésült érdeklődések" @@ -2085,7 +2087,6 @@ msgid "Global CC" msgstr "Globális CC /másolat/" #. module: crm -#: view:crm.lead:0 #: view:crm.phonecall:0 #: model:ir.actions.act_window,name:crm.crm_case_categ_phone0 #: model:ir.ui.menu,name:crm.menu_crm_case_phone @@ -2399,7 +2400,7 @@ msgstr "Érdeklődés átalakítva egy lehetőséggé" #. module: crm #: view:crm.lead:0 msgid "Unassigned Leads" -msgstr "Nem iktatott rdeklődések" +msgstr "Nem iktatott érdeklődések" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_won @@ -3100,7 +3101,7 @@ msgid "Working Hours" msgstr "Munkaórák" #. module: crm -#: code:addons/crm/crm_lead.py:968 +#: code:addons/crm/crm_lead.py:986 #: view:crm.lead:0 #: field:crm.lead2opportunity.partner,partner_id:0 #: field:crm.lead2opportunity.partner.mass,partner_id:0 diff --git a/addons/crm/wizard/crm_lead_to_opportunity_view.xml b/addons/crm/wizard/crm_lead_to_opportunity_view.xml index 4093df910d0..9ddd1fc701f 100644 --- a/addons/crm/wizard/crm_lead_to_opportunity_view.xml +++ b/addons/crm/wizard/crm_lead_to_opportunity_view.xml @@ -102,7 +102,9 @@ res_model="crm.lead2opportunity.partner.mass" src_model="crm.lead" view_mode="form" target="new" view_type="form" context="{'mass_convert' : True}" - view_id="view_crm_lead2opportunity_partner_mass"/> + view_id="view_crm_lead2opportunity_partner_mass" + groups="base.group_sale_salesman" + /> diff --git a/addons/crm/wizard/crm_merge_opportunities_view.xml b/addons/crm/wizard/crm_merge_opportunities_view.xml index 919d83cb9a7..60693c13e19 100644 --- a/addons/crm/wizard/crm_merge_opportunities_view.xml +++ b/addons/crm/wizard/crm_merge_opportunities_view.xml @@ -45,7 +45,9 @@ multi="True" key2="client_action_multi" name="Merge leads/opportunities" res_model="crm.merge.opportunity" src_model="crm.lead" - view_mode="form" target="new" view_type="form"/> + view_mode="form" target="new" view_type="form" + groups="base.group_sale_salesman" + /> diff --git a/addons/crm_partner_assign/__init__.py b/addons/crm_partner_assign/__init__.py index bb4a3bb53be..6b1315cef07 100644 --- a/addons/crm_partner_assign/__init__.py +++ b/addons/crm_partner_assign/__init__.py @@ -20,6 +20,7 @@ ############################################################################## import crm_partner_assign +import crm_lead import wizard import report diff --git a/addons/crm_partner_assign/__openerp__.py b/addons/crm_partner_assign/__openerp__.py index b9b21ca7a6a..37a8c5a3d6b 100644 --- a/addons/crm_partner_assign/__openerp__.py +++ b/addons/crm_partner_assign/__openerp__.py @@ -37,17 +37,23 @@ The most appropriate partner can be assigned. You can also use the geolocalization without using the GPS coordinates. """, 'author': 'OpenERP SA', - 'depends': ['crm', 'account'], + 'depends': ['crm', 'account', 'portal'], 'demo': ['res_partner_demo.xml'], 'data': [ 'security/ir.model.access.csv', 'res_partner_view.xml', 'wizard/crm_forward_to_partner_view.xml', + 'wizard/crm_channel_interested_view.xml', 'crm_lead_view.xml', 'crm_partner_assign_data.xml', + 'crm_portal_view.xml', + 'portal_data.xml', 'report/crm_lead_report_view.xml', 'report/crm_partner_report_view.xml', ], + 'js': [ + 'static/src/js/next.js', + ], 'test': ['test/partner_assign.yml'], 'installable': True, 'auto_install': False, diff --git a/addons/crm_partner_assign/crm_lead.py b/addons/crm_partner_assign/crm_lead.py new file mode 100644 index 00000000000..37f4b9aedff --- /dev/null +++ b/addons/crm_partner_assign/crm_lead.py @@ -0,0 +1,44 @@ +# -*- 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 . +# +############################################################################## + +from openerp.osv import osv +from openerp.tools.translate import _ + + +class crm_lead(osv.osv): + _inherit = 'crm.lead' + + def get_interested_action(self, cr, uid, interested, context=None): + try: + model, action_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', 'crm_lead_channel_interested_act') + except ValueError: + raise osv.except_osv(_('Error!'), _("The CRM Channel Interested Action is missing")) + action = self.pool[model].read(cr, uid, action_id, context=context) + action_context = eval(action['context']) + action_context['interested'] = interested + action['context'] = str(action_context) + return action + + def case_interested(self, cr, uid, ids, context=None): + return self.get_interested_action(cr, uid, True, context=context) + + def case_disinterested(self, cr, uid, ids, context=None): + return self.get_interested_action(cr, uid, False, context=context) diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml index 0d2837d6ca5..5c14680ee78 100644 --- a/addons/crm_partner_assign/crm_lead_view.xml +++ b/addons/crm_partner_assign/crm_lead_view.xml @@ -8,27 +8,33 @@ - + - - -