diff options
| author | Atul Patel (OpenERP) <atp@tinyerp.com> | 2013-08-23 18:56:27 +0530 |
|---|---|---|
| committer | Atul Patel (OpenERP) <atp@tinyerp.com> | 2013-08-23 18:56:27 +0530 |
| commit | b53952e5d7d6ea838813541eb2dac4932a0784e2 (patch) | |
| tree | 441976dd613e0dd090cfbab18e21fb1f9c9a811b | |
| parent | 1134feca015e375fd3f0d19cfcd89b0742c5e153 (diff) | |
| parent | a7f4b6aaa0359d12046e81183417c24f093cd7c3 (diff) | |
[MERGE]: Merged with addons
bzr revid: atp@tinyerp.com-20130823132627-jhyrbzgw51s6w05v
81 files changed, 958 insertions, 2601 deletions
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index b3dd2302a2f..7b21a4f1855 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -530,7 +530,7 @@ class account_analytic_account(osv.osv): context = {} sale_ids = self.pool.get('sale.order').search(cr,uid,[('project_id','=',context.get('search_default_project_id',False)),('partner_id','in',context.get('search_default_partner_id',False))]) names = [record.name for record in self.browse(cr, uid, ids, context=context)] - name = _('Sales Order Lines of %s') % ','.join(names) + name = _('Sales Order Lines to Invoice of %s') % ','.join(names) return { 'type': 'ir.actions.act_window', 'name': name, diff --git a/addons/account_analytic_analysis/static/src/css/analytic.css b/addons/account_analytic_analysis/static/src/css/analytic.css index f3e4785de9f..ccf14aa202c 100644 --- a/addons/account_analytic_analysis/static/src/css/analytic.css +++ b/addons/account_analytic_analysis/static/src/css/analytic.css @@ -13,6 +13,9 @@ width: 250px; padding-left: 7px; } +.openerp .oe_form table.oe_form_analytic_account th { + text-align: right; +} .openerp .oe_form table.oe_form_analytic_account .oe_timesheet_grey { background-color: #eeeeee; color: #404040; diff --git a/addons/account_analytic_analysis/static/src/css/analytic.sass b/addons/account_analytic_analysis/static/src/css/analytic.sass index a7065e00f18..061d56d8324 100644 --- a/addons/account_analytic_analysis/static/src/css/analytic.sass +++ b/addons/account_analytic_analysis/static/src/css/analytic.sass @@ -12,6 +12,8 @@ td.oe_timesheet_action width: 250px padding-left: 7px + th + text-align: right .oe_timesheet_grey background-color: #eeeeee color: #404040 diff --git a/addons/account_asset/i18n/hu.po b/addons/account_asset/i18n/hu.po new file mode 100644 index 00000000000..19f50232515 --- /dev/null +++ b/addons/account_asset/i18n/hu.po @@ -0,0 +1,741 @@ +# Hungarian 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 <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-08-22 11:04+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hungarian <hu@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-08-23 05:01+0000\n" +"X-Generator: Launchpad (build 16737)\n" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Assets in draft and open states" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,method_end:0 +#: field:account.asset.history,method_end:0 +#: field:asset.modify,method_end:0 +msgid "Ending date" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,value_residual:0 +msgid "Residual Value" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,account_expense_depreciation_id:0 +msgid "Depr. Expense Account" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Group By..." +msgstr "Csoportosítás" + +#. module: account_asset +#: field:asset.asset.report,gross_value:0 +msgid "Gross Amount" +msgstr "Bruttó összeg" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.depreciation.line,asset_id:0 +#: field:account.asset.history,asset_id:0 +#: field:account.move.line,asset_id:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,asset_id:0 +#: model:ir.model,name:account_asset.model_account_asset_asset +msgid "Asset" +msgstr "Eszköz" + +#. module: account_asset +#: help:account.asset.asset,prorata:0 +#: help:account.asset.category,prorata:0 +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first January" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,method:0 +#: selection:account.asset.category,method:0 +msgid "Linear" +msgstr "Lineáris" + +#. module: account_asset +#: field:account.asset.asset,company_id:0 +#: field:account.asset.category,company_id:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,company_id:0 +msgid "Company" +msgstr "Vállalat" + +#. module: account_asset +#: view:asset.modify:0 +msgid "Modify" +msgstr "Módosítás" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: view:asset.asset.report:0 +#: selection:asset.asset.report,state:0 +msgid "Running" +msgstr "Folyamatban lévő" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Set to Draft" +msgstr "Beállítás tervezetnek" + +#. module: account_asset +#: view:asset.asset.report:0 +#: model:ir.actions.act_window,name:account_asset.action_asset_asset_report +#: model:ir.model,name:account_asset.model_asset_asset_report +#: model:ir.ui.menu,name:account_asset.menu_action_asset_asset_report +msgid "Assets Analysis" +msgstr "Eszközök elemzése" + +#. module: account_asset +#: field:asset.modify,name:0 +msgid "Reason" +msgstr "Indoklás" + +#. module: account_asset +#: field:account.asset.asset,method_progress_factor:0 +#: field:account.asset.category,method_progress_factor:0 +msgid "Degressive Factor" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal +msgid "Asset Categories" +msgstr "Eszköz kategóriák" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,account_move_line_ids:0 +#: field:account.move.line,entry_ids:0 +#: model:ir.actions.act_window,name:account_asset.act_entries_open +msgid "Entries" +msgstr "Tételek" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,depreciation_line_ids:0 +msgid "Depreciation Lines" +msgstr "Értékcsökkénés sorai" + +#. module: account_asset +#: help:account.asset.asset,salvage_value:0 +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method_period:0 +msgid "The amount of time between two depreciations, in months" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,depreciation_date:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,depreciation_date:0 +msgid "Depreciation Date" +msgstr "Értékcsökkenés dátuma" + +#. module: account_asset +#: constraint:account.asset.asset:0 +msgid "Error ! You cannot create recursive assets." +msgstr "" + +#. module: account_asset +#: field:asset.asset.report,posted_value:0 +msgid "Posted Amount" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:asset.asset.report:0 +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:account_asset.menu_finance_assets +#: model:ir.ui.menu,name:account_asset.menu_finance_config_assets +msgid "Assets" +msgstr "Eszközök" + +#. module: account_asset +#: field:account.asset.category,account_depreciation_id:0 +msgid "Depreciation Account" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:account.asset.category:0 +#: view:account.asset.history:0 +#: view:asset.modify:0 +#: field:asset.modify,note:0 +msgid "Notes" +msgstr "Megjegyzések" + +#. module: account_asset +#: field:account.asset.depreciation.line,move_id:0 +msgid "Depreciation Entry" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +#: field:asset.asset.report,nbr:0 +msgid "# of Depreciation Lines" +msgstr "# értékcsökkenési sorok száma" + +#. module: account_asset +#: field:account.asset.asset,method_period:0 +msgid "Number of Months in a Period" +msgstr "Hónapok száma az időszakban" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Assets in draft state" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,method_end:0 +#: selection:account.asset.asset,method_time:0 +#: selection:account.asset.category,method_time:0 +#: selection:account.asset.history,method_time:0 +msgid "Ending Date" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,code:0 +msgid "Reference" +msgstr "Hivatkozás" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Account Asset" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard +#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Compute Assets" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,method_period:0 +#: field:account.asset.history,method_period:0 +#: field:asset.modify,method_period:0 +msgid "Period Length" +msgstr "Időszak hossza" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: view:asset.asset.report:0 +#: selection:asset.asset.report,state:0 +msgid "Draft" +msgstr "Tervezet" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Date of asset purchase" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Change Duration" +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method_number:0 +#: help:account.asset.category,method_number:0 +#: help:account.asset.history,method_number:0 +msgid "The number of depreciations needed to depreciate your asset" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Analytic Information" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,account_analytic_id:0 +msgid "Analytic account" +msgstr "Gyűjtőkód" + +#. module: account_asset +#: field:account.asset.asset,method:0 +#: field:account.asset.category,method:0 +msgid "Computation Method" +msgstr "Számítási módszer" + +#. module: account_asset +#: constraint:account.asset.asset:0 +msgid "" +"Prorata temporis can be applied only for time method \"number of " +"depreciations\"." +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,remaining_value:0 +msgid "Next Period Depreciation" +msgstr "" + +#. module: account_asset +#: help:account.asset.history,method_period:0 +msgid "Time in month between two depreciations" +msgstr "" + +#. module: account_asset +#: view:asset.modify:0 +#: model:ir.actions.act_window,name:account_asset.action_asset_modify +#: model:ir.model,name:account_asset.model_asset_modify +msgid "Modify Asset" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,salvage_value:0 +msgid "Salvage Value" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,category_id:0 +#: view:account.asset.category:0 +#: field:account.invoice.line,asset_category_id:0 +#: view:asset.asset.report:0 +msgid "Asset Category" +msgstr "Eszköz kategória" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Assets in closed state" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,parent_id:0 +msgid "Parent Asset" +msgstr "" + +#. module: account_asset +#: view:account.asset.history:0 +#: model:ir.model,name:account_asset.model_account_asset_history +msgid "Asset history" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Search Asset Category" +msgstr "" + +#. module: account_asset +#: view:asset.modify:0 +msgid "months" +msgstr "hónapok" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_invoice_line +msgid "Invoice Line" +msgstr "Számlasor" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation Board" +msgstr "" + +#. module: account_asset +#: field:asset.asset.report,unposted_value:0 +msgid "Unposted Amount" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,method_time:0 +#: field:account.asset.category,method_time:0 +#: field:account.asset.history,method_time:0 +msgid "Time Method" +msgstr "" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +#: view:asset.modify:0 +msgid "or" +msgstr "vagy" + +#. module: account_asset +#: field:account.asset.asset,note:0 +#: field:account.asset.category,note:0 +#: field:account.asset.history,note:0 +msgid "Note" +msgstr "Jegyzet" + +#. module: account_asset +#: help:account.asset.history,method_time:0 +msgid "" +"The method to use to compute the dates and number of depreciation lines.\n" +"Number of Depreciations: Fix the number of depreciation lines and the time " +"between 2 depreciations.\n" +"Ending Date: Choose the time between 2 depreciations and the date the " +"depreciations won't go beyond." +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method_time:0 +#: help:account.asset.category,method_time:0 +msgid "" +"Choose the method to use to compute the dates and number of depreciation " +"lines.\n" +" * Number of Depreciations: Fix the number of depreciation lines and the " +"time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the " +"depreciations won't go beyond." +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Assets in running state" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Closed" +msgstr "Lezárt" + +#. module: account_asset +#: help:account.asset.asset,state:0 +msgid "" +"When an asset is created, the status is 'Draft'.\n" +"If the asset is confirmed, the status goes in 'Running' and the depreciation " +"lines can be posted in the accounting.\n" +"You can manually close an asset when the depreciation is over. If the last " +"line of depreciation is posted, the asset automatically goes in that status." +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,state:0 +#: field:asset.asset.report,state:0 +msgid "Status" +msgstr "Státusz" + +#. module: account_asset +#: field:account.asset.asset,partner_id:0 +#: field:asset.asset.report,partner_id:0 +msgid "Partner" +msgstr "Partner" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Posted depreciation lines" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,child_ids:0 +msgid "Children Assets" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Date of depreciation" +msgstr "" + +#. module: account_asset +#: field:account.asset.history,user_id:0 +msgid "User" +msgstr "Felhasználó" + +#. module: account_asset +#: field:account.asset.category,account_asset_id:0 +msgid "Asset Account" +msgstr "" + +#. module: account_asset +#: view:asset.asset.report:0 +msgid "Extended Filters..." +msgstr "Kiterjesztett szűrők…" + +#. module: account_asset +#: view:account.asset.asset:0 +#: view:asset.depreciation.confirmation.wizard:0 +msgid "Compute" +msgstr "Kiszámítás" + +#. module: account_asset +#: view:account.asset.history:0 +msgid "Asset History" +msgstr "Eszköz történet" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,active:0 +msgid "Active" +msgstr "Aktív" + +#. module: account_asset +#: field:account.asset.depreciation.line,parent_state:0 +msgid "State of Asset" +msgstr "Eszköz státusza" + +#. module: account_asset +#: field:account.asset.depreciation.line,name:0 +msgid "Depreciation Name" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,history_ids:0 +msgid "History" +msgstr "Előzmény" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +msgid "Compute Asset" +msgstr "" + +#. module: account_asset +#: field:asset.depreciation.confirmation.wizard,period_id:0 +msgid "Period" +msgstr "Időszak" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "General" +msgstr "Általános" + +#. module: account_asset +#: field:account.asset.asset,prorata:0 +#: field:account.asset.category,prorata:0 +msgid "Prorata Temporis" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_invoice +msgid "Invoice" +msgstr "Számla" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Set to Close" +msgstr "" + +#. module: account_asset +#: view:asset.depreciation.confirmation.wizard:0 +#: view:asset.modify:0 +msgid "Cancel" +msgstr "Mégsem" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: selection:asset.asset.report,state:0 +msgid "Close" +msgstr "Lezár" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_move_line +msgid "Journal Items" +msgstr "Könyvelési tételsorok" + +#. module: account_asset +#: view:asset.modify:0 +msgid "Asset Durations to Modify" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,purchase_date:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,purchase_date:0 +msgid "Purchase Date" +msgstr "Vásárlás dátuma" + +#. module: account_asset +#: selection:account.asset.asset,method:0 +#: selection:account.asset.category,method:0 +msgid "Degressive" +msgstr "Degresszív" + +#. module: account_asset +#: help:asset.depreciation.confirmation.wizard,period_id:0 +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Current" +msgstr "Jelenlegi" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Depreciation Method" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,amount:0 +msgid "Current Depreciation" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,name:0 +msgid "Asset Name" +msgstr "" + +#. module: account_asset +#: field:account.asset.category,open_asset:0 +msgid "Skip Draft State" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +msgid "Depreciation Dates" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,currency_id:0 +msgid "Currency" +msgstr "Pénznem" + +#. module: account_asset +#: field:account.asset.category,journal_id:0 +msgid "Journal" +msgstr "Napló" + +#. module: account_asset +#: field:account.asset.history,name:0 +msgid "History name" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,depreciated_value:0 +msgid "Amount Already Depreciated" +msgstr "" + +#. module: account_asset +#: help:account.asset.asset,method:0 +#: help:account.asset.category,method:0 +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,move_check:0 +#: view:asset.asset.report:0 +#: field:asset.asset.report,move_check:0 +msgid "Posted" +msgstr "Könyvelt" + +#. module: account_asset +#: model:ir.actions.act_window,help:account_asset.action_asset_asset_report +msgid "" +"<p>\n" +" From this report, you can have an overview on all depreciation. " +"The\n" +" tool search can also be used to personalise your Assets reports " +"and\n" +" so, match this analysis to your needs;\n" +" </p>\n" +" " +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,purchase_value:0 +msgid "Gross Value" +msgstr "Bruttó érték" + +#. module: account_asset +#: field:account.asset.category,name:0 +msgid "Name" +msgstr "Név" + +#. module: account_asset +#: help:account.asset.category,open_asset:0 +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" + +#. module: account_asset +#: field:asset.asset.report,name:0 +msgid "Year" +msgstr "Év" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "" + +#. module: account_asset +#: view:account.asset.category:0 +#: field:asset.asset.report,asset_category_id:0 +#: model:ir.model,name:account_asset.model_account_asset_category +msgid "Asset category" +msgstr "Eszköz kategória" + +#. module: account_asset +#: view:asset.asset.report:0 +#: field:asset.asset.report,depreciation_value:0 +msgid "Amount of Depreciation Lines" +msgstr "" + +#. module: account_asset +#: code:addons/account_asset/wizard/wizard_asset_compute.py:50 +#, python-format +msgid "Created Asset Moves" +msgstr "" + +#. module: account_asset +#: field:account.asset.depreciation.line,sequence:0 +msgid "Sequence" +msgstr "Sorszám" + +#. module: account_asset +#: help:account.asset.category,method_period:0 +msgid "State here the time between 2 depreciations, in months" +msgstr "" + +#. module: account_asset +#: field:account.asset.history,date:0 +msgid "Date" +msgstr "Dátum" + +#. module: account_asset +#: field:account.asset.asset,method_number:0 +#: selection:account.asset.asset,method_time:0 +#: field:account.asset.category,method_number:0 +#: selection:account.asset.category,method_time:0 +#: field:account.asset.history,method_number:0 +#: selection:account.asset.history,method_time:0 +#: field:asset.modify,method_number:0 +msgid "Number of Depreciations" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Create Move" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Confirm Asset" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree +msgid "Asset Hierarchy" +msgstr "" diff --git a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml index db269ef37c7..a5bd40e9471 100644 --- a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml +++ b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense_view.xml @@ -36,7 +36,7 @@ <button name="open_hr_expense" class="oe_link" - string="expenses" type="object"/> + string="Expenses" type="object"/> </td> </tr> </xpath> diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py index 313ddb8453a..ff122ab926f 100644 --- a/addons/base_calendar/__openerp__.py +++ b/addons/base_calendar/__openerp__.py @@ -22,7 +22,7 @@ { 'name': 'Calendar', 'version': '1.0', - 'depends': ['base', 'base_status', 'mail', 'base_action_rule'], + 'depends': ['base', 'mail', 'base_action_rule'], 'summary': 'Personal & Shared Calendar', 'description': """ This is a full-featured calendar system. diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py index 1051a7a894c..66823e0b8f4 100644 --- a/addons/base_calendar/crm_meeting.py +++ b/addons/base_calendar/crm_meeting.py @@ -25,7 +25,6 @@ from openerp.osv import fields, osv from openerp.tools import DEFAULT_SERVER_DATE_FORMAT from openerp.tools.translate import _ from base_calendar import get_real_ids, base_calendar_id2real_id -from openerp.addons.base_status.base_state import base_state # # crm.meeting is defined here so that it may be used by modules other than crm, # without forcing the installation of crm. @@ -38,14 +37,13 @@ class crm_meeting_type(osv.Model): 'name': fields.char('Name', size=64, required=True, translate=True), } -class crm_meeting(base_state, osv.Model): +class crm_meeting(osv.Model): """ Model for CRM meetings """ _name = 'crm.meeting' _description = "Meeting" _order = "id desc" _inherit = ["calendar.event", "mail.thread", "ir.needaction_mixin"] _columns = { - # base_state required fields 'create_date': fields.datetime('Creation Date', readonly=True), 'write_date': fields.datetime('Write Date', readonly=True), 'date_open': fields.datetime('Confirmed', readonly=True), @@ -79,6 +77,12 @@ class crm_meeting(base_state, osv.Model): default['attendee_ids'] = False return super(crm_meeting, self).copy(cr, uid, id, default, context) + def write(self, cr, uid, ids, values, context=None): + """ Override to add case management: open/close dates """ + if values.get('state')and values.get('state') == 'open': + values['date_open'] = fields.datetime.now() + return super(crm_meeting, self).write(cr, uid, ids, values, context=context) + def onchange_partner_ids(self, cr, uid, ids, value, context=None): """ The basic purpose of this method is to check that destination partners effectively have email addresses. Otherwise a warning is thrown. diff --git a/addons/base_status/__init__.py b/addons/base_status/__init__.py deleted file mode 100644 index ea9d738e614..00000000000 --- a/addons/base_status/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2012-today OpenERP SA (<http://openerp.com>) -# -# 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 <http://www.gnu.org/licenses/>. -# -############################################################################## - -import base_state - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_status/__openerp__.py b/addons/base_status/__openerp__.py deleted file mode 100644 index b3936ec10cb..00000000000 --- a/addons/base_status/__openerp__.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2012-today OpenERP SA (<http://openerp.com>) -# -# 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 <http://www.gnu.org/licenses/>. -# -############################################################################## - -{ - 'name': 'State/Stage Management', - 'version': '1.0', - 'category': 'Hidden', - 'description': """ -This module handles state. It is derived from the crm_base and crm_case classes from crm. -========================================================================================== - - * ``base_state``: state management - """, - 'author': 'OpenERP SA', - 'website': 'http://www.openerp.com', - 'depends': ['base'], - 'data': [], - 'demo': [], - 'installable': True, - 'auto_install': False, -} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_status/base_state.py b/addons/base_status/base_state.py deleted file mode 100644 index 3fe59ecbd21..00000000000 --- a/addons/base_status/base_state.py +++ /dev/null @@ -1,201 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>) -# -# 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 <http://www.gnu.org/licenses/>. -# -############################################################################## - -from openerp.osv import fields, osv -from openerp.tools.translate import _ - -class base_state(object): - """ Base utility mixin class for objects willing to manage their state. - Object subclassing this class should define the following colums: - - ``date_open`` (datetime field) - - ``date_closed`` (datetime field) - - ``user_id`` (many2one to res.users) - - ``partner_id`` (many2one to res.partner) - - ``email_from`` (char field) - - ``state`` (selection field) - """ - - def _get_default_partner(self, cr, uid, context=None): - """ Gives id of partner for current user - :param context: if portal not in context returns False - """ - if context is None: - context = {} - if not context or not context.get('portal'): - return False - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if hasattr(user, 'partner_address_id') and user.partner_address_id: - return user.partner_address_id - return user.company_id.partner_id.id - - def _get_default_email(self, cr, uid, context=None): - """ Gives default email address for current user - :param context: if portal not in context returns False - """ - if context is None: - context = {} - if not context or not context.get('portal'): - return False - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - return user.email - - def _get_default_user(self, cr, uid, context=None): - """ Gives current user id - :param context: if portal not in context returns False - """ - if context is None: - context = {} - if not context or not context.get('portal'): - return False - return uid - - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - """ This function returns value of partner email based on Partner Address - :param add: Id of Partner's address - :param email: Partner's email ID - """ - data = {'value': {'email_from': False, 'phone':False}} - if add: - address = self.pool.get('res.partner').browse(cr, uid, add) - data['value'] = {'email_from': address and address.email or False , - 'phone': address and address.phone or False} - if 'phone' not in self._columns: - del data['value']['phone'] - return data - - def onchange_partner_id(self, cr, uid, ids, part, email=False): - """ This function returns value of partner address based on partner - :param part: Partner's id - :param email: Partner's email ID - """ - data={} - if part: - addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact']) - data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value']) - return {'value': data} - - def case_escalate(self, cr, uid, ids, context=None): - """ Escalates case to parent level """ - cases = self.browse(cr, uid, ids, context=context) - cases[0].state # fill browse record cache, for _action having old and new values - data = {'active': True} - for case in cases: - parent_id = case.section_id.parent_id - if parent_id: - data['section_id'] = parent_id.id - if parent_id.change_responsible and parent_id.user_id: - data['user_id'] = parent_id.user_id.id - else: - raise osv.except_osv(_('Error!'), _('You can not escalate, you are already at the top level regarding your sales-team category.')) - self.write(cr, uid, [case.id], data, context=context) - case.case_escalate_send_note(parent_id, context=context) - return True - - def case_open(self, cr, uid, ids, context=None): - """ Opens case """ - cases = self.browse(cr, uid, ids, context=context) - for case in cases: - values = {'active': True} - if case.state == 'draft': - values['date_open'] = fields.datetime.now() - if not case.user_id: - values['user_id'] = uid - self.case_set(cr, uid, [case.id], 'open', values, context=context) - return True - - def case_close(self, cr, uid, ids, context=None): - """ Closes case """ - return self.case_set(cr, uid, ids, 'done', {'date_closed': fields.datetime.now()}, context=context) - - def case_cancel(self, cr, uid, ids, context=None): - """ Cancels case """ - return self.case_set(cr, uid, ids, 'cancel', {'active': True}, context=context) - - def case_pending(self, cr, uid, ids, context=None): - """ Sets case as pending """ - return self.case_set(cr, uid, ids, 'pending', {'active': True}, context=context) - - def case_reset(self, cr, uid, ids, context=None): - """ Resets case as draft """ - return self.case_set(cr, uid, ids, 'draft', {'active': True}, context=context) - - def case_set(self, cr, uid, ids, state_name, update_values=None, context=None): - """ Generic method for setting case. This methods wraps the update - of the record, as well as call to _action and browse_record - case setting to fill the cache. - - :params: state_name: the new value of the state, such as - 'draft' or 'close'. - :params: update_values: values that will be added with the state - update when writing values to the record. - """ - cases = self.browse(cr, uid, ids, context=context) - cases[0].state # fill browse record cache, for _action having old and new values - if update_values is None: - update_values = {} - update_values['state'] = state_name - return self.write(cr, uid, ids, update_values, context=context) - - # ****************************** - # Notifications - # ****************************** - - def case_get_note_msg_prefix(self, cr, uid, id, context=None): - return '' - - def case_open_send_note(self, cr, uid, ids, context=None): - for id in ids: - msg = _('%s has been <b>opened</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True - - def case_escalate_send_note(self, cr, uid, ids, new_section=None, context=None): - for id in ids: - if new_section: - msg = '%s has been <b>escalated</b> to <b>%s</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context), new_section.name) - else: - msg = '%s has been <b>escalated</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True - - def case_close_send_note(self, cr, uid, ids, context=None): - for id in ids: - msg = _('%s has been <b>closed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True - - def case_cancel_send_note(self, cr, uid, ids, context=None): - for id in ids: - msg = _('%s has been <b>canceled</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True - - def case_pending_send_note(self, cr, uid, ids, context=None): - for id in ids: - msg = _('%s is now <b>pending</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True - - def case_reset_send_note(self, cr, uid, ids, context=None): - for id in ids: - msg = _('%s has been <b>renewed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context)) - self.message_post(cr, uid, [id], body=msg, context=context) - return True diff --git a/addons/base_status/i18n/ar.po b/addons/base_status/i18n/ar.po deleted file mode 100644 index 1a0e4f1c401..00000000000 --- a/addons/base_status/i18n/ar.po +++ /dev/null @@ -1,76 +0,0 @@ -# Arabic translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-01 18:05+0000\n" -"Last-Translator: gehad shaat <gehad.shaath@gmail.com>\n" -"Language-Team: Arabic <ar@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "خطأ !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "خطأ!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "" diff --git a/addons/base_status/i18n/base_status.pot b/addons/base_status/i18n/base_status.pot deleted file mode 100644 index 3805dd46ce9..00000000000 --- a/addons/base_status/i18n/base_status.pot +++ /dev/null @@ -1,72 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_status -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 7.0alpha\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-21 17:05+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "You can not escalate, you are already at the top level regarding your sales-team category." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "" - diff --git a/addons/base_status/i18n/bs.po b/addons/base_status/i18n/bs.po deleted file mode 100644 index 0fdd8821dd2..00000000000 --- a/addons/base_status/i18n/bs.po +++ /dev/null @@ -1,80 +0,0 @@ -# Bosnian 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-08-08 22:20+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Bosnian <bs@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-09 05:06+0000\n" -"X-Generator: Launchpad (build 16723)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Greška !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s je bio <b>otvoren</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s je bio <b>obnovljen</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Greška!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Ne možete eskalirati, već ste na najvišem nivou u odnosu na kategoriju " -"prodajnog tima." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s je sad <b>Na čekanju</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s je bio <b>otkazan</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Već ste na najvišem nivou vaše kategorije prodajnog tima.\n" -"Zato ne možete dalje eskalirati." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s je bio <b>zatvoren</b>." diff --git a/addons/base_status/i18n/cs.po b/addons/base_status/i18n/cs.po deleted file mode 100644 index 3fdb5247e7f..00000000000 --- a/addons/base_status/i18n/cs.po +++ /dev/null @@ -1,76 +0,0 @@ -# Czech 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-03-30 12:43+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Czech <cs@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-31 05:28+0000\n" -"X-Generator: Launchpad (build 16546)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "" diff --git a/addons/base_status/i18n/de.po b/addons/base_status/i18n/de.po deleted file mode 100644 index 9507cff81f4..00000000000 --- a/addons/base_status/i18n/de.po +++ /dev/null @@ -1,81 +0,0 @@ -# German translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-08 13:50+0000\n" -"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-" -"consulting.net>\n" -"Language-Team: German <de@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Fehler !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s wurde <b>eröffnet</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s wurde <b>erneuert</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Fehler !" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Keine weitere Eskalation möglich, da Sie bereits die obersten Ebene erreicht " -"haben." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s wurde geändert auf <b>Wiedervorlage</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s wurde <b>abgebrochen</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Keine weitere Eskalation möglich, da Sie bereits die obersten Ebene erreicht " -"haben." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s wurde <b>beendet</b>." diff --git a/addons/base_status/i18n/en_GB.po b/addons/base_status/i18n/en_GB.po deleted file mode 100644 index f1461bf4f1b..00000000000 --- a/addons/base_status/i18n/en_GB.po +++ /dev/null @@ -1,80 +0,0 @@ -# English (United Kingdom) 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-02-06 15:07+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: English (United Kingdom) <en_GB@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Error !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s has been <b>opened</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s has been <b>renewed</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Error!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s is now <b>pending</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s has been <b>canceled</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s has been <b>closed</b>." diff --git a/addons/base_status/i18n/es.po b/addons/base_status/i18n/es.po deleted file mode 100644 index 3ed75d4c160..00000000000 --- a/addons/base_status/i18n/es.po +++ /dev/null @@ -1,79 +0,0 @@ -# Spanish translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-10 22:19+0000\n" -"Last-Translator: Ana Juaristi Olalde <ajuaristio@gmail.com>\n" -"Language-Team: Spanish <es@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "¡ Error !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s ha sido <b>abierto</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s ha sido <b>renovado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "¡Error!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"No puede escalar, usted está en la categoría más alta de su equipo de ventas" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s está ahora <b>pendiente</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s ha sido <b>cancelado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Está en el nivel más alto de la categoría de su equipo de ventas.\n" -"Por lo tanto no puede escalar más allá." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s ha sido <b>cerrado</b>." diff --git a/addons/base_status/i18n/fr.po b/addons/base_status/i18n/fr.po deleted file mode 100644 index 7a22f3be0f9..00000000000 --- a/addons/base_status/i18n/fr.po +++ /dev/null @@ -1,81 +0,0 @@ -# French translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-05 09:30+0000\n" -"Last-Translator: Numérigraphe <Unknown>\n" -"Language-Team: French <fr@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Erreur !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s a été <b>ouvert(e)</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s a été <b>renouvelé(e)</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Erreur !" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Vous ne pouvez pas demander d'escalade : vous êtes déjà au plus haut niveau " -"possible dans votre catégorie d'équipes de ventes." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s est maintenant <b>en attente</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s a été <b>annulé(e)</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Vous êtes déjà au plus haut niveau possible dans votre catégorie d'équipes " -"de ventes.\n" -"Par conséquent vous ne pouvez pas demander une escalade au niveau supérieur." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s a été <b>fermé(e)</b>." diff --git a/addons/base_status/i18n/hr.po b/addons/base_status/i18n/hr.po deleted file mode 100644 index 41d004aaf14..00000000000 --- a/addons/base_status/i18n/hr.po +++ /dev/null @@ -1,78 +0,0 @@ -# Croatian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-09 19:46+0000\n" -"Last-Translator: Goran Kliska <gkliska@gmail.com>\n" -"Language-Team: Croatian <hr@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Greška !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s je <b>otvoren</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s je <b>obnovljen</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Greška!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "Ne možete eskaliarati. Vi ste na vrhu hijerarhije prodajnog tima." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s je sada <b>na čekanju</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s je <b>otkazan</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Vi ste na vrhu hijerarhije prodajnog tima.\n" -"Stoga ne možete dalje eskalirati." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s je <b>zatvoren</b>." diff --git a/addons/base_status/i18n/hu.po b/addons/base_status/i18n/hu.po deleted file mode 100644 index e11ea554b07..00000000000 --- a/addons/base_status/i18n/hu.po +++ /dev/null @@ -1,80 +0,0 @@ -# Hungarian 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-03-14 10:26+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Hungarian <hu@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Hiba!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s meg lett <b>nyitva</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s meg lett <b>újítva</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Hiba!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Nem tud feljebb lépni, már az értékesítési csoportját illetően a legmagasabb " -"fokon áll." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s ez nem <b>elintézetlen</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s ez <b>visszavont</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Már az értékesítési csoportjának a legmagasabb szintjén áll.\n" -"Ezért nem tud tovább feljebb lépni." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s le lett <b>Zárva</b>." diff --git a/addons/base_status/i18n/id.po b/addons/base_status/i18n/id.po deleted file mode 100644 index a90023ef348..00000000000 --- a/addons/base_status/i18n/id.po +++ /dev/null @@ -1,77 +0,0 @@ -# Indonesian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-17 00:41+0000\n" -"Last-Translator: Riza Kurniawan <rizabisnis@gmail.com>\n" -"Language-Team: Indonesian <id@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Ada Kesalahan !!!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s sedang <b>dibuka</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s sedang <b>diperbaharui</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Ada Kesalahan !" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Tidak bisa ditingkatkan, anda pada tingkat tertinggi bersama tim sales anda." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s saat ini <b>ditunda</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s sedang = <b>dibatalkan</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s sedang = <b>ditutup</b>." diff --git a/addons/base_status/i18n/it.po b/addons/base_status/i18n/it.po deleted file mode 100644 index 6594ff72e4e..00000000000 --- a/addons/base_status/i18n/it.po +++ /dev/null @@ -1,78 +0,0 @@ -# Italian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-13 19:22+0000\n" -"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n" -"Language-Team: Italian <it@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Errore !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s è stato <b>aperto</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s è stato <b>rinnovato</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Errore!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "Impossibile scalare, si è già al livello massimo del team vendite." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s è ora <b>in attesa</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s è stato <b>annullato</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Si è già al massimo livello del team vendita.\n" -"Quindi non è possibile scalare ulteriormente." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s è stato <b>chiuso</b>." diff --git a/addons/base_status/i18n/lt.po b/addons/base_status/i18n/lt.po deleted file mode 100644 index cdaf9b0db37..00000000000 --- a/addons/base_status/i18n/lt.po +++ /dev/null @@ -1,76 +0,0 @@ -# Lithuanian 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-04-29 15:17+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Lithuanian <lt@li.org>\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-30 05:29+0000\n" -"X-Generator: Launchpad (build 16580)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "" diff --git a/addons/base_status/i18n/mk.po b/addons/base_status/i18n/mk.po deleted file mode 100644 index 0f321e004b1..00000000000 --- a/addons/base_status/i18n/mk.po +++ /dev/null @@ -1,80 +0,0 @@ -# Macedonian 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-02-21 13:28+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Macedonian <mk@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Грешка !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s е <b>отворен</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s е <b>обновен</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Грешка!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Неможе да ескалирате, веќе сте на највисокото ниво со оглед на категоријата " -"на вашиот продажбен тим." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s е <b>во исчекување</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s е <b>откажан</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Веќе сте на највисокото ниво на вашиот продажбен тим.\n" -"Значи понатамошно ескалирање не е можно." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s е <b>затворен</b>." diff --git a/addons/base_status/i18n/mn.po b/addons/base_status/i18n/mn.po deleted file mode 100644 index 5bb891348e8..00000000000 --- a/addons/base_status/i18n/mn.po +++ /dev/null @@ -1,78 +0,0 @@ -# Mongolian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-27 16:26+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Mongolian <mn@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Алдаа !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s <b>нээгдлээ</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s <b>шинэчлэгдлээ</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Алдаа!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "Томруулах боломжгүй. Учир нь та багийнхаа хамгийн дээд түвшин байна." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s одоо <b>хүлээгдэж буй</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s <b>цуцлагдлаа</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Та борлуулалтын багийн ангилалынхаа хамгийн дээд түвшин байна.\n" -"Тиймээс та дахин томруулах боломжгүй." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s <b>хаагдлаа</b>." diff --git a/addons/base_status/i18n/nl.po b/addons/base_status/i18n/nl.po deleted file mode 100644 index 882e44d2ded..00000000000 --- a/addons/base_status/i18n/nl.po +++ /dev/null @@ -1,80 +0,0 @@ -# Dutch translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-20 14:05+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n" -"Language-Team: Dutch <nl@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Fout!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s is <b>geopend</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s is <b>vernieuw</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Fout!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Het is niet mogelijk om verder te escaleren. U bent al op het hoogste niveau " -"van uw verkoopteam categorieën." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s is nu <b>in afwachting</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s is <b>geannuleerd</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"U bent al op het hoogste niveau van het verkoopteam.\n" -"Het is zodoende niet mogelijk om verder te escaleren." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s is <b>gesloten</b>." diff --git a/addons/base_status/i18n/nl_BE.po b/addons/base_status/i18n/nl_BE.po deleted file mode 100644 index 6a3c2d83fc7..00000000000 --- a/addons/base_status/i18n/nl_BE.po +++ /dev/null @@ -1,80 +0,0 @@ -# Dutch (Belgium) 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-04-15 16:40+0000\n" -"Last-Translator: Els Van Vossel (Agaplan) <Unknown>\n" -"Language-Team: Dutch (Belgium) <nl_BE@li.org>\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-16 04:37+0000\n" -"X-Generator: Launchpad (build 16564)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Fout" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s is <b>geopend</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s is <b>vernieuwd</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Fout" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"U kunt niet escaleren; u heeft het hoogste niveau in de verkoopteams al " -"bereikt." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s is <b>wachtend</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s is <b>geannuleerd</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"U bent al op het hoogste niveau van uw verkoopteam.\n" -"U kunt dus niet verder escaleren." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s is <b>gesloten</b>." diff --git a/addons/base_status/i18n/pl.po b/addons/base_status/i18n/pl.po deleted file mode 100644 index 61a1e96e6f4..00000000000 --- a/addons/base_status/i18n/pl.po +++ /dev/null @@ -1,79 +0,0 @@ -# Polish translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-16 11:12+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" -"Language-Team: Polish <pl@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Błąd !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s zostało <b>otwarte</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s zostało <b>odnowione</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Błąd!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Nie możesz przekazywać nadrzędnym, bo jesteś na górze w kategorii zespołu." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s <b>oczekuje</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s zostało <b>anulowane</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Jesteś na najwyższym poziomie kategorii zespołów.\n" -"Więc nie możesz przekazywać wyżej." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s zostało <b>zamknięte</b>." diff --git a/addons/base_status/i18n/pt.po b/addons/base_status/i18n/pt.po deleted file mode 100644 index 2e8648811c0..00000000000 --- a/addons/base_status/i18n/pt.po +++ /dev/null @@ -1,80 +0,0 @@ -# Portuguese translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-13 16:39+0000\n" -"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n" -"Language-Team: Portuguese <pt@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Erro!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s foi <b>aberto</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s foi <b>renovado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Erro!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Não pode subir de grau porque já está no topo no que concerne à categoria da " -"sua equipa de vendas." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s agora está <b>pendente</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s foi <b>cancelado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Já está no topo no que concerne à categoria da sua equipa de vendas.\n" -"Não pode subir mais." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s foi <b>fechado</b>." diff --git a/addons/base_status/i18n/pt_BR.po b/addons/base_status/i18n/pt_BR.po deleted file mode 100644 index 37bf13bed7c..00000000000 --- a/addons/base_status/i18n/pt_BR.po +++ /dev/null @@ -1,81 +0,0 @@ -# Brazilian Portuguese translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-16 23:52+0000\n" -"Last-Translator: Fábio Martinelli - http://zupy.com.br " -"<webmaster@guaru.net>\n" -"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Erro!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s foi <b>aberta</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s foi <b>renovado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Erro!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Você não pode escalar, você já está no nível mais alto em relação a sua " -"categoria de equipe de vendas." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s está agora <b>pendente</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s foi <b>cancelado</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Você já está no nível mais alto de sua categoria de equipe de vendas.\n" -"Portanto, você não pode escalar além disso." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s foi <b>fechado</b>." diff --git a/addons/base_status/i18n/ro.po b/addons/base_status/i18n/ro.po deleted file mode 100644 index 4f82205f7e5..00000000000 --- a/addons/base_status/i18n/ro.po +++ /dev/null @@ -1,81 +0,0 @@ -# Romanian 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-01-23 18:23+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Romanian <ro@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Eroare !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s a fost <b>deschis</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s a fost <b>reinnoit</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Eroare!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Nu puteti avansa, sunteti deja la cel mai inalt nivel in ceea ce priveste " -"categoria echipei d-voastra de vanzari." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s este acum <b>in asteptare</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s a fost <b>anulat</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Sunteti deja la cel mai inalt nivel al categoriei echipei dumneavoastra de " -"vanzari.\n" -"Prin urmare nu mai puteti avansa." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s a fost <b>inchis</b>." diff --git a/addons/base_status/i18n/ru.po b/addons/base_status/i18n/ru.po deleted file mode 100644 index 2dab7ceaf31..00000000000 --- a/addons/base_status/i18n/ru.po +++ /dev/null @@ -1,80 +0,0 @@ -# Russian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-06-05 07:16+0000\n" -"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n" -"Language-Team: Russian <ru@li.org>\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-06 05:21+0000\n" -"X-Generator: Launchpad (build 16667)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Ошибка !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s было <b>открыто</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s было <b>обновлено</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Ошибка!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Вы не можете обострить, вы уже на высшем уровне относительно вашей категории " -"отдела продаж." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s сейчас <b>в ожидании</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s было <b>отменено</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Вы уже на высшем уровне категории вашей команды продаж.\n" -"Поэтому вы не можете обострить." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s было <b>закрыто</b>." diff --git a/addons/base_status/i18n/sl.po b/addons/base_status/i18n/sl.po deleted file mode 100644 index d4f00213381..00000000000 --- a/addons/base_status/i18n/sl.po +++ /dev/null @@ -1,76 +0,0 @@ -# Slovenian translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-29 12:12+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Slovenian <sl@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Napaka!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s je bil <b>od</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s je <b>obnovljen</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Napaka!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "Ste že na vrhu hierarhije vaših skupin prodaje." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s je na <b>čakanju</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s je <b>preklican</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "Ste že na vrhu hierarhije vaših skupin prodaje." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s je <b>zaprt</b>." diff --git a/addons/base_status/i18n/sv.po b/addons/base_status/i18n/sv.po deleted file mode 100644 index eb1b42e6a53..00000000000 --- a/addons/base_status/i18n/sv.po +++ /dev/null @@ -1,79 +0,0 @@ -# Swedish 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-07-08 15:10+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Swedish <sv@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-07-09 05:16+0000\n" -"X-Generator: Launchpad (build 16696)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Fel !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s har <b>öppnats</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s har <b>förnyats</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Fel!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Du kan inte eskalera längre, du har nått toppen för denna säljlags-kategori." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s är nu <b>pågående</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s har <b>avbrutits</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Du har nått översta nivån för din säljlagskategori.\n" -"Det går därför inte att eskalera ytterligare." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s har <b>stängts</b>." diff --git a/addons/base_status/i18n/tr.po b/addons/base_status/i18n/tr.po deleted file mode 100644 index 33eac53991e..00000000000 --- a/addons/base_status/i18n/tr.po +++ /dev/null @@ -1,79 +0,0 @@ -# Turkish 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-02-03 12:04+0000\n" -"Last-Translator: Ahmet Altınışık <Unknown>\n" -"Language-Team: Turkish <tr@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "Hata !" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s <b>açıldı</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s <b>yenilendi</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "Hata!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "" -"Yükseltemezsiniz, satış-takımı kategorisine göre zaten en üst düzeydesiniz." - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s şimdi <b>bekliyor</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s <b>iptal edildi</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"Zaten satış takımı kategorisinin en üst düzeyindesiniz.\n" -"Yani daha fazla yükseltemezsiniz." - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s <b>kapatıldı</b>." diff --git a/addons/base_status/i18n/zh_CN.po b/addons/base_status/i18n/zh_CN.po deleted file mode 100644 index 154de7fb950..00000000000 --- a/addons/base_status/i18n/zh_CN.po +++ /dev/null @@ -1,78 +0,0 @@ -# Chinese (Simplified) translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-11-28 07:43+0000\n" -"Last-Translator: 盈通 ccdos <ccdos@163.com>\n" -"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "错误!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s 已经被 <b>打开</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s 已经被 <b>更新</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "错误!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "不能上报,你已经在您销售团队类别中的最高级了。" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s 现在 <b>待定</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s 已经被 <b>取消</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "" -"你已经在您销售团队类别中的最高级了。\n" -"因此,你不能再上报了。" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s 已经被 <b>关闭</b>." diff --git a/addons/base_status/i18n/zh_TW.po b/addons/base_status/i18n/zh_TW.po deleted file mode 100644 index 9a32a17d35e..00000000000 --- a/addons/base_status/i18n/zh_TW.po +++ /dev/null @@ -1,76 +0,0 @@ -# Chinese (Traditional) 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 <EMAIL@ADDRESS>, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-01-30 14:21+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "Error !" -msgstr "錯誤!" - -#. module: base_status -#: code:addons/base_status/base_state.py:166 -#, python-format -msgid "%s has been <b>opened</b>." -msgstr "%s 已經 <b>開立</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:199 -#, python-format -msgid "%s has been <b>renewed</b>." -msgstr "%s 已經 <b>更新</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "Error!" -msgstr "錯誤!" - -#. module: base_status -#: code:addons/base_status/base_state.py:107 -#, python-format -msgid "" -"You can not escalate, you are already at the top level regarding your sales-" -"team category." -msgstr "您不能升級,您已經是您銷售團隊類別中的最高等級了。" - -#. module: base_status -#: code:addons/base_status/base_state.py:193 -#, python-format -msgid "%s is now <b>pending</b>." -msgstr "%s 現在是 <b>暫停</b>." - -#. module: base_status -#: code:addons/base_status/base_state.py:187 -#, python-format -msgid "%s has been <b>canceled</b>." -msgstr "%s 已經 <b>取消</b>." - -#. module: base_status -#: code:addons/base_status/base_stage.py:210 -#, python-format -msgid "" -"You are already at the top level of your sales-team category.\n" -"Therefore you cannot escalate furthermore." -msgstr "您已經是您銷售團隊類別中的最高等級了。因此您不能再升級了。" - -#. module: base_status -#: code:addons/base_status/base_state.py:181 -#, python-format -msgid "%s has been <b>closed</b>." -msgstr "%s 已經 <b>關閉</b>." diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 3e6b55006fa..1b4ba191b82 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -51,7 +51,6 @@ Dashboard for CRM will include: 'depends': [ 'base_action_rule', 'base_setup', - 'base_status', 'process', 'mail', 'email_template', diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 65d096c6a51..c4e2cbdc91d 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -830,9 +830,9 @@ class crm_lead(format_address, osv.osv): 'priority': lead.priority, } new_id = phonecall.create(cr, uid, vals, context=context) - phonecall.case_open(cr, uid, [new_id], context=context) + phonecall.write(cr, uid, [new_id], {'state': 'open'}, context=context) if action == 'log': - phonecall.case_close(cr, uid, [new_id], context=context) + phonecall.write(cr, uid, [new_id], {'state': 'done'}, context=context) phonecall_dict[lead.id] = new_id self.schedule_phonecall_send_note(cr, uid, [lead.id], new_id, action, context=context) return phonecall_dict @@ -955,10 +955,8 @@ class crm_lead(format_address, osv.osv): """ if custom_values is None: custom_values = {} - desc = html2plaintext(msg.get('body')) if msg.get('body') else '' defaults = { 'name': msg.get('subject') or _("No Subject"), - 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'partner_id': msg.get('author_id', False), diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index 0d7004e005b..1e67c50a2c3 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -19,21 +19,19 @@ # ############################################################################## -from openerp.addons.base_status.base_state import base_state import crm from datetime import datetime from openerp.osv import fields, osv from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT from openerp.tools.translate import _ -class crm_phonecall(base_state, osv.osv): +class crm_phonecall(osv.osv): """ Model for CRM phonecalls """ _name = "crm.phonecall" _description = "Phonecall" _order = "id desc" _inherit = ['mail.thread'] _columns = { - # base_state required fields 'date_action_last': fields.datetime('Last Action', readonly=1), 'date_action_next': fields.datetime('Next Action', readonly=1), 'create_date': fields.datetime('Creation Date' , readonly=True), @@ -43,22 +41,21 @@ class crm_phonecall(base_state, osv.osv): 'partner_id': fields.many2one('res.partner', 'Contact'), 'company_id': fields.many2one('res.company', 'Company'), 'description': fields.text('Description'), - 'state': fields.selection([ ('draft', 'Draft'), - ('open', 'Confirmed'), - ('pending', 'Not Held'), - ('cancel', 'Cancelled'), - ('done', 'Held'),], - string='Status', size=16, readonly=True, track_visibility='onchange', - help='The status is set to \'Todo\', when a case is created.\ - If the case is in progress the status is set to \'Open\'.\ - When the call is over, the status is set to \'Held\'.\ - If the call needs to be done then the status is set to \'Not Held\'.'), + 'state': fields.selection( + [('open', 'Confirmed'), + ('cancel', 'Cancelled'), + ('pending', 'Pending'), + ('done', 'Held') + ], string='Status', readonly=True, track_visibility='onchange', + help='The status is set to Confirmed, when a case is created.\n' + 'When the call is over, the status is set to Held.\n' + 'If the callis not applicable anymore, the status can be set to Cancelled.'), 'email_from': fields.char('Email', size=128, help="These people will receive email."), 'date_open': fields.datetime('Opened', readonly=True), # phonecall fields 'name': fields.char('Call Summary', size=64, required=True), 'active': fields.boolean('Active', required=False), - 'duration': fields.float('Duration', help="Duration in Minutes"), + 'duration': fields.float('Duration', help='Duration in minutes and seconds.'), 'categ_id': fields.many2one('crm.case.categ', 'Category', \ domain="['|',('section_id','=',section_id),('section_id','=',False),\ ('object_id.model', '=', 'crm.phonecall')]"), @@ -71,7 +68,7 @@ class crm_phonecall(base_state, osv.osv): } def _get_default_state(self, cr, uid, context=None): - if context and context.get('default_state', False): + if context and context.get('default_state'): return context.get('default_state') return 'open' @@ -79,29 +76,38 @@ class crm_phonecall(base_state, osv.osv): 'date': fields.datetime.now, 'priority': crm.AVAILABLE_PRIORITIES[2][0], 'state': _get_default_state, - 'user_id': lambda self,cr,uid,ctx: uid, + 'user_id': lambda self, cr, uid, ctx: uid, 'active': 1 } - def case_close(self, cr, uid, ids, context=None): - """ Overrides close for crm_case for setting duration """ - res = True - for phone in self.browse(cr, uid, ids, context=context): - phone_id = phone.id - data = {} - if phone.duration <=0: - duration = datetime.now() - datetime.strptime(phone.date, DEFAULT_SERVER_DATETIME_FORMAT) - data['duration'] = duration.seconds/float(60) - res = super(crm_phonecall, self).case_close(cr, uid, [phone_id], context=context) - self.write(cr, uid, [phone_id], data, context=context) - return res + def on_change_partner_id(self, cr, uid, ids, partner_id, context=None): + values = {} + if partner_id: + partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) + values = { + 'partner_phone': partner.phone, + 'partner_mobile': partner.mobile, + } + return {'value': values} - def case_reset(self, cr, uid, ids, context=None): - """Resets case as Todo - """ - res = super(crm_phonecall, self).case_reset(cr, uid, ids, context) - self.write(cr, uid, ids, {'duration': 0.0, 'state':'open'}, context=context) - return res + def write(self, cr, uid, ids, values, context=None): + """ Override to add case management: open/close dates """ + if values.get('state'): + if values.get('state') == 'done': + values['date_closed'] = fields.datetime.now() + self.compute_duration(cr, uid, ids, context=context) + elif values.get('state') == 'open': + values['date_open'] = fields.datetime.now() + values['duration'] = 0.0 + return super(crm_phonecall, self).write(cr, uid, ids, values, context=context) + + def compute_duration(self, cr, uid, ids, context=None): + for phonecall in self.browse(cr, uid, ids, context=context): + if phonecall.duration <= 0: + duration = datetime.now() - datetime.strptime(phonecall.date, DEFAULT_SERVER_DATETIME_FORMAT) + values = {'duration': duration.seconds/float(60)} + self.write(cr, uid, [phonecall.id], values, context=context) + return True def schedule_another_phonecall(self, cr, uid, ids, schedule_time, call_summary, \ user_id=False, section_id=False, categ_id=False, action='schedule', context=None): @@ -135,7 +141,7 @@ class crm_phonecall(base_state, osv.osv): } new_id = self.create(cr, uid, vals, context=context) if action == 'log': - self.case_close(cr, uid, [new_id]) + self.write(cr, uid, [new_id], {'state': 'done'}, context=context) phonecall_dict[call.id] = new_id return phonecall_dict @@ -243,12 +249,11 @@ class crm_phonecall(base_state, osv.osv): 'email_from': default_contact and default_contact.email, }) vals = { - 'partner_id': partner_id, - 'opportunity_id' : opportunity_id, + 'partner_id': partner_id, + 'opportunity_id': opportunity_id, + 'state': 'done', } - self.write(cr, uid, [call.id], vals) - self.case_close(cr, uid, [call.id]) - opportunity.case_open(cr, uid, [opportunity_id]) + self.write(cr, uid, [call.id], vals, context=context) opportunity_dict[call.id] = opportunity_id return opportunity_dict diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 05188cd8fbe..30c4471b559 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -50,14 +50,6 @@ <field name="create_date" invisible="1"/> <field name="opportunity_id" invisible="1"/> <field name="state"/> - <button name="case_open" string="Confirm" type="object" - states="draft,pending" icon="gtk-go-forward"/> - <button name="case_close" string="Held" type="object" - states="open,pending" icon="gtk-jump-to"/> - <button name="case_cancel" string="Cancel" type="object" - states="draft,open,pending" icon="gtk-cancel"/> - <button name="case_reset" string="Reset to Todo" type="object" - states="cancel" icon="gtk-convert"/> </tree> </field> </record> @@ -69,13 +61,7 @@ <field name="arch" type="xml"> <form string="Phone Call" version="7.0"> <header> - <button name="case_close" string="Call Done" type="object" class="oe_highlight" - states="open,pending"/> - <button name="case_reset" string="Reset to Todo" type="object" - states="cancel"/> - <button name="case_cancel" string="Cancel Call" type="object" - states="draft,open,pending"/> - <field name="state" widget="statusbar" nolabel="1" statusbar_visible="open,done"/> + <field name="state" nolabel="1" widget="statusbar" clickable="True"/> </header> <sheet string="Phone Call"> <div class="oe_right"> @@ -102,11 +88,13 @@ <group col="4"> <field name="date"/> <field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_sale_salesman_all_leads']}"/> - <field name="duration" widget="float_time"/> + <label for="duration"/> + <div> + <field name="duration" widget="float_time" class="oe_inline" style="vertical-align:baseline"/> <b> min(s)</b> + </div> <field name="section_id" colspan="1" widget="selection" groups="base.group_multi_salesteams"/> - <field name="partner_id" on_change="onchange_partner_id(partner_id)"/> - <field name="email_from" invisible="1"/> <!--not needed because of the chatter, thus invisible, but must be in the view as it's returned by onchange_partner_id()--> + <field name="partner_id" on_change="on_change_partner_id(partner_id)"/> <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/> <field name="partner_mobile"/> diff --git a/addons/crm/doc/changelog.rst b/addons/crm/doc/changelog.rst index e9bd1980956..5312329f4f5 100644 --- a/addons/crm/doc/changelog.rst +++ b/addons/crm/doc/changelog.rst @@ -8,6 +8,7 @@ Changelog - Stage/state update + - ``crm.phonecall``: removed inheritance towards ``base_state``. - ``crm.lead``: removed ``state`` field. Added ``date_last_stage_update`` field holding last stage_id modification. Updated reports. - ``crm.case.stage``: removed ``state`` field. diff --git a/addons/crm/test/lead2opportunity2win.yml b/addons/crm/test/lead2opportunity2win.yml index 003848c6ee7..a2499cf4aa9 100644 --- a/addons/crm/test/lead2opportunity2win.yml +++ b/addons/crm/test/lead2opportunity2win.yml @@ -104,7 +104,7 @@ - !python {model: crm.meeting}: | context.update({'active_model': 'crm.meeting'}) - self.case_open(cr, uid, [ref('base_calendar.crm_meeting_4')]) + self.write(cr, uid, [ref('base_calendar.crm_meeting_4')], {'state': 'open'}) - I invite a user for meeting. - diff --git a/addons/crm/test/phonecalls.yml b/addons/crm/test/phonecalls.yml index 51a933f3223..b1ea184f59b 100644 --- a/addons/crm/test/phonecalls.yml +++ b/addons/crm/test/phonecalls.yml @@ -10,43 +10,3 @@ - !python {model: crm.phonecall}: | self.action_make_meeting(cr, uid, [ref("crm.crm_phonecall_6")]) -- - I set the phone call to not held. -- - !python {model: crm.phonecall}: | - self.case_pending(cr, uid, [ref("crm.crm_phonecall_6")]) -- - I check that the phone call is in 'Not Held' state. -- - !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call held.}: - - state == "pending" -- - I cancel the phone call. -- - !python {model: crm.phonecall}: | - self.case_cancel(cr, uid, [ref("crm.crm_phonecall_6")]) -- - I check that the phone call is in 'Cancelled' state. -- - !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not cancelled.}: - - state == "cancel" -- - I reset the phone call. -- - !python {model: crm.phonecall}: | - self.case_reset(cr, uid, [ref("crm.crm_phonecall_6")]) -- - I check that the phone call is reset. -- - !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not reset.}: - - state == "open" -- - I set phone call to held (done). -- - !python {model: crm.phonecall}: | - self.case_close(cr, uid, [ref("crm.crm_phonecall_6")]) -- - I check that the phone call is in 'Held' state. -- - !assert {model: crm.phonecall, id: crm.crm_phonecall_6, string: Phone call is not held.}: - - state == "done" diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index deab9f19a20..03e6a243851 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -19,23 +19,14 @@ # ############################################################################## -from openerp.addons.base_status.base_state import base_state from openerp.addons.crm import crm from openerp.osv import fields, osv from openerp import tools from openerp.tools.translate import _ from openerp.tools import html2plaintext -AVAILABLE_STATES = [ - ('draft', 'New'), - ('cancel', 'Cancelled'), - ('open', 'In Progress'), - ('pending', 'Pending'), - ('done', 'Closed') -] - -class crm_helpdesk(base_state, osv.osv): +class crm_helpdesk(osv.osv): """ Helpdesk Cases """ _name = "crm.helpdesk" @@ -73,7 +64,12 @@ class crm_helpdesk(base_state, osv.osv): domain="['|',('section_id','=',False),('section_id','=',section_id),\ ('object_id.model', '=', 'crm.helpdesk')]"), 'duration': fields.float('Duration', states={'done': [('readonly', True)]}), - 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True, + 'state': fields.selection( + [('draft', 'New'), + ('open', 'In Progress'), + ('pending', 'Pending'), + ('done', 'Closed'), + ('cancel', 'Cancelled')], 'Status', size=16, readonly=True, track_visibility='onchange', help='The status is set to \'Draft\', when a case is created.\ \nIf the case is in progress the status is set to \'Open\'.\ \nWhen the case is over, the status is set to \'Done\'.\ @@ -89,6 +85,38 @@ class crm_helpdesk(base_state, osv.osv): 'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0], } + def on_change_partner_id(self, cr, uid, ids, partner_id, context=None): + values = {} + if partner_id: + partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) + values = { + 'email_from': partner.email, + } + return {'value': values} + + def write(self, cr, uid, ids, values, context=None): + """ Override to add case management: open/close dates """ + if values.get('state'): + if values.get('state') in ['draft', 'open'] and not values.get('date_open'): + values['date_open'] = fields.datetime.now() + elif values.get('state') == 'close' and not values.get('date_closed'): + values['date_closed'] = fields.datetime.now() + return super(crm_helpdesk, self).write(cr, uid, ids, values, context=context) + + def case_escalate(self, cr, uid, ids, context=None): + """ Escalates case to parent level """ + data = {'active': True} + for case in self.browse(cr, uid, ids, context=context): + if case.section_id and case.section_id.parent_id: + parent_id = case.section_id.parent_id + data['section_id'] = parent_id.id + if parent_id.change_responsible and parent_id.user_id: + data['user_id'] = parent_id.user_id.id + else: + raise osv.except_osv(_('Error!'), _('You can not escalate, you are already at the top level regarding your sales-team category.')) + self.write(cr, uid, [case.id], data, context=context) + return True + # ------------------------------------------------------- # Mail gateway # ------------------------------------------------------- diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 548df086469..735c08728af 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -29,21 +29,10 @@ <field name="arch" type="xml"> <form string="Helpdesk Support" version="7.0"> <header> - <button name="case_open" string="Open" type="object" class="oe_highlight" - states="draft,pending"/> - <button name="case_close" string="Close Case" type="object" states="draft,pending"/> - <button name="case_close" string="Close Case" type="object" states="open" class="oe_highlight"/> - <button name="case_pending" string="Pending" type="object" - states="draft"/> - <button name="case_pending" string="Pending" type="object" - states="open"/> - <button name="case_reset" string="Reset to Draft" type="object" - states="cancel,done"/> <button name="case_escalate" string="Escalate" type="object" states="open,draft,pending"/> - <button name="case_cancel" string="Cancel Case" type="object" - states="draft,open,pending"/> - <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/> + <field name="state" nolabel="1" widget="statusbar" clickable="True" + statusbar_colors='{"pending":"blue"}'/> </header> <sheet string="Helpdesk Support"> <group col="4" class="oe_header"> @@ -58,8 +47,7 @@ <group> <group string="Communication"> <field name="partner_id" - on_change="onchange_partner_id(partner_id, email_from)" - /> + on_change="on_change_partner_id(partner_id)"/> <field name="email_from"/> </group> <group string="Categorization"> diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py index dc2aabb54fc..483f989fcde 100644 --- a/addons/fleet/fleet.py +++ b/addons/fleet/fleet.py @@ -351,7 +351,7 @@ class fleet_vehicle(osv.Model): 'fuel_type': fields.selection([('gasoline', 'Gasoline'), ('diesel', 'Diesel'), ('electric', 'Electric'), ('hybrid', 'Hybrid')], 'Fuel Type', help='Fuel Used by the vehicle'), 'horsepower': fields.integer('Horsepower'), 'horsepower_tax': fields.float('Horsepower Taxation'), - 'power': fields.integer('Power (kW)', help='Power in kW of the vehicle'), + 'power': fields.integer('Power', help='Power in kW of the vehicle'), 'co2': fields.float('CO2 Emissions', help='CO2 emissions of the vehicle'), 'image': fields.related('model_id', 'image', type="binary", string="Logo"), 'image_medium': fields.related('model_id', 'image_medium', type="binary", string="Logo"), @@ -392,9 +392,12 @@ class fleet_vehicle(osv.Model): } def create(self, cr, uid, data, context=None): + if not context: + context = {} + context.update({'mail_create_nolog': True}) vehicle_id = super(fleet_vehicle, self).create(cr, uid, data, context=context) vehicle = self.browse(cr, uid, vehicle_id, context=context) - self.message_post(cr, uid, [vehicle_id], body=_('Vehicle %s has been added to the fleet!') % (vehicle.license_plate), context=context) + self.message_post(cr, uid, [vehicle_id], body=_('%s %s has been added to the fleet!') % (vehicle.model_id.name,vehicle.license_plate), context=context) return vehicle_id def write(self, cr, uid, ids, vals, context=None): diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml index a8f6a321daf..05030cb3488 100644 --- a/addons/fleet/fleet_view.xml +++ b/addons/fleet/fleet_view.xml @@ -13,7 +13,7 @@ <h1> <field name="modelname" /> </h1> - <label for="brand" class="oe_edit_only"/> + <label for="brand_id" class="oe_edit_only"/> <h2> <field name="brand_id" on_change="on_change_brand(brand_id)"/> </h2> @@ -242,11 +242,17 @@ <group string="Engine Options"> <field name="transmission" /> <field name="fuel_type" /> - <field name="co2" /> + <label for="co2"/> + <div> + <field name="co2" class="oe_inline"/> g/km + </div> <field name="horsepower" /> <field name="horsepower_tax" /> - <field name="power" /> - </group> + <label for="power"/> + <div> + <field name="power" class="oe_inline"/> kW + </div> + </group> </group> </sheet> <div class="oe_chatter"> @@ -287,6 +293,10 @@ <field name="location"/> <field name="state_id" /> <filter name="alert_true" domain="['|',('contract_renewal_due_soon','=',True),('contract_renewal_overdue','=',True)]" string="Has Alert(s)"/> + <group expand="1" string="Group By..."> + <filter name="groupby_status" context="{'group_by' : 'state_id'}" string="Status"/> + <filter name="groupby_model" context="{'group_by' : 'model_id'}" string="Model"/> + </group> </search> </field> </record> @@ -400,7 +410,7 @@ <group string="Contract details"> <field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/> <field name="cost_subtype_id" required="1" domain="['|',('category','=','contract'),('category','=','both')]"/> - <field name="amount" string="Activation Cost"/> + <field name="amount" string="Activation Cost" help="Cost that is paid only once at the creation of the contract"/> <label for="cost_generated"/> <div> <field name="cost_generated" class="oe_inline" attrs="{'invisible': [('cost_frequency','=','no')]}" /> @@ -440,7 +450,7 @@ </group> <div class="oe_right"><group><field name="sum_cost" string="Indicative Costs Total"/></group></div> </page> - <page string="Generated Costs"> + <page string="Generated Recurring Costs"> <group> <field name="generated_cost_ids" context="{'vehicle_id': vehicle_id}" nolabel="1" sum="amount"> <tree version="7.0" editable="bottom" > @@ -704,7 +714,7 @@ <group string="Services Details"> <field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/> <field name="cost_subtype_id" string="Service Type" domain="['|',('category','=','service'),('category','=','both')]" required="1"/> - <field name="amount" string="Price"/> + <field name="amount"/> </group> <group string="Odometer Details"> <label for="odometer"/> @@ -726,7 +736,7 @@ <field name="cost_ids" nolabel="1"> <tree string="Included Services" version="7.0" editable="bottom"> <field name="cost_subtype_id" string="Service" domain="[('category','=','service')]"/> - <field name="amount" sum="Price" string="Cost"/> + <field name="amount" sum="Price" string="Indicative Cost"/> </tree> </field> </group> @@ -767,6 +777,17 @@ </field> </record> + <record model='ir.ui.view' id='fleet_vehicle_log_services_search'> + <field name="name">fleet.vehicle.log.services.search</field> + <field name="model">fleet.vehicle.log.services</field> + <field name="arch" type="xml"> + <search string="Services Logs" > + <field name="vehicle_id"/> + <field name="cost_subtype_id"/> + </search> + </field> + </record> + <record model='ir.actions.act_window' id='fleet_vehicle_log_services_act'> <field name="name">Vehicles Services Logs</field> <field name="res_model">fleet.vehicle.log.services</field> @@ -789,7 +810,7 @@ <field name="name">fleet.service.type.tree</field> <field name="model">fleet.service.type</field> <field name="arch" type="xml"> - <tree string="Service types" editable="bottom"> + <tree string="Service types" editable="top"> <field name="name" /> <field name="category"/> </tree> diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 3a99d5c8b60..d19f1f7de8b 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -192,7 +192,7 @@ class hr_employee(osv.osv): 'child_ids': fields.one2many('hr.employee', 'parent_id', 'Subordinates'), 'resource_id': fields.many2one('resource.resource', 'Resource', ondelete='cascade', required=True), 'coach_id': fields.many2one('hr.employee', 'Coach'), - 'job_id': fields.many2one('hr.job', 'Job'), + 'job_id': fields.many2one('hr.job', 'Job Title'), # image: all image fields are base64 encoded and PIL-supported 'image': fields.binary("Photo", help="This field holds the image used as photo for the employee, limited to 1024x1024px."), diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml index 641d5b272cf..41b09c3aea3 100644 --- a/addons/hr/hr_demo.xml +++ b/addons/hr/hr_demo.xml @@ -91,14 +91,14 @@ <!--Employees--> <record id="employee_fp" model="hr.employee"> - <field name="name">Peter Parker</field> + <field name="name">Pieter Parker</field> <field name="user_id" ref="base.user_root"/> <field name="department_id" ref="dep_management"/> <field name="job_id" ref="hr.job_ceo"/> <field name="category_ids" eval="[(6, 0, [ref('employee_category_2')])]"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> - <field name="work_email">peter@openerp.com</field> + <field name="work_email">pieter@openerp.com</field> <field name="image">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</field> </record> @@ -139,7 +139,7 @@ </record> <record id="employee_stw" model="hr.employee"> - <field name="name">Liam Neeson</field> + <field name="name">Liam Nelson</field> <field name="department_id" ref="dep_rd"/> <field name="parent_id" ref="employee_al"/> <field name="job_id" ref="hr.job_developer"/> @@ -212,7 +212,7 @@ </record> <record id="employee_ngh" model="hr.employee"> - <field name="name">Famke Janssen</field> + <field name="name">Famke Jenssens</field> <field name="department_id" ref="dep_sales"/> <field name="parent_id" ref="employee_fp"/> <field name="job_id" ref="hr.job_marketing"/> @@ -255,7 +255,7 @@ </record> <record id="employee_jep" model="hr.employee"> - <field name="name">Jean Pierre</field> + <field name="name">Jean-Pierre Carnaud</field> <field name="department_id" ref="dep_ps"/> <field name="job_id" ref="hr.job_consultant"/> <field name="work_location">Grand-Rosière</field> diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index eb1bbe451b4..05a21c2908a 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -380,10 +380,9 @@ <tree string="Job"> <field name="name"/> <field name="department_id"/> - <field name="company_id" groups="base.group_multi_company"/> - <field name="expected_employees"/> <field name="no_of_employee"/> <field name="no_of_recruitment"/> + <field name="expected_employees"/> <field name="state"/> </tree> </field> diff --git a/addons/hr_contract/hr_contract.py b/addons/hr_contract/hr_contract.py index 0cd31d66bcf..d74253b5d53 100644 --- a/addons/hr_contract/hr_contract.py +++ b/addons/hr_contract/hr_contract.py @@ -88,6 +88,15 @@ class hr_contract(osv.osv): 'type_id': _get_type } + def onchange_employee_id(self, cr, uid, ids, employee_id, context=None): + if not employee_id: + return {'value': {'job_id': False}} + emp_obj = self.pool.get('hr.employee').browse(cr, uid, employee_id, context=context) + job_id = False + if emp_obj.job_id: + job_id = emp_obj.job_id.id + return {'value': {'job_id': job_id}} + def _check_dates(self, cr, uid, ids, context=None): for contract in self.read(cr, uid, ids, ['date_start', 'date_end'], context=context): if contract['date_start'] and contract['date_end'] and contract['date_start'] > contract['date_end']: diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml index 0659d661420..57a04dc9517 100644 --- a/addons/hr_contract/hr_contract_view.xml +++ b/addons/hr_contract/hr_contract_view.xml @@ -73,14 +73,15 @@ <form string="Contract" version="7.0"> <sheet> <div class="oe_title"> + <label for="name" class="oe_edit_only"/> <h1> <field name="name" placeholder="Contract Reference"/> </h1> </div> <group> <group> - <field name="employee_id"/> - <field name="job_id"/> + <field name="employee_id" on_change="onchange_employee_id(employee_id)"/> + <field name="job_id" context="{'form_view_ref': 'hr.view_hr_job_employee_form'}"/> </group> <group> <field name="type_id"/> diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index a856bcdfdd4..4410784c63c 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -70,8 +70,8 @@ <group col="4"> <field name="name"/> <field name="code"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> <field name="parent_id"/> + <field name="company_id" groups="base.group_multi_company" widget="selection"/> </group> <notebook colspan="4"> <page string="Salary Rules"> @@ -227,13 +227,12 @@ <div class="oe_title"> <label for="employee_id" class="oe_edit_only"/> <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1> - <label for="date_from" class="oe_edit_only" string="Period"/> - <h2> - From <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/> - to <field name="date_to"/> - </h2> </div> <group col="4"> + <label for="date_from" string="Period"/> + <div> + <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)" class="oe_inline"/> - <field name="date_to" class="oe_inline"/> + </div> <field name="contract_id" domain="[('employee_id','=',employee_id),('date_start','<=',date_to),'|',('date_end','>=',date_from),('date_end','=',False)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)" context="{'default_employee_id': employee_id}"/> <field name="number"/> <field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/> @@ -592,8 +591,8 @@ <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','<>','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/> <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/> <field name="amount_fix" attrs="{'invisible':[('amount_select','<>','fix')], 'required':[('amount_select','=','fix')]}"/><newline/> - <field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/> <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','<>','code')], 'required':[('amount_select','=','code')]}"/> + <field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/> <separator colspan="4" string="Company Contribution"/> <field name="register_id"/> </group> @@ -699,13 +698,11 @@ <h1> <field name="name"/> </h1> - <h2> - Period from - <field name="date_start"/> - to - <field name="date_end"/> - </h2> <group col="4"> + <label for="date_start" string="Period"/> + <div> + <field name="date_start" class="oe_inline"/> - <field name="date_end" class="oe_inline"/> + </div> <field name="credit_note"/> </group> <separator string="Payslips"/> diff --git a/addons/hr_payroll/wizard/hr_payroll_contribution_register_report.xml b/addons/hr_payroll/wizard/hr_payroll_contribution_register_report.xml index 8cfaa85518a..7600733c67a 100644 --- a/addons/hr_payroll/wizard/hr_payroll_contribution_register_report.xml +++ b/addons/hr_payroll/wizard/hr_payroll_contribution_register_report.xml @@ -7,14 +7,16 @@ <field name="model">payslip.lines.contribution.register</field> <field name="arch" type="xml"> <form string="Contribution Register's Payslip Lines" version="7.0"> - <header> - <button name="print_report" string="Print" type="object" icon="gtk-print" class="oe_highlight"/> - </header> <group col="4" colspan="6"> <field name="date_from"/> <newline/> <field name="date_to"/> </group> + <footer> + <button name="print_report" string="Print" type="object" class="oe_highlight"/> + or + <button string="Cancel" class="oe_link" special="cancel"/> + </footer> </form> </field> </record> diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py index 23eaef1b886..d76f682d9b6 100644 --- a/addons/hr_recruitment/__openerp__.py +++ b/addons/hr_recruitment/__openerp__.py @@ -39,7 +39,6 @@ You can define the different phases of interviews and easily rate the applicant 'website': 'http://www.openerp.com', 'images': ['images/hr_recruitment_analysis.jpeg','images/hr_recruitment_applicants.jpeg'], 'depends': [ - 'base_status', 'decimal_precision', 'hr', 'survey', diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index ce6f60669c4..b0db9232bd9 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -331,10 +331,8 @@ class hr_applicant(osv.Model): """ if custom_values is None: custom_values = {} val = msg.get('from').split('<')[0] - desc = html2plaintext(msg.get('body')) if msg.get('body') else '' defaults = { 'name': msg.get('subject') or _("No Subject"), - 'description': desc, 'partner_name':val, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 284ff06575f..9ba2772b92c 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -12,7 +12,7 @@ name="Meetings" res_model="crm.meeting" src_model="hr.applicant" - view_mode="tree,form,calendar,graph" + view_mode="calendar,tree,form,graph" view_type="form"/> <!-- Stage --> diff --git a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py index b0d4aebe09a..d2e778c38a4 100644 --- a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py +++ b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py @@ -66,8 +66,6 @@ class hr_recruitment_partner_create(osv.osv_memory): case_obj.write(cr, uid, [case.id], { 'partner_id': partner_id, }, context=context) - if data['close']: - case_obj.case_close(cr, uid, context['active_ids']) return { 'domain': "[]", diff --git a/addons/hr_timesheet/hr_timesheet.py b/addons/hr_timesheet/hr_timesheet.py index f49ad05f7a9..5baf8ec262b 100644 --- a/addons/hr_timesheet/hr_timesheet.py +++ b/addons/hr_timesheet/hr_timesheet.py @@ -29,7 +29,7 @@ class hr_employee(osv.osv): _name = "hr.employee" _inherit = "hr.employee" _columns = { - 'product_id': fields.many2one('product.product', 'Product', help="Specifies employee's designation as a product with type 'service'."), + 'product_id': fields.many2one('product.product', 'Product', help="If you want to reinvoice working time of employees, link this employee to a service to determinate the cost price of the job."), 'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal'), 'uom_id': fields.related('product_id', 'uom_id', type='many2one', relation='product.uom', string='Unit of Measure', store=True, readonly=True) } diff --git a/addons/l10n_in_hr_payroll/l10n_in_hr_payroll.py b/addons/l10n_in_hr_payroll/l10n_in_hr_payroll.py index fc715ece5b8..f0751684dba 100644 --- a/addons/l10n_in_hr_payroll/l10n_in_hr_payroll.py +++ b/addons/l10n_in_hr_payroll/l10n_in_hr_payroll.py @@ -44,7 +44,7 @@ class hr_contract(osv.osv): 'driver_salay': fields.boolean('Driver Salary', help="Check this box if you provide allowance for driver"), 'medical_insurance': fields.float('Medical Insurance', digits_compute=dp.get_precision('Payroll'), help="Deduction towards company provided medical insurance"), 'voluntary_provident_fund': fields.float('Voluntary Provident Fund (%)', digits_compute=dp.get_precision('Payroll'), help="VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government and VPF computed as percentage(%)"), - 'house_rent_allowance_metro_nonmetro': fields.float('House Rent Allowance (%)', digits_compute=dp.get_precision('Payroll'), help="HRA is an allowance given by the employer to the employee for taking care of his rental or accommodation expenses for metro city it is 50 % and for non metro 40%.HRA computed as percentage(%)"), + 'house_rent_allowance_metro_nonmetro': fields.float('House Rent Allowance (%)', digits_compute=dp.get_precision('Payroll'), help="HRA is an allowance given by the employer to the employee for taking care of his rental or accommodation expenses for metro city it is 50% and for non metro 40%. \nHRA computed as percentage(%)"), 'supplementary_allowance': fields.float('Supplementary Allowance', digits_compute=dp.get_precision('Payroll')), } diff --git a/addons/l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml b/addons/l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml index 51c63c730ff..d65f02a332b 100644 --- a/addons/l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml +++ b/addons/l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml @@ -92,7 +92,7 @@ <label for="Name" class="oe_edit_only" string="Name"/> <h2><field name="name"/></h2> <label for="date" class="oe_edit_only"/> - <h2><field name="date"/></h2> + <div><field name="date"/></div> <group colspan="3" col="6"> <field name="bank_id"/> <field name="number"/> diff --git a/addons/membership/membership.py b/addons/membership/membership.py index b75284637c9..98e47f853fe 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -328,13 +328,13 @@ class Partner(osv.osv): 'account.invoice': (_get_invoice_partner, ['state'], 10), 'membership.membership_line': (_get_partner_id, ['state'], 10), 'res.partner': (_get_partners, ['free_member', 'membership_state', 'associate_member'], 10) - }, help="""It indicates the membership state. - -Non Member: A partner who has not applied for any membership. - -Cancelled Member: A member who has cancelled his membership. - -Old Member: A member whose membership date has expired. - -Waiting Member: A member who has applied for the membership and whose invoice is going to be created. - -Invoiced Member: A member whose invoice has been created. - -Paying member: A member who has paid the membership fee."""), + }, help='It indicates the membership state.\n' + '-Non Member: A partner who has not applied for any membership.\n' + '-Cancelled Member: A member who has cancelled his membership.\n' + '-Old Member: A member whose membership date has expired.\n' + '-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n' + '-Invoiced Member: A member whose invoice has been created.\n' + '-Paying member: A member who has paid the membership fee.'), 'membership_start': fields.function( _membership_date, multi = 'membeship_start', string = 'Membership Start Date', type = 'date', diff --git a/addons/mrp/mrp_data.xml b/addons/mrp/mrp_data.xml index a6b65b7c475..48e623c532e 100644 --- a/addons/mrp/mrp_data.xml +++ b/addons/mrp/mrp_data.xml @@ -21,7 +21,7 @@ This application supports complete integration and production scheduling for sto <record id="sequence_mrp_prod" model="ir.sequence"> <field name="name">Production order</field> <field name="code">mrp.production</field> - <field name="prefix">MO/</field> + <field name="prefix">MO</field> <field name="padding">5</field> <field name="number_next">1</field> <field name="number_increment">1</field> diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 8d8693d317c..65f8b4e676d 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -189,7 +189,7 @@ <field name="time_stop" widget="float_time"/> </group> <group string="Costing Information"> - <field name="product_id" on_change="on_change_product_cost(product_id)"/> + <field name="product_id" on_change="on_change_product_cost(product_id)" context="{'default_supply_method':'produce'}"/> <field name="costs_hour"/> <field name="costs_hour_account_id" groups="analytic.group_analytic_accounting"/> <field name="costs_cycle"/> @@ -248,7 +248,7 @@ <field name="model">mrp.routing.workcenter</field> <field name="arch" type="xml"> <form string="Routing Work Centers" version="7.0"> - <group col="4" string="General Information"> + <group col="4"> <field colspan="4" name="name"/> <field name="sequence"/> <field name="workcenter_id"/> @@ -280,7 +280,7 @@ </group> <notebook> <page string="Work Center Operations"> - <field name="workcenter_lines"/> + <field name="workcenter_lines" string="Operation"/> </page> <page string="Notes"> <field name="note"/> @@ -973,7 +973,7 @@ <!-- Menu for Resource for MRP--> <record id="mrp_workcenter_action" model="ir.actions.act_window"> - <field name="name">Work Center</field> + <field name="name">Work Centers</field> <field name="type">ir.actions.act_window</field> <field name="res_model">mrp.workcenter</field> <field name="view_type">form</field> diff --git a/addons/mrp/res_config.py b/addons/mrp/res_config.py index 22a14addcd1..7343990a32f 100644 --- a/addons/mrp/res_config.py +++ b/addons/mrp/res_config.py @@ -36,7 +36,7 @@ class mrp_config_settings(osv.osv_memory): * Repair quotation report * Notes for the technician and for the final customer. This installs the module mrp_repair."""), - 'module_mrp_operations': fields.boolean("Allow detailed planning of work order", + 'module_mrp_operations': fields.boolean("Allow detailed planning of work orders", help="""This allows to add state, date_start,date_stop in production order operation lines (in the "Work Centers" tab). This installs the module mrp_operations."""), 'module_mrp_byproduct': fields.boolean("Produce several products from one manufacturing order", @@ -60,7 +60,7 @@ class mrp_config_settings(osv.osv_memory): help="""Routings allow you to create and manage the manufacturing operations that should be followed within your work centers in order to produce a product. They are attached to bills of materials that will define the required raw materials."""), - 'group_mrp_properties': fields.boolean("Allow several bill of materials per products using properties", + 'group_mrp_properties': fields.boolean("Allow several bill of materials per product using properties", implied_group='product.group_mrp_properties', help="""The selection of the right Bill of Material to use will depend on the properties specified on the sales order and the Bill of Material."""), 'module_product_manufacturer': fields.boolean("Define manufacturers on products ", diff --git a/addons/mrp/static/description/mrp_calendar.png b/addons/mrp/static/description/mrp_calendar.png Binary files differindex a2d52775a0e..b8afb51443b 100644 --- a/addons/mrp/static/description/mrp_calendar.png +++ b/addons/mrp/static/description/mrp_calendar.png diff --git a/addons/mrp/static/description/mrp_list.png b/addons/mrp/static/description/mrp_list.png Binary files differindex 5813c32e6b7..39b249fdcf2 100644 --- a/addons/mrp/static/description/mrp_list.png +++ b/addons/mrp/static/description/mrp_list.png diff --git a/addons/mrp/static/description/mrp_mo.png b/addons/mrp/static/description/mrp_mo.png Binary files differindex 6138973570f..90417cedf83 100644 --- a/addons/mrp/static/description/mrp_mo.png +++ b/addons/mrp/static/description/mrp_mo.png diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index f7b082db74b..9d812e06547 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -347,8 +347,9 @@ class mrp_repair(osv.osv): return self.write(cr,uid,ids,{'state':'cancel'}) def wkf_invoice_create(self, cr, uid, ids, *args): - return self.action_invoice_create(cr, uid, ids) - + self.action_invoice_create(cr, uid, ids) + return True + def action_invoice_create(self, cr, uid, ids, group=False, context=None): """ Creates invoice(s) for repair order. @param group: It is set to true when group invoice is to be generated. diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index a4526b5b581..b7a667ce308 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -31,7 +31,7 @@ <button name="repair_ready" states="confirmed,ready" string="Start Repair" class="oe_highlight"/> <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/> <button name="action_repair_end" states="under_repair" string="End Repair" class="oe_highlight"/> - <button name="action_invoice_create" states="2binvoiced" string="Make Invoice" class="oe_highlight"/> + <button name="action_invoice_create" states="2binvoiced" string="Create Invoice" class="oe_highlight"/> <button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/> <button name="invoice_corrected" states="invoice_except" string="Invoice Corrected"/> <button name="action_cancel" string="Cancel Repair" type="object" attrs="{'invisible':['|',('invoice_method','!=','none'), ('state', 'not in',('confirmed','2binvoiced','ready','under_repair', 'invoice_except'))]}"/> diff --git a/addons/mrp_repair/wizard/mrp_repair_make_invoice_view.xml b/addons/mrp_repair/wizard/mrp_repair_make_invoice_view.xml index 21d71064901..9c14728bc05 100644 --- a/addons/mrp_repair/wizard/mrp_repair_make_invoice_view.xml +++ b/addons/mrp_repair/wizard/mrp_repair_make_invoice_view.xml @@ -21,7 +21,7 @@ </field> </record> - <act_window name="Make Invoice" + <act_window name="Create Invoice" res_model="mrp.repair.make_invoice" src_model="mrp.repair" view_mode="form" diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index ab827c08ad8..e743a9323e4 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -1352,7 +1352,7 @@ class product_product(osv.osv): 'expense_pdt': fields.boolean('Point of Sale Cash Out', help="Check if, this is a product you can use to take cash from a statement for the point of sale backend, example: money lost, transfer to bank, etc."), 'available_in_pos': fields.boolean('Available in the Point of Sale', help='Check if you want this product to appear in the Point of Sale'), 'pos_categ_id': fields.many2one('pos.category','Point of Sale Category', - help="The Point of Sale Category this products belongs to. Those categories are used to group similar products and are specific to the Point of Sale."), + help="These products belong to those categories that are used to group similar products and are specific to the Point of Sale."), 'to_weight' : fields.boolean('To Weight', help="Check if the product should be weighted (mainly used with self check-out interface)."), } diff --git a/addons/product_manufacturer/product_manufacturer_view.xml b/addons/product_manufacturer/product_manufacturer_view.xml index 88f528693df..fb4aac965d6 100644 --- a/addons/product_manufacturer/product_manufacturer_view.xml +++ b/addons/product_manufacturer/product_manufacturer_view.xml @@ -9,7 +9,7 @@ <field name="arch" type="xml"> <group name="procurement" position="inside"> <group string="Manufacturer"> - <field name="manufacturer" /> + <field name="manufacturer" context="{'default_supplier':True, 'default_customer':False}"/> <field name="manufacturer_pname"/> <field name="manufacturer_pref"/> </group> diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index d41144253dd..723f362ab4c 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -37,7 +37,6 @@ It allows the manager to quickly check the issues, assign them and decide on the 'website': 'http://www.openerp.com', 'images': ['images/issue_analysis.jpeg','images/project_issue.jpeg'], 'depends': [ - 'base_status', 'crm', 'project', ], diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index bf13b07b825..f23f6b6a286 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -467,7 +467,6 @@ class project_issue(osv.Model): self.pool.get('project.task').write(cr, uid, [case.task_id.id], {'project_id': data['project_id'], 'user_id': False}) else: raise osv.except_osv(_('Warning!'), _('You cannot escalate this issue.\nThe relevant Project has not configured the Escalation Project!')) - self.case_set(cr, uid, ids, 'draft', data, context=context) return True # ------------------------------------------------------- @@ -496,21 +495,19 @@ class project_issue(osv.Model): through message_process. This override updates the document according to the email. """ - if custom_values is None: custom_values = {} - if context is None: context = {} + if custom_values is None: + custom_values = {} + if context is None: + context = {} context['state_to'] = 'draft' - - desc = html2plaintext(msg.get('body')) if msg.get('body') else '' - defaults = { 'name': msg.get('subject') or _("No Subject"), - 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'partner_id': msg.get('author_id', False), 'user_id': False, } - if msg.get('priority'): + if msg.get('priority'): defaults['priority'] = msg.get('priority') defaults.update(custom_values) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 77151026765..94a6f9fe7ab 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -199,9 +199,9 @@ class purchase_order(osv.osv): 'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'), 'invoice_method': fields.selection([('manual','Based on Purchase Order lines'),('order','Based on generated draft invoice'),('picking','Based on incoming shipments')], 'Invoicing Control', required=True, readonly=True, states={'draft':[('readonly',False)], 'sent':[('readonly',False)]}, - help="Based on Purchase Order lines: place individual lines in 'Invoice Control > Based on P.O. lines' from where you can selectively create an invoice.\n" \ + help="Based on Purchase Order lines: place individual lines in 'Invoice Control / On Purchase Order lines' from where you can selectively create an invoice.\n" \ "Based on generated invoice: create a draft invoice you can validate later.\n" \ - "Bases on incoming shipments: let you create an invoice when receptions are validated." + "Based on incoming shipments: let you create an invoice when receptions are validated." ), 'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, string='Expected Date', type='date', select=True, help="This is computed as the minimum scheduled date of all purchase order lines' products.", store = { diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index c5d32136a7a..df73887cc42 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -37,7 +37,7 @@ class purchase_requisition(osv.osv): 'date_start': fields.datetime('Requisition Date'), 'date_end': fields.datetime('Requisition Deadline'), 'user_id': fields.many2one('res.users', 'Responsible'), - 'exclusive': fields.selection([('exclusive','Purchase Requisition (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', required=True, help="Purchase Requisition (exclusive): On the confirmation of a purchase order, it cancels the remaining purchase order.\nPurchase Requisition(Multiple): It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""), + 'exclusive': fields.selection([('exclusive','Purchase Requisition (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', required=True, help="Purchase Requisition (exclusive): On the confirmation of a purchase order, it cancels the remaining purchase order.\nMultiple Requisitions: It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""), 'description': fields.text('Description'), 'company_id': fields.many2one('res.company', 'Company', required=True), 'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders',states={'done': [('readonly', True)]}), diff --git a/addons/sale/security/sale_security.xml b/addons/sale/security/sale_security.xml index 557562275d7..710fbdcc207 100644 --- a/addons/sale/security/sale_security.xml +++ b/addons/sale/security/sale_security.xml @@ -36,6 +36,7 @@ <record id="group_mrp_properties" model="res.groups"> <field name="name">Properties on lines</field> + <field name="users" eval="[(4, ref('base.user_root'))]"/> <field name="category_id" ref="base.module_category_hidden"/> </record> diff --git a/addons/sale/wizard/sale_line_invoice.xml b/addons/sale/wizard/sale_line_invoice.xml index 70693215be0..6be23e18de5 100644 --- a/addons/sale/wizard/sale_line_invoice.xml +++ b/addons/sale/wizard/sale_line_invoice.xml @@ -22,7 +22,7 @@ </record> <record id="action_view_sale_order_line_make_invoice" model="ir.actions.act_window"> - <field name="name">Make Invoices</field> + <field name="name">Create Invoice</field> <field name="type">ir.actions.act_window</field> <field name="res_model">sale.order.line.make.invoice</field> <field name="view_type">form</field> diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 3f7ac28c900..b8f6249d744 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -312,6 +312,7 @@ class sale_order(osv.osv): 'move_id': move_id, 'company_id': order.company_id.id, 'note': line.name, + 'property_ids': [(6, 0, [x.id for x in line.property_ids])], } def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, context=None): |
