[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]]
+ [[ display_address(o.address_invoice_id) ]]
@@ -198,7 +194,7 @@
Origin
- Your Reference
+ Customer Code
diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml
index 5c4c9a0a525..c928ff3c8fe 100644
--- a/addons/account/security/account_security.xml
+++ b/addons/account/security/account_security.xml
@@ -49,13 +49,6 @@
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
-
- Analytic journal multi-company
-
-
- ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
-
-
Period multi-company
diff --git a/addons/account_accountant/__openerp__.py b/addons/account_accountant/__openerp__.py
index d808a38fa18..e1a7deac608 100644
--- a/addons/account_accountant/__openerp__.py
+++ b/addons/account_accountant/__openerp__.py
@@ -19,10 +19,10 @@
#
##############################################################################
{
- "name" : "Accountant Access",
+ "name" : "Accounting and Finance",
"version" : "1.1",
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Accounting Access Rights.
@@ -45,6 +45,7 @@ user rights to Demo user.
'test': [],
'installable': True,
'active': False,
+ 'core': True,
'certificate': '00395091383933390541',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_accountant/i18n/az.po b/addons/account_accountant/i18n/az.po
new file mode 100644
index 00000000000..ede1216401d
--- /dev/null
+++ b/addons/account_accountant/i18n/az.po
@@ -0,0 +1,37 @@
+# Azerbaijani translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-12-06 05:22+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Azerbaijani \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: account_accountant
+#: model:ir.module.module,description:account_accountant.module_meta_information
+msgid ""
+"\n"
+"This module gives the admin user the access to all the accounting features "
+"like the journal\n"
+"items and the chart of accounts.\n"
+" "
+msgstr ""
+"\n"
+"Bu modul jurnal yazıları, hesab qrafikləri kimi mühasibat uçotu "
+"funksiyalarına idarəçilik imkanı verir.\n"
+" "
+
+#. module: account_accountant
+#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
+msgid "Accountant"
+msgstr "Mühasib"
diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py
index 32642caf49c..9b6aef181bc 100644
--- a/addons/account_analytic_analysis/__openerp__.py
+++ b/addons/account_analytic_analysis/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name' : 'Sales Contract Management',
+ 'name' : 'Contracts Management',
'version' : '1.1',
'category' : 'Sales Management',
'complexity': "normal",
@@ -46,6 +46,7 @@ user-wise as well as month wise.
],
'demo_xml' : [],
'installable': True,
+ 'core': True,
'active' : False,
'certificate': '0042927202589',
}
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py
index 36d62e32e63..2043c054420 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis.py
+++ b/addons/account_analytic_analysis/account_analytic_analysis.py
@@ -406,25 +406,25 @@ class account_analytic_account(osv.osv):
'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue',
help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.",
digits_compute=dp.get_precision('Account')),
- 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Hours Tot',
- help="Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type 'general'."),
+ 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Duration',
+ help="Number of time you spent on the analytic account (from timesheet). It computes quantities on all journal of type 'general'."),
'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date',
help="If invoice from the costs, this is the date of the latest invoiced."),
'last_worked_invoiced_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Invoiced Cost',
help="If invoice from the costs, this is the date of the latest work or cost that have been invoiced."),
'last_worked_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Cost/Work',
help="Date of the latest work done on this account."),
- 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Hours',
- help="Number of hours (from journal of type 'general') that can be invoiced if you invoice based on analytic account."),
- 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Hours',
- help="Number of hours that can be invoiced plus those that already have been invoiced."),
- 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Hours',
- help="Computed using the formula: Maximum Quantity - Hours Tot."),
+ 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Time',
+ help="Number of time (hours/days) (from journal of type 'general') that can be invoiced if you invoice based on analytic account."),
+ 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Time',
+ help="Number of time (hours/days) that can be invoiced plus those that already have been invoiced."),
+ 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time',
+ help="Computed using the formula: Maximum Duration - Total Time"),
'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue',
help="Computed using the formula: Max Invoice Price - Invoiced Amount.",
digits_compute=dp.get_precision('Account')),
- 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Hours (real)',
- help="Computed using the formula: Invoiced Amount / Hours Tot.",
+ 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Time (real)',
+ help="Computed using the formula: Invoiced Amount / Total Duration",
digits_compute=dp.get_precision('Account')),
'real_margin': fields.function(_real_margin_calc, type='float', string='Real Margin',
help="Computed using the formula: Invoiced Amount - Total Costs.",
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index c59717e8ad4..bae5a8b770c 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -117,8 +117,8 @@
-
+
diff --git a/addons/account_analytic_default/__openerp__.py b/addons/account_analytic_default/__openerp__.py
index e46f285d9c6..a842275cdee 100644
--- a/addons/account_analytic_default/__openerp__.py
+++ b/addons/account_analytic_default/__openerp__.py
@@ -22,7 +22,7 @@
{
'name' : 'Account Analytic Defaults',
'version' : '1.0',
- 'category' : 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
'description': """Set default values for your analytic accounts
Allows to automatically select analytic accounts based on criterions:
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index f3d00b08893..e7fd5a52efd 100644
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -49,6 +49,7 @@
],
"active": False,
"installable": True,
+ "core": True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index d28579a6c1a..e986ef4bf0d 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -32,11 +32,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -317,7 +317,7 @@
Review Asset Categoriesaccount.asset.categoryform
- form
+ tree,form
diff --git a/addons/account_asset/i18n/es_AR.po b/addons/account_asset/i18n/es_AR.po
new file mode 100644
index 00000000000..9102ec58885
--- /dev/null
+++ b/addons/account_asset/i18n/es_AR.po
@@ -0,0 +1,529 @@
+# Spanish (Argentina) translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2011-11-30 23:41+0000\n"
+"Last-Translator: Gustavo Earnshaw \n"
+"Language-Team: Spanish (Argentina) \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-12-02 04:47+0000\n"
+"X-Generator: Launchpad (build 14414)\n"
+
+#. 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 "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr "valor de activos"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent 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/account_cancel/__openerp__.py b/addons/account_cancel/__openerp__.py
index ac73a2b8c31..647146f98fb 100644
--- a/addons/account_cancel/__openerp__.py
+++ b/addons/account_cancel/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "Cancel Entries",
"version" : "1.1",
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Allows cancelling accounting entries.
diff --git a/addons/account_chart/__openerp__.py b/addons/account_chart/__openerp__.py
index 948f13b5dcb..d476eb1f443 100644
--- a/addons/account_chart/__openerp__.py
+++ b/addons/account_chart/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Charts of Accounts',
+ 'name': 'Template of Charts of Accounts',
'version': '1.1',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'description': """
Remove minimal account chart.
=============================
diff --git a/addons/account_coda/__openerp__.py b/addons/account_coda/__openerp__.py
index dd604e41aca..a51a9a1ede7 100644
--- a/addons/account_coda/__openerp__.py
+++ b/addons/account_coda/__openerp__.py
@@ -20,10 +20,10 @@
##############################################################################
{
- "name" : "Account CODA - import bank statements from coda file",
+ "name" : "CODA Bank Statements",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Module provides functionality to import bank statements from coda files.
diff --git a/addons/account_invoice_layout/__openerp__.py b/addons/account_invoice_layout/__openerp__.py
index 557f3c2e02c..cff01fa768b 100644
--- a/addons/account_invoice_layout/__openerp__.py
+++ b/addons/account_invoice_layout/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Improve Invoice Layout',
+ 'name': 'Invoice Layouts',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module provides some features to improve the layout of the invoices.
diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml
index c2dc0e036bb..6a8a286b66c 100644
--- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml
+++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml
@@ -193,11 +193,7 @@
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]]
+ [[ display_address(o.address_invoice_id) ]]
@@ -235,7 +231,7 @@
Origin
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]]
+ [[ display_address(o.address_invoice_id) ]]
diff --git a/addons/account_sequence/__openerp__.py b/addons/account_sequence/__openerp__.py
index 31d4f373e2f..7ad66a5b428 100644
--- a/addons/account_sequence/__openerp__.py
+++ b/addons/account_sequence/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Entries Sequence Numbering',
'version': '1.1',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module maintains internal sequence number for accounting entries.
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
index 5e6e6ab0513..3e145272a14 100644
--- a/addons/account_voucher/__openerp__.py
+++ b/addons/account_voucher/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name" : "Accounting Voucher Entries",
+ "name" : "eInvoicing & Payments",
"version" : "1.0",
"author" : 'OpenERP SA',
'complexity': "normal",
@@ -32,7 +32,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
* Voucher Receipt
* Cheque Register
""",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
"website" : "http://tinyerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
@@ -68,6 +68,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
],
'certificate': '0037580727101',
"active": False,
+ "core": True,
"installable": True,
}
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index fd6dac9f90d..0de84a82ce0 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -958,6 +958,7 @@ class account_voucher(osv.osv):
'debit': diff < 0 and -diff or 0.0,
'amount_currency': company_currency <> current_currency and voucher_brw.writeoff_amount or False,
'currency_id': company_currency <> current_currency and current_currency or False,
+ 'analytic_account_id': voucher_brw.analytic_id and voucher_brw.analytic_id.id or False,
}
return move_line
diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py
index 65f6588a1e3..4e10e243d61 100644
--- a/addons/analytic/__openerp__.py
+++ b/addons/analytic/__openerp__.py
@@ -24,7 +24,7 @@
"version": "1.1",
"author" : "OpenERP SA",
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
"depends" : ["base", "decimal_precision"],
"description": """
Module for defining analytic accounting object.
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 114653d473e..3ea5cec848a 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -161,7 +161,7 @@ class account_analytic_account(osv.osv):
'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
- 'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'),
+ 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of quantity of hours.'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'contact_id': fields.many2one('res.partner.address', 'Contact'),
'user_id': fields.many2one('res.users', 'Account Manager'),
@@ -242,6 +242,13 @@ class account_analytic_account(osv.osv):
res['value']['partner_id'] = partner
return res
+ def onchange_partner_id(self, cr, uid, ids, partner, context=None):
+ partner_obj = self.pool.get('res.partner')
+ if not partner:
+ return {'value':{'contact_id': False}}
+ address = partner_obj.address_get(cr, uid, [partner], ['contact'])
+ return {'value':{'contact_id': address['contact']}}
+
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
diff --git a/addons/analytic_journal_billing_rate/__openerp__.py b/addons/analytic_journal_billing_rate/__openerp__.py
index 059e85d9367..f29e19147d1 100644
--- a/addons/analytic_journal_billing_rate/__openerp__.py
+++ b/addons/analytic_journal_billing_rate/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Analytic Journal Billing Rate, Define the default invoicing rate for a specific journal',
+ 'name': 'Billing Rates on Contracts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows you to define what is the default invoicing rate for a specific journal on a given account.
==============================================================================================================
diff --git a/addons/analytic_user_function/__openerp__.py b/addons/analytic_user_function/__openerp__.py
index bb3ca084be7..d7f97c1b158 100644
--- a/addons/analytic_user_function/__openerp__.py
+++ b/addons/analytic_user_function/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Human Resources',
+ 'name': 'Jobs on Contracts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows you to define what is the default function of a specific user on a given account.
====================================================================================================
diff --git a/addons/anonymization/__openerp__.py b/addons/anonymization/__openerp__.py
index ed22530c6bc..91b6686c621 100644
--- a/addons/anonymization/__openerp__.py
+++ b/addons/anonymization/__openerp__.py
@@ -24,7 +24,7 @@
{
'name': 'Database Anonymization',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
This module allows you to anonymize a database.
diff --git a/addons/association/__openerp__.py b/addons/association/__openerp__.py
index 3dc6c03f94e..c67867d1627 100644
--- a/addons/association/__openerp__.py
+++ b/addons/association/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Association profile',
+ 'name': 'Associations Management',
'version': '0.1',
'category': 'Specific Industry Applications',
'complexity': "normal",
@@ -37,6 +37,7 @@ It installs the profile for associations to manage events, registrations, member
'demo_xml': [],
'installable': True,
'active': False,
+ 'core': True,
'certificate': '0078696047261',
'images': ['images/association1.jpeg'],
}
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index 8ce97cb2e43..5f81769eb1a 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -6,7 +6,6 @@
id="base.menu_association"
icon="terp-calendar"
sequence="9"
- groups="base.group_extended"
web_icon="images/association.png"
web_icon_hover="images/association-hover.png"/>
diff --git a/addons/auction/__openerp__.py b/addons/auction/__openerp__.py
index 3f6c6c35e31..0475890e1e9 100644
--- a/addons/auction/__openerp__.py
+++ b/addons/auction/__openerp__.py
@@ -68,6 +68,7 @@ The dashboard for auction includes:
],
'installable': True,
+ 'auction': True,
'active': False,
'certificate': '0039333102717',
'images': ['images/auction1.jpeg','images/auction2.jpeg','images/auction3.jpeg'],
diff --git a/addons/auction/report/buyer_form_report.rml b/addons/auction/report/buyer_form_report.rml
index c917a931fd3..3421bf27d12 100644
--- a/addons/auction/report/buyer_form_report.rml
+++ b/addons/auction/report/buyer_form_report.rml
@@ -99,9 +99,7 @@
[[ o['partner'] and o['partner'].name or False]]
- [[o['partner'] and o['partner'].address[0].street or False]]
- [[o['partner'] and o['partner'].address[0].zip or False]][[o['partner'] and o['partner'].address[0].city or False]]
- [[o['partner'] and o['partner'].address[0].country_id.name or False]]
+ [[o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) ]]
[[ o['partner'] and o['partner'].name or False]]
- [[o['partner'] and o['partner'].address[0].street or False]]
- [[o['partner'] and o['partner'].address[0].zip or False]][[o['partner'] and o['partner'].address[0].city or False]]
- [[o['partner'] and o['partner'].address[0].country_id.name or False]]
+ [[ o['partner'] and o['partner'].address and display_address(o['partner'].address[0])
diff --git a/addons/audittrail/__openerp__.py b/addons/audittrail/__openerp__.py
index 7d2a5955ac0..5bfd023ac39 100644
--- a/addons/audittrail/__openerp__.py
+++ b/addons/audittrail/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Audit Trail',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module lets administrator track every user operation on all the objects of the system.
===========================================================================================
diff --git a/addons/auth_openid/__openerp__.py b/addons/auth_openid/__openerp__.py
index 040a96a3995..6fa802b94e3 100644
--- a/addons/auth_openid/__openerp__.py
+++ b/addons/auth_openid/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'OpenID',
+ 'name': 'OpenID Authentification',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """Allow users to login through OpenID.""",
'author': 'OpenERP s.a.',
'maintainer': 'OpenERP s.a.',
diff --git a/addons/base_action_rule/__openerp__.py b/addons/base_action_rule/__openerp__.py
index 18af8d09459..a8788bdddcb 100644
--- a/addons/base_action_rule/__openerp__.py
+++ b/addons/base_action_rule/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Action Rule',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows to implement action rules for any object.
============================================================
diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py
index 0dd72a17038..6edb978301f 100644
--- a/addons/base_calendar/__openerp__.py
+++ b/addons/base_calendar/__openerp__.py
@@ -34,7 +34,7 @@ It supports:
- Recurring events
- Invitations to people""",
"author" : "OpenERP SA",
- 'category': 'Hidden',
+ 'category': 'Tools',
'website': 'http://www.openerp.com',
"init_xml" : [
'base_calendar_data.xml'
diff --git a/addons/crm/test/test_crm_recurrent_meeting_case2.yml b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml
similarity index 100%
rename from addons/crm/test/test_crm_recurrent_meeting_case2.yml
rename to addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml
diff --git a/addons/base_contact/__openerp__.py b/addons/base_contact/__openerp__.py
index 5537d6f91eb..f5969b6e309 100644
--- a/addons/base_contact/__openerp__.py
+++ b/addons/base_contact/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Base Contact',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'complexity': "expert",
'description': """
This module allows you to manage your contacts entirely.
diff --git a/addons/base_contact/i18n/ar.po b/addons/base_contact/i18n/ar.po
index 6264b1aa32d..e5610421181 100644
--- a/addons/base_contact/i18n/ar.po
+++ b/addons/base_contact/i18n/ar.po
@@ -7,104 +7,104 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2009-02-03 06:25+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-12-03 15:19+0000\n"
+"Last-Translator: kifcaliph \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:04+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-04 04:43+0000\n"
+"X-Generator: Launchpad (build 14418)\n"
#. module: base_contact
#: field:res.partner.contact,title:0
msgid "Title"
-msgstr ""
+msgstr "اللقب"
#. module: base_contact
#: view:res.partner.address:0
msgid "# of Contacts"
-msgstr ""
+msgstr "عدد جهات الاتصال"
#. module: base_contact
#: field:res.partner.job,fax:0
msgid "Fax"
-msgstr ""
+msgstr "فاكس"
#. module: base_contact
#: view:base.contact.installer:0
msgid "title"
-msgstr ""
+msgstr "الاسم"
#. module: base_contact
#: help:res.partner.job,date_start:0
msgid "Start date of job(Joining Date)"
-msgstr ""
+msgstr "تاريخ الالتحاق بالوظيفة"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Select the Option for Addresses Migration"
-msgstr ""
+msgstr "حدد الخيار لنقل العناوين"
#. module: base_contact
#: help:res.partner.job,function:0
msgid "Function of this contact with this partner"
-msgstr ""
+msgstr "مهمة جهة الاتصال هذه عند هذا الشريك"
#. module: base_contact
#: help:res.partner.job,state:0
msgid "Status of Address"
-msgstr ""
+msgstr "حالة العنوان"
#. module: base_contact
#: help:res.partner.job,name:0
msgid ""
"You may enter Address first,Partner will be linked "
"automatically if any."
-msgstr ""
+msgstr "يمكنك إدخال العنوان أولاً، وسيتمّ ربط الشريك تلقائياً إن وُجِد."
#. module: base_contact
#: help:res.partner.job,fax:0
msgid "Job FAX no."
-msgstr ""
+msgstr "فاكس العمل"
#. module: base_contact
#: field:res.partner.contact,mobile:0
msgid "Mobile"
-msgstr ""
+msgstr "الجوال"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,comment:0
msgid "Notes"
-msgstr ""
+msgstr "ملاحظات"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_contacts0
msgid "People you work with."
-msgstr ""
+msgstr "أشخاص تعمل معهم."
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
msgid "Define functions and address."
-msgstr ""
+msgstr "تعريف المهام والعنوان"
#. module: base_contact
#: help:res.partner.job,date_stop:0
msgid "Last date of job"
-msgstr ""
+msgstr "تاريخ ترك الوظيفة"
#. module: base_contact
#: view:base.contact.installer:0
#: field:base.contact.installer,migrate:0
msgid "Migrate"
-msgstr ""
+msgstr "نقل"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.job,name:0
msgid "Partner"
-msgstr ""
+msgstr "الشريك"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_function0
@@ -114,12 +114,12 @@ msgstr ""
#. module: base_contact
#: model:process.node,name:base_contact.process_node_partners0
msgid "Partners"
-msgstr ""
+msgstr "الشركاء"
#. module: base_contact
#: field:res.partner.job,state:0
msgid "State"
-msgstr ""
+msgstr "المحافظة"
#. module: base_contact
#: help:res.partner.contact,active:0
@@ -151,27 +151,42 @@ msgid ""
"an other object.\n"
" "
msgstr ""
+"\n"
+" تمكنك هذه الوحدة البرمجية من إدارة جهات الاتصال بشكل كامل.\n"
+" فهي تسمح لك بـتعرف:\n"
+" * جهات اتصال غير ذات صلة بشريك،\n"
+" * جهات اتصال ذات عناوين عمل متعددة (ربما لارتباطها بشركاء مختلفين)،\n"
+" * جهات اتصال ذات مهام مختلفة لكل عنوان من عناوين وظائفها\n"
+"\n"
+" كذلك تضيف هذه الوحدة البرمجية عناصر جديدة إلى القائمة تحت\n"
+" الشركاء / جهات الاتصال\n"
+" الشركاء / المهام\n"
+"\n"
+" تنبه إلى أن هذه الوحدة البرمجية تقوم بتحويل العناوين الموجودة مسبقاً إلى "
+"\"عناوين\" و \"جهات اتصال\"، مما يعني أن بعض حقول العناوين سيتم حذفها (مثل "
+"اسم جهة الاتصال) لأنه من المفترض أن يتم تعريفها في كائن آخر.\n"
+" "
#. module: base_contact
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
#: model:process.process,name:base_contact.process_process_basecontactprocess0
msgid "Base Contact"
-msgstr ""
+msgstr "جهة الاتصال الأساسية"
#. module: base_contact
#: field:res.partner.job,date_stop:0
msgid "Date Stop"
-msgstr ""
+msgstr "تاريخ التوقف"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
msgid "Contact's Jobs"
-msgstr ""
+msgstr "الوظائف"
#. module: base_contact
#: view:res.partner:0
msgid "Categories"
-msgstr ""
+msgstr "الفئات"
#. module: base_contact
#: help:res.partner.job,sequence_partner:0
@@ -179,70 +194,72 @@ msgid ""
"Order of importance of this job title in the list of job "
"title of the linked partner"
msgstr ""
+"ترتيب المسمى الوظيفي هذا حسب الأهمية بين المسميات الوظيغية المستخدمة لدى "
+"الشريك"
#. module: base_contact
#: field:res.partner.job,extension:0
msgid "Extension"
-msgstr ""
+msgstr "الامتداد"
#. module: base_contact
#: help:res.partner.job,extension:0
msgid "Internal/External extension phone number"
-msgstr ""
+msgstr "امتداد رقم الهاتف الداخلي/الخارجي"
#. module: base_contact
#: help:res.partner.job,phone:0
msgid "Job Phone no."
-msgstr ""
+msgstr "هاتف العمل"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,job_ids:0
msgid "Functions and Addresses"
-msgstr ""
+msgstr "المهام والعناوين"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_contact
#: field:res.partner.job,contact_id:0
msgid "Contact"
-msgstr ""
+msgstr "جهة الاتصال"
#. module: base_contact
#: help:res.partner.job,email:0
msgid "Job E-Mail"
-msgstr ""
+msgstr "البريد الإلكتروني للعمل"
#. module: base_contact
#: field:res.partner.job,sequence_partner:0
msgid "Partner Seq."
-msgstr ""
+msgstr "رقم الشريك"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
msgid "Function to address"
-msgstr ""
+msgstr "مهمة إلى عنوان"
#. module: base_contact
#: field:base.contact.installer,progress:0
msgid "Configuration Progress"
-msgstr ""
+msgstr "سير الإعدادات"
#. module: base_contact
#: field:res.partner.contact,name:0
msgid "Last Name"
-msgstr ""
+msgstr "اسم العائلة"
#. module: base_contact
#: view:res.partner:0
#: view:res.partner.contact:0
msgid "Communication"
-msgstr ""
+msgstr "التواصل"
#. module: base_contact
#: field:base.contact.installer,config_logo:0
#: field:res.partner.contact,photo:0
msgid "Image"
-msgstr ""
+msgstr "صورة"
#. module: base_contact
#: selection:res.partner.job,state:0
@@ -252,7 +269,7 @@ msgstr ""
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_address
msgid "Partner Addresses"
-msgstr ""
+msgstr "عناوين الشريك"
#. module: base_contact
#: view:base.contact.installer:0
@@ -262,12 +279,12 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,sequence_contact:0
msgid "Contact Seq."
-msgstr ""
+msgstr "رقم جهة الاتصال"
#. module: base_contact
#: view:res.partner.address:0
msgid "Search Contact"
-msgstr ""
+msgstr "بحث جهة الإتصال"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
@@ -277,7 +294,7 @@ msgstr ""
#: view:res.partner:0
#: field:res.partner.address,job_ids:0
msgid "Contacts"
-msgstr ""
+msgstr "جهات الاتصال"
#. module: base_contact
#: view:base.contact.installer:0
@@ -289,58 +306,58 @@ msgstr ""
#. module: base_contact
#: model:process.node,note:base_contact.process_node_addresses0
msgid "Working and private addresses."
-msgstr ""
+msgstr "عناوين العمل والعناوين الخاصة"
#. module: base_contact
#: help:res.partner.job,address_id:0
msgid "Address which is linked to the Partner"
-msgstr ""
+msgstr "العنوان المرتبط بالشريك"
#. module: base_contact
#: field:res.partner.job,function:0
msgid "Partner Function"
-msgstr ""
+msgstr "مهمة الشريك"
#. module: base_contact
#: help:res.partner.job,other:0
msgid "Additional phone field"
-msgstr ""
+msgstr "حقل هاتف إضافي"
#. module: base_contact
#: field:res.partner.contact,website:0
msgid "Website"
-msgstr ""
+msgstr "الموقع الإلكتروني"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Otherwise these details will not be visible from address/contact."
-msgstr ""
+msgstr "وإلا فلن تظهر هذه التفاصيل في العنوان/جهة الاتصال."
#. module: base_contact
#: view:base.contact.installer:0
msgid "Configure"
-msgstr ""
+msgstr "ضبط الإعدادات"
#. module: base_contact
#: field:res.partner.contact,email:0
#: field:res.partner.job,email:0
msgid "E-Mail"
-msgstr ""
+msgstr "البريد الإلكتروني"
#. module: base_contact
#: model:ir.model,name:base_contact.model_base_contact_installer
msgid "base.contact.installer"
-msgstr ""
+msgstr "base.contact.installer"
#. module: base_contact
#: view:res.partner.job:0
msgid "Contact Functions"
-msgstr ""
+msgstr "مهام جهة الاتصال"
#. module: base_contact
#: field:res.partner.job,phone:0
msgid "Phone"
-msgstr ""
+msgstr "هاتف"
#. module: base_contact
#: view:base.contact.installer:0
@@ -350,164 +367,164 @@ msgstr ""
#. module: base_contact
#: field:res.partner.contact,active:0
msgid "Active"
-msgstr ""
+msgstr "نشِط"
#. module: base_contact
#: field:res.partner.contact,function:0
msgid "Main Function"
-msgstr ""
+msgstr "المهمة الرئيسية"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
msgid "Define partners and their addresses."
-msgstr ""
+msgstr "تعريف الشركاء وعناوينهم"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Seq."
-msgstr ""
+msgstr "رقم"
#. module: base_contact
#: field:res.partner.contact,lang_id:0
msgid "Language"
-msgstr ""
+msgstr "اللغة"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Extra Information"
-msgstr ""
+msgstr "معلومات إضافية"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_partners0
msgid "Companies you work with."
-msgstr ""
+msgstr "الشركات التي تتعامل معها."
#. module: base_contact
#: view:res.partner.contact:0
msgid "Partner Contact"
-msgstr ""
+msgstr "جهة الاتصال بالشريك"
#. module: base_contact
#: view:res.partner.contact:0
msgid "General"
-msgstr ""
+msgstr "عام"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Photo"
-msgstr ""
+msgstr "صورة"
#. module: base_contact
#: field:res.partner.contact,birthdate:0
msgid "Birth Date"
-msgstr ""
+msgstr "تاريخ الميلاد"
#. module: base_contact
#: help:base.contact.installer,migrate:0
msgid "If you select this, all addresses will be migrated."
-msgstr ""
+msgstr "إذا اخترت هذا الخيار، سيتم نقل جميع العناوين."
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Current"
-msgstr ""
+msgstr "الحالي"
#. module: base_contact
#: field:res.partner.contact,first_name:0
msgid "First Name"
-msgstr ""
+msgstr "الاسم الأول"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_job
msgid "Contact Partner Function"
-msgstr ""
+msgstr "مهمة الشريك"
#. module: base_contact
#: field:res.partner.job,other:0
msgid "Other"
-msgstr ""
+msgstr "غير ذلك"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_function0
msgid "Function"
-msgstr ""
+msgstr "المهمة"
#. module: base_contact
#: field:res.partner.address,job_id:0
#: field:res.partner.contact,job_id:0
msgid "Main Job"
-msgstr ""
+msgstr "الوظيفة الرئيسية"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
msgid "Defines contacts and functions."
-msgstr ""
+msgstr "تعريف جهات الاتصال والمهام."
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
msgid "Contact to function"
-msgstr ""
+msgstr "جهة اتصال إلى مهمة"
#. module: base_contact
#: view:res.partner:0
#: field:res.partner.job,address_id:0
msgid "Address"
-msgstr ""
+msgstr "العنوان"
#. module: base_contact
#: field:res.partner.contact,country_id:0
msgid "Nationality"
-msgstr ""
+msgstr "الجنسية"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
msgid "Open Jobs"
-msgstr ""
+msgstr "الوظائف المفتوحة"
#. module: base_contact
#: field:base.contact.installer,name:0
msgid "Name"
-msgstr ""
+msgstr "الاسم"
#. module: base_contact
#: view:base.contact.installer:0
msgid "You can migrate Partner's current addresses to the contact."
-msgstr ""
+msgstr "يمكنك نقل العناوين الحالية للشريك إلى جهة الاتصال"
#. module: base_contact
#: field:res.partner.contact,partner_id:0
msgid "Main Employer"
-msgstr ""
+msgstr "صاحب العمل الرئيسي"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer
msgid "Address Migration"
-msgstr ""
+msgstr "نقل العنوان"
#. module: base_contact
#: view:res.partner:0
msgid "Postal Address"
-msgstr ""
+msgstr "العنوان البريدي"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_addresses0
#: view:res.partner:0
msgid "Addresses"
-msgstr ""
+msgstr "العناوين"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
msgid "Partner to address"
-msgstr ""
+msgstr "شريك إلى عنوان"
#. module: base_contact
#: field:res.partner.job,date_start:0
msgid "Date Start"
-msgstr ""
+msgstr "تاريخ البدء"
#. module: base_contact
#: help:res.partner.job,sequence_contact:0
msgid ""
"Order of importance of this address in the list of "
"addresses of the linked contact"
-msgstr ""
+msgstr "ترتيب هذا العنوان حسب الأهمية بين عناوين جهة الاتصال"
diff --git a/addons/base_crypt/__openerp__.py b/addons/base_crypt/__openerp__.py
index 23e29420036..fc85100b41c 100644
--- a/addons/base_crypt/__openerp__.py
+++ b/addons/base_crypt/__openerp__.py
@@ -19,12 +19,12 @@
#
##############################################################################
{
- "name" : "Base - Password Encryption",
+ "name" : "DB Password Encryption",
"version" : "1.1",
"author" : ['OpenERP SA', "FS3"],
"maintainer" : "OpenERP SA",
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"description": """
Replaces cleartext passwords in the database with a secure hash
diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py
index c9bc3866b4f..2692e63e55d 100644
--- a/addons/base_iban/__openerp__.py
+++ b/addons/base_iban/__openerp__.py
@@ -19,9 +19,9 @@
#
##############################################################################
{
- 'name': 'Create IBAN bank accounts',
+ 'name': 'IBAN Bank Accounts',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity.
diff --git a/addons/base_module_doc_rst/__openerp__.py b/addons/base_module_doc_rst/__openerp__.py
index 22a3b39028b..5e3674269d7 100644
--- a/addons/base_module_doc_rst/__openerp__.py
+++ b/addons/base_module_doc_rst/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Module Technical Guide in Restructured Text ',
+ 'name': 'Generate Docs of Modules',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module generates the Technical Guides of selected modules in Restructured Text format (RST).
=================================================================================================
diff --git a/addons/base_module_quality/__openerp__.py b/addons/base_module_quality/__openerp__.py
index 02d09e0919d..df57b88fcc2 100644
--- a/addons/base_module_quality/__openerp__.py
+++ b/addons/base_module_quality/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Base module quality - To check the quality of other modules' ,
+ 'name': 'Analyse Module Quality' ,
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The aim of this module is to check the quality of other modules.
================================================================
diff --git a/addons/base_module_record/__openerp__.py b/addons/base_module_record/__openerp__.py
index 3e1cf79792a..fdb576e0ddd 100644
--- a/addons/base_module_record/__openerp__.py
+++ b/addons/base_module_record/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Module Record',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module allows you to create a new module without any development.
======================================================================
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index 4417ebf2439..bd62a097934 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Base Setup',
+ 'name': 'Initial Setup Tools',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
This module helps to configure the system at the installation of a new database.
diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py
index ecb9b5bf3c4..c10dee7b14b 100644
--- a/addons/base_setup/base_setup.py
+++ b/addons/base_setup/base_setup.py
@@ -28,290 +28,6 @@ from osv import fields, osv
from tools.translate import _
from lxml import etree
-#Application and feature chooser, this could be done by introspecting ir.modules
-DEFAULT_MODULES = {
- 'Customer Relationship Management' : ['crm',],
- 'Sales Management' : ['sale',],
- 'Project Management' : ['project',],
- 'Knowledge Management' : ['document',],
- 'Warehouse Management' : ['stock',],
- 'Manufacturing' : ['mrp'],
- 'Accounting & Finance' : ['account'],
- 'Purchase Management' : ['purchase'],
- 'Human Resources' : ['hr',],
- 'Point of Sale' : ['point_of_sale',],
- 'Marketing' : ['marketing',],
-}
-
-class base_setup_installer(osv.osv_memory):
- _name = 'base.setup.installer'
- _inherit = 'res.config.installer'
-
- _columns = {
- 'selection' : fields.text('Selection'),
- }
-
- def fields_get(self, cr, uid, fields=None, context=None):
- if context is None:
- context = {}
- if fields is None:
- fields = {}
-
- fields = {}
- category_proxy = self.pool.get('ir.module.category')
- domain = [('parent_id', '=', False),
- ('name', '!=', 'Uncategorized'),
- ('visible', '=', True)]
- category_ids = category_proxy.search(cr, uid, domain, context=context)
- for category in category_proxy.browse(cr, uid, category_ids, context=context):
- category_name = 'category_%d' % (category.id,)
- fields[category_name] = {
- 'type' : 'boolean',
- 'string' : category.name,
- 'name' : category_name,
- 'help' : category.description,
- }
-
- module_proxy = self.pool.get('ir.module.module')
- module_ids = module_proxy.search(cr, uid, [], context=context)
- for module in module_proxy.browse(cr, uid, module_ids, context=context):
- module_name = 'module_%d' % (module.id,)
- module_is_installed = module.state == 'installed'
-
- fields[module_name] = {
- 'type' : 'boolean',
- 'string' : module.shortdesc,
- 'name' : module_name,
- 'help' : module.description,
- }
-
- return fields
-
- def default_get(self, cr, uid, fields=None, context=None):
- if context is None:
- context = {}
- if fields is None:
- fields = {}
-
- result = {}
-
- if 'dont_compute_virtual_attributes' not in context:
- module_proxy = self.pool.get('ir.module.module')
- module_ids = module_proxy.search(cr, uid, [], context=context)
- for module in module_proxy.browse(cr, uid, module_ids, context=context):
- result['module_%d' % (module.id,)] = module.state == 'installed'
-
- cat_proxy = self.pool.get('ir.module.category')
- cat_ids = cat_proxy.search(cr, uid, [], context=context)
- for cat in cat_proxy.browse(cr, uid, cat_ids, context=context):
- m = DEFAULT_MODULES.get(cat.name,[])
- r = module_proxy.search(cr, uid, [('state','=','installed'),('name','in',m)])
-
- result['category_%d' % (cat.id,)] = bool(r) and (len(r) == len(m))
-
- return result
-
- def fields_view_get(self, cr, uid, view_id=None, view_type='from', context=None, toolbar=False, submenu=False):
- def in_extended_view_group(cr, uid, context=None):
- try:
- model, group_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_extended')
- except ValueError:
- return False
- return group_id in self.pool.get('res.users').read(cr, uid, uid, ['groups_id'], context=context)['groups_id']
-
- result = super(base_setup_installer, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
-
- module_category_proxy = self.pool.get('ir.module.category')
- domain = [('parent_id', '=', False),
- ('name', '!=', 'Uncategorized'),
- ('visible', '=', True)]
- module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='sequence asc')
-
- arch = ['')
-
- result['arch'] = ''.join(arch)
- return result
-
- def __getattr__(self, name):
- if name.startswith('on_change_category_'):
- def proxy(cr, uid, ids, value, context=None):
- item = 'category_%s' % name[len('on_change_category_'):]
- return self._on_change_selection(cr, uid, ids, item, value, context=context)
- return proxy
- return getattr(super(base_setup_installer, self), name)
-
- def _on_change_selection(self, cr, uid, ids, item, value, context=None):
- if not isinstance(item, basestring) or not value:
- return {}
-
- if item.startswith('category_') or item.startswith('module_'):
- object_name, identifier = item.split('_')
- else:
- return {}
-
- values = {
- }
-
- #if object_name == 'category':
- # module_ids = self.pool.get('ir.module.module').search(cr, uid, [('category_id', '=', int(identifier))], context=context)
- # for module_id in module_ids:
- # values['module_%d' % module_id] = 1
-
- return {'value': values}
-
- def create(self, cr, uid, values, context=None):
- to_install = {'categories' : [], 'modules' : []}
-
- for key, value in values.iteritems():
- if value == 1 and (key.startswith('module_') or key.startswith('category_')):
- kind, identifier = key.split('_')
- if kind == 'category':
- to_install['categories'].append(long(identifier))
- if kind == 'module':
- to_install['modules'].append(long(identifier))
-
- values = {
- 'selection' : simplejson.dumps(to_install),
- }
- context.update(dont_compute_virtual_attributes=True)
- return super(base_setup_installer, self).create(cr, uid, values, context=context)
-
- def apply_cb(self, cr, uid, ids, context=None):
- category_proxy = self.pool.get('ir.module.category')
- for installer in self.browse(cr, uid, ids, context=context):
- to_install = simplejson.loads(installer.selection)
-
- proxy = self.pool.get('ir.module.module')
-
- module_ids = proxy.search(cr, uid, [('id', 'in', to_install['modules'])], context=context)
- modules = set(record['name']
- for record in proxy.read(cr, uid, module_ids, ['name'], context=context))
-
- category_ids = category_proxy.search(cr, uid, [('id', 'in', to_install['categories'])], context=context)
- selected_categories = set(record['name']
- for record in category_proxy.read(cr, uid, category_ids, ['name'], context=context))
-
- # FIXME: Use a workaround, but can do better
- for category_name, default_modules in DEFAULT_MODULES.iteritems():
- if category_name in selected_categories:
- modules.update(default_modules)
-
- # Special Cases:
- # * project_mrp: the dependencies are sale, project, procurement, mrp_jit
- if 'sale' in modules and 'project' in modules:
- modules.add('project_mrp')
-
- need_update = False
- module_ids = proxy.search(cr, uid, [('name', 'in', list(modules))], context=context)
- if module_ids:
- proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
- need_update = True
-
- category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_hidden_link')
- while True and category_id:
- cr.execute("select id, name from ir_module_module m where category_id = %s \
- and (select count(d.id) from ir_module_module_dependency d \
- where d.module_id = m.id) = (select count(d.id) from \
- ir_module_module_dependency d inner join ir_module_module m2 on d.name = m2.name \
- where d.module_id=m.id and m2.state in %s ) and state = %s",
- (category_id[1], ('installed', 'to install', 'to upgrade', ), 'uninstalled',))
- inner_modules = [name for _, name in cr.fetchall()]
-
- module_ids = proxy.search(cr, uid, [('name', 'in', inner_modules)], context=context)
- if not module_ids:
- break
-
- modules.update(inner_modules)
-
- proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
- need_update = True
-
-
- domain = [('name', 'in', list(modules)),
- ('state', '=', 'installed')]
- for module in proxy.browse(cr, uid, proxy.search(cr, uid, domain, context=context), context):
- cr.execute("update ir_actions_todo set state='open' \
- from ir_model_data as data where data.res_id = ir_actions_todo.id \
- and ir_actions_todo.type='special'\
- and data.model = 'ir.actions.todo' and data.module=%s", (module.name, ))
-
- if need_update:
- cr.commit()
- self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
-
- return self.pool.get('res.config').next(cr, uid, [], context=context)
-
#Migrate data from another application Conf wiz
class migrade_application_installer_modules(osv.osv_memory):
diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml
index d3536b10cf1..9450057f53f 100644
--- a/addons/base_setup/base_setup_views.xml
+++ b/addons/base_setup/base_setup_views.xml
@@ -1,36 +1,6 @@
-
- Install Applications
- base.setup.installer
- form
- form
- new
-
-
-
-
-
-
- 2
-
-
-
- Start Configuration
-
- code
-
-
-
-
-
- Add More Features
- ir.ui.menu
-
-
-
-
Create or Import Customers
@@ -162,6 +132,7 @@
formform{'res_id': user.company_id.id}
+ Fill in your company data (address, logo, bank accounts) so that it's printed on your reports. You can click on the button 'Preview Header' in order to check the header/footer of PDF documents.
diff --git a/addons/base_synchro/__openerp__.py b/addons/base_synchro/__openerp__.py
index fba793e0473..a9fd08bccf6 100644
--- a/addons/base_synchro/__openerp__.py
+++ b/addons/base_synchro/__openerp__.py
@@ -20,10 +20,10 @@
##############################################################################
{
- "name":"Server Object Synchronization",
+ "name":"Multi-DB Synchronization",
"version":"0.1",
"author":"OpenERP SA",
- "category":"Hidden",
+ "category":"Tools",
"description": """
Synchronization with all objects.
=================================
diff --git a/addons/base_tools/__openerp__.py b/addons/base_tools/__openerp__.py
index 6fff6c3c207..d3c8a4716e0 100644
--- a/addons/base_tools/__openerp__.py
+++ b/addons/base_tools/__openerp__.py
@@ -4,7 +4,7 @@
"author": "OpenERP SA",
"version": "1.0",
"depends": ["base"],
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
'description': """
Common base for tools modules.
diff --git a/addons/base_vat/__openerp__.py b/addons/base_vat/__openerp__.py
index 147eb47b9e2..858b5c2c070 100644
--- a/addons/base_vat/__openerp__.py
+++ b/addons/base_vat/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'VAT Number Validation',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
VAT validation for Partners' VAT numbers
diff --git a/addons/board/__openerp__.py b/addons/board/__openerp__.py
index 6cb0e3ecce7..afb8cc42a95 100644
--- a/addons/board/__openerp__.py
+++ b/addons/board/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Dashboard Creator',
+ 'name': 'Dashboards',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "normal",
'description': """
Lets the user create a custom dashboard.
diff --git a/addons/caldav/__openerp__.py b/addons/caldav/__openerp__.py
index 53bee3d0e94..edf852e4d5e 100644
--- a/addons/caldav/__openerp__.py
+++ b/addons/caldav/__openerp__.py
@@ -49,7 +49,7 @@ To access OpenERP Calendar using WebCal to remote site use the URL like:
DATABASE_NAME: Name of database on which OpenERP Calendar is created
CALENDAR_NAME: Name of calendar to access
""",
- 'category': 'Hidden',
+ 'category': 'Tools',
"author" : "OpenERP SA",
'website': 'http://www.openerp.com',
"init_xml" : ["caldav_data.xml"],
diff --git a/addons/claim_from_delivery/__openerp__.py b/addons/claim_from_delivery/__openerp__.py
index c3eec37a229..178da7d1913 100644
--- a/addons/claim_from_delivery/__openerp__.py
+++ b/addons/claim_from_delivery/__openerp__.py
@@ -21,7 +21,7 @@
"name" : "Claim from Delivery",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ 'category': 'Sales Management',
"depends" : ["base", "crm_claim", "stock"],
"init_xml" : [],
"demo_xml" : [],
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 54dfc335a2b..5a159998de7 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Customer & Supplier Relationship Management',
+ 'name': 'Customer Relationship Management',
'version': '1.0',
'category': 'Customer Relationship Management',
'complexity': "easy",
@@ -61,7 +61,8 @@ Creates a dashboard for CRM that includes:
'mail',
'base_calendar',
'resource',
- 'board'
+ 'board',
+ 'fetchmail'
],
'init_xml': [
'crm_data.xml',
@@ -118,20 +119,17 @@ Creates a dashboard for CRM that includes:
'crm_phonecall_demo.xml',
],
'test': [
- 'test/test_crm_lead.yml',
- 'test/test_crm_meeting.yml',
- 'test/test_crm_opportunity.yml',
- 'test/test_crm_phonecall.yml',
- 'test/test_crm_recurrent_meeting.yml',
- 'test/test_crm_stage_changes.yml',
- 'test/test_crm_recurrent_meeting_case2.yml',
- 'test/test_crm_lead_case2.yml',
- 'test/test_crm_opportunity_case2.yml',
- 'test/test_crm_phonecall_case2.yml',
- 'test/test_crm_partner2opportunity.yml',
- 'test/test_crm_segmentation.yml',
+ 'test/process/communication_with_customer.yml',
+ 'test/process/lead2opportunity2win.yml',
+ 'test/process/merge_opportunity.yml',
+ 'test/process/cancel_lead.yml',
+ 'test/process/segmentation.yml',
+ 'test/ui/crm_demo.yml',
+ 'test/ui/duplicate_lead.yml',
+ 'test/ui/delete_lead.yml'
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0079056041421',
'images': ['images/sale_crm_crm_dashboard.png', 'images/crm_dashboard.jpeg','images/leads.jpeg','images/meetings.jpeg','images/opportunities.jpeg','images/outbound_calls.jpeg','images/stages.jpeg'],
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 03cdb31832d..bee1e48ada2 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -468,10 +468,12 @@ class crm_case(crm_base):
self._action(cr, uid, cases, state)
return True
+ #DEAD Code
def remind_partner(self, cr, uid, ids, context=None, attach=False):
return self.remind_user(cr, uid, ids, context, attach,
destination=False)
+ #DEAD Code
def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True):
mail_message = self.pool.get('mail.message')
for case in self.browse(cr, uid, ids, context=context):
diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml
index 16ae0e73129..f345d86d030 100644
--- a/addons/crm/crm_demo.xml
+++ b/addons/crm/crm_demo.xml
@@ -1,6 +1,6 @@
-
+
@@ -12,5 +12,17 @@
+
+ Sales Marketing Department
+ Sales Marketing
+
+
+
+
+ OpenERP partners
+ True
+
+
+
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 3a5c411993d..49272c97576 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -27,7 +27,7 @@ from tools.translate import _
from crm import crm_case
import binascii
import tools
-
+from mail.mail_message import to_email
CRM_LEAD_PENDING_STATES = (
crm.AVAILABLE_STATES[2][0], # Cancelled
@@ -352,36 +352,380 @@ class crm_lead(crm_case, osv.osv):
"""
return self.set_priority(cr, uid, ids, '3')
- def convert_opportunity(self, cr, uid, ids, context=None):
- """ Precomputation for converting lead to opportunity
+
+ def _merge_data(self, cr, uid, ids, oldest, fields, context=None):
+ # prepare opportunity data into dictionary for merging
+ opportunities = self.browse(cr, uid, ids, context=context)
+ def _get_first_not_null(attr):
+ if hasattr(oldest, attr):
+ return getattr(oldest, attr)
+ for opportunity in opportunities:
+ if hasattr(opportunity, attr):
+ return getattr(opportunity, attr)
+ return False
+
+ def _get_first_not_null_id(attr):
+ res = _get_first_not_null(attr)
+ return res and res.id or False
+
+ def _concat_all(attr):
+ return ', '.join(filter(lambda x: x, [getattr(opportunity, attr) or '' for opportunity in opportunities if hasattr(opportunity, attr)]))
+
+ data = {}
+ for field_name in fields:
+ field_info = self._all_columns.get(field_name)
+ if field_info is None:
+ continue
+ field = field_info.column
+ if field._type in ('many2many', 'one2many'):
+ continue
+ elif field._type == 'many2one':
+ data[field_name] = _get_first_not_null_id(field_name) # !!
+ elif field._type == 'text':
+ data[field_name] = _concat_all(field_name) #not lost
+ else:
+ data[field_name] = _get_first_not_null(field_name) #not lost
+ return data
+
+ def _merge_find_oldest(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ #TOCHECK: where pass 'convert' in context ?
+ if context.get('convert'):
+ ids = list(set(ids) - set(context.get('lead_ids', False)) )
+
+ #search opportunities order by create date
+ opportunity_ids = self.search(cr, uid, [('id', 'in', ids)], order='create_date' , context=context)
+ oldest_id = opportunity_ids[0]
+ return self.browse(cr, uid, oldest_id, context=context)
+
+ def _mail_body_text(self, cr, uid, lead, fields, title=False, context=None):
+ body = []
+ if title:
+ body.append("%s\n" % (title))
+ for field_name in fields:
+ field_info = self._all_columns.get(field_name)
+ if field_info is None:
+ continue
+ field = field_info.column
+ value = None
+
+ if field._type == 'selection':
+ if hasattr(field.selection, '__call__'):
+ key = field.selection(self, cr, uid, context=context)
+ else:
+ key = field.selection
+ value = dict(key).get(lead[field_name], lead[field_name])
+ elif field._type == 'many2one':
+ if lead[field_name]:
+ value = lead[field_name].name_get()[0][1]
+ else:
+ value = lead[field_name]
+
+ body.append("%s: %s" % (field.string, value or ''))
+ return "\n".join(body + ['---'])
+
+ def _merge_notification(self, cr, uid, opportunity_id, opportunities, context=None):
+ #TOFIX: mail template should be used instead of fix body, subject text
+ details = []
+ merge_message = _('Merged opportunities')
+ subject = [merge_message]
+ fields = ['name', 'partner_id', 'stage_id', 'section_id', 'user_id', 'categ_id', 'channel_id', 'company_id', 'contact_name',
+ 'email_from', 'phone', 'fax', 'mobile', 'state_id', 'description', 'probability', 'planned_revenue',
+ 'country_id', 'city', 'street', 'street2', 'zip']
+ for opportunity in opportunities:
+ subject.append(opportunity.name)
+ title = "%s : %s" % (merge_message, opportunity.name)
+ details.append(self._mail_body_text(cr, uid, opportunity, fields, title=title, context=context))
+
+ subject = subject[0] + ", ".join(subject[1:])
+ details = "\n\n".join(details)
+ return self.message_append(cr, uid, [opportunity_id], subject, body_text=details, context=context)
+
+ def _merge_opportunity_history(self, cr, uid, opportunity_id, opportunities, context=None):
+ message = self.pool.get('mail.message')
+ for opportunity in opportunities:
+ for history in opportunity.message_ids:
+ message.write(cr, uid, history.id, {
+ 'res_id': opportunity_id,
+ 'subject' : _("From %s : %s") % (opportunity.name, history.subject)
+ }, context=context)
+
+ return True
+
+ def _merge_opportunity_attachments(self, cr, uid, opportunity_id, opportunities, context=None):
+ attachment = self.pool.get('ir.attachment')
+
+ # return attachments of opportunity
+ def _get_attachments(opportunity_id):
+ attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context)
+ return attachment.browse(cr, uid, attachment_ids, context=context)
+
+ count = 1
+ first_attachments = _get_attachments(opportunity_id)
+ for opportunity in opportunities:
+ attachments = _get_attachments(opportunity.id)
+ for first in first_attachments:
+ for attachment in attachments:
+ if attachment.name == first.name:
+ values = dict(
+ name = "%s (%s)" % (attachment.name, count,),
+ res_id = opportunity_id,
+ )
+ attachment.write(values)
+ count+=1
+
+ return True
+
+ def merge_opportunity(self, cr, uid, ids, context=None):
+ """
+ To merge opportunities
+ :param ids: list of opportunities ids to merge
+ """
+ if context is None: context = {}
+
+ #TOCHECK: where pass lead_ids in context?
+ lead_ids = context and context.get('lead_ids', []) or []
+
+ if len(ids) <= 1:
+ raise osv.except_osv(_('Warning !'),_('Please select more than one opportunities.'))
+
+ ctx_opportunities = self.browse(cr, uid, lead_ids, context=context)
+ opportunities = self.browse(cr, uid, ids, context=context)
+ opportunities_list = list(set(opportunities) - set(ctx_opportunities))
+ oldest = self._merge_find_oldest(cr, uid, ids, context=context)
+ if ctx_opportunities :
+ first_opportunity = ctx_opportunities[0]
+ tail_opportunities = opportunities_list
+ else:
+ first_opportunity = opportunities_list[0]
+ tail_opportunities = opportunities_list[1:]
+
+ fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id',
+ 'partner_address_id', 'type_id', 'user_id', 'section_id', 'state_id', 'description', 'email', 'fax', 'mobile',
+ 'partner_name', 'phone', 'probability', 'planned_revenue', 'street', 'street2', 'zip', 'create_date', 'date_action_last',
+ 'date_action_next', 'email_from', 'email_cc', 'partner_name']
+
+ data = self._merge_data(cr, uid, ids, oldest, fields, context=context)
+
+ # merge data into first opportunity
+ self.write(cr, uid, [first_opportunity.id], data, context=context)
+
+ #copy message and attachements into the first opportunity
+ self._merge_opportunity_history(cr, uid, first_opportunity.id, tail_opportunities, context=context)
+ self._merge_opportunity_attachments(cr, uid, first_opportunity.id, tail_opportunities, context=context)
+
+ #Notification about loss of information
+ self._merge_notification(cr, uid, first_opportunity, opportunities, context=context)
+ #delete tail opportunities
+ self.unlink(cr, uid, [x.id for x in tail_opportunities], context=context)
+
+ #open first opportunity
+ self.case_open(cr, uid, [first_opportunity.id])
+ return first_opportunity.id
+
+ def _convert_opportunity_data(self, cr, uid, lead, customer, section_id=False, context=None):
+ crm_stage = self.pool.get('crm.case.stage')
+ contact_id = False
+ if customer:
+ contact_id = self.pool.get('res.partner').address_get(cr, uid, [customer.id])['default']
+ if not section_id:
+ section_id = lead.section_id and lead.section_id.id or False
+ if section_id:
+ stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1), ('section_ids','=', section_id)])
+ else:
+ stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1)])
+ stage_id = stage_ids and stage_ids[0] or False
+ return {
+ 'planned_revenue': lead.planned_revenue,
+ 'probability': lead.probability,
+ 'name': lead.name,
+ 'partner_id': customer and customer.id or False,
+ 'user_id': (lead.user_id and lead.user_id.id),
+ 'type': 'opportunity',
+ 'stage_id': stage_id or False,
+ 'date_action': time.strftime('%Y-%m-%d %H:%M:%S'),
+ 'partner_address_id': contact_id
+ }
+ def _convert_opportunity_notification(self, cr, uid, lead, context=None):
+ success_message = _("Lead '%s' has been converted to an opportunity.") % lead.name
+ self.message_append(cr, uid, [lead.id], success_message, body_text=success_message, context=context)
+ self.log(cr, uid, lead.id, success_message)
+ self._send_mail_to_salesman(cr, uid, lead, context=context)
+ return True
+
+ def convert_opportunity(self, cr, uid, ids, partner_id, user_ids=False, section_id=False, context=None):
+ partner = self.pool.get('res.partner')
+ mail_message = self.pool.get('mail.message')
+ customer = False
+ if partner_id:
+ customer = partner.browse(cr, uid, partner_id, context=context)
+ for lead in self.browse(cr, uid, ids, context=context):
+ if lead.state in ('done', 'cancel'):
+ continue
+ if user_ids or section_id:
+ self.allocate_salesman(cr, uid, [lead.id], user_ids, section_id, context=context)
+
+ vals = self._convert_opportunity_data(cr, uid, lead, customer, section_id, context=context)
+ self.write(cr, uid, [lead.id], vals, context=context)
+
+ self._convert_opportunity_notification(cr, uid, lead, context=context)
+ #TOCHECK: why need to change partner details in all messages of lead ?
+ if lead.partner_id:
+ msg_ids = [ x.id for x in lead.message_ids]
+ mail_message.write(cr, uid, msg_ids, {
+ 'partner_id': lead.partner_id.id
+ }, context=context)
+ return True
+
+ def _lead_create_partner(self, cr, uid, lead, context=None):
+ partner = self.pool.get('res.partner')
+ partner_id = partner.create(cr, uid, {
+ 'name': lead.partner_name or lead.contact_name or lead.name,
+ 'user_id': lead.user_id.id,
+ 'comment': lead.description,
+ 'section_id': lead.section_id.id or False,
+ 'address': []
+ })
+ return partner_id
+
+ def _lead_set_partner(self, cr, uid, lead, partner_id, context=None):
+ res = False
+ res_partner = self.pool.get('res.partner')
+ if partner_id:
+ res_partner.write(cr, uid, partner_id, {'section_id': lead.section_id.id or False})
+ contact_id = res_partner.address_get(cr, uid, [partner_id])['default']
+ res = lead.write({'partner_id' : partner_id, 'partner_address_id': contact_id}, context=context)
+
+ return res
+
+ def _lead_create_partner_address(self, cr, uid, lead, partner_id, context=None):
+ address = self.pool.get('res.partner.address')
+ return address.create(cr, uid, {
+ 'partner_id': partner_id,
+ 'name': lead.contact_name,
+ 'phone': lead.phone,
+ 'mobile': lead.mobile,
+ 'email': lead.email_from and to_email(lead.email_from)[0],
+ 'fax': lead.fax,
+ 'title': lead.title and lead.title.id or False,
+ 'function': lead.function,
+ 'street': lead.street,
+ 'street2': lead.street2,
+ 'zip': lead.zip,
+ 'city': lead.city,
+ 'country_id': lead.country_id and lead.country_id.id or False,
+ 'state_id': lead.state_id and lead.state_id.id or False,
+ })
+
+ def convert_partner(self, cr, uid, ids, action='create', partner_id=False, context=None):
+ """
+ This function convert partner based on action.
+ if action is 'create', create new partner with contact and assign lead to new partner_id.
+ otherwise assign lead to specified partner_id
"""
if context is None:
context = {}
- context.update({'active_ids': ids})
+ partner_ids = {}
+ for lead in self.browse(cr, uid, ids, context=context):
+ if action == 'create':
+ if not partner_id:
+ partner_id = self._lead_create_partner(cr, uid, lead, context=context)
+ self._lead_create_partner_address(cr, uid, lead, partner_id, context=context)
+ self._lead_set_partner(cr, uid, lead, partner_id, context=context)
+ partner_ids[lead.id] = partner_id
+ return partner_ids
- data_obj = self.pool.get('ir.model.data')
- value = {}
+ def _send_mail_to_salesman(self, cr, uid, lead, context=None):
+ """
+ Send mail to salesman with updated Lead details.
+ @ lead: browse record of 'crm.lead' object.
+ """
+ #TOFIX: mail template should be used here instead of fix subject, body text.
+ message = self.pool.get('mail.message')
+ email_to = lead.user_id and lead.user_id.user_email
+ if not email_to:
+ return False
+
+ email_from = lead.section_id and lead.section_id.user_id and lead.section_id.user_id.user_email or email_to
+ partner = lead.partner_id and lead.partner_id.name or lead.partner_name
+ subject = "lead %s converted into opportunity" % lead.name
+ body = "Info \n Id : %s \n Subject: %s \n Partner: %s \n Description : %s " % (lead.id, lead.name, lead.partner_id.name, lead.description)
+ return message.schedule_with_attach(cr, uid, email_from, [email_to], subject, body)
- for case in self.browse(cr, uid, ids, context=context):
- context.update({'active_id': case.id})
- data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_partner')
- view_id1 = False
- if data_id:
- view_id1 = data_obj.browse(cr, uid, data_id, context=context).res_id
- value = {
- 'name': _('Create Partner'),
- 'view_type': 'form',
- 'view_mode': 'form,tree',
- 'res_model': 'crm.lead2opportunity.partner',
- 'view_id': False,
- 'context': context,
- 'views': [(view_id1, 'form')],
- 'type': 'ir.actions.act_window',
- 'target': 'new',
- 'nodestroy': True
+ def allocate_salesman(self, cr, uid, ids, user_ids, team_id=False, context=None):
+ index = 0
+ for lead_id in ids:
+ value = {}
+ if team_id:
+ value['section_id'] = team_id
+ if index < len(user_ids):
+ value['user_id'] = user_ids[index]
+ index += 1
+ if value:
+ self.write(cr, uid, [lead_id], value, context=context)
+ return True
+
+ def schedule_phonecall(self, cr, uid, ids, schedule_time, call_summary, desc, phone, contact_name, user_id=False, section_id=False, categ_id=False, action='schedule', context=None):
+ """
+ action :('schedule','Schedule a call'), ('log','Log a call')
+ """
+ phonecall = self.pool.get('crm.phonecall')
+ model_data = self.pool.get('ir.model.data')
+ phonecall_dict = {}
+ if not categ_id:
+ res_id = model_data._get_id(cr, uid, 'crm', 'categ_phone2')
+ if res_id:
+ categ_id = model_data.browse(cr, uid, res_id, context=context).res_id
+ for lead in self.browse(cr, uid, ids, context=context):
+ if not section_id:
+ section_id = lead.section_id and lead.section_id.id or False
+ if not user_id:
+ user_id = lead.user_id and lead.user_id.id or False
+ vals = {
+ 'name' : call_summary,
+ 'opportunity_id' : lead.id,
+ 'user_id' : user_id or False,
+ 'categ_id' : categ_id or False,
+ 'description' : desc or '',
+ 'date' : schedule_time,
+ 'section_id' : section_id or False,
+ 'partner_id': lead.partner_id and lead.partner_id.id or False,
+ 'partner_address_id': lead.partner_address_id and lead.partner_address_id.id or False,
+ 'partner_phone' : phone or lead.phone or (lead.partner_address_id and lead.partner_address_id.phone or False),
+ 'partner_mobile' : lead.partner_address_id and lead.partner_address_id.mobile or False,
+ 'priority': lead.priority,
}
- return value
+
+ new_id = phonecall.create(cr, uid, vals, context=context)
+ phonecall.case_open(cr, uid, [new_id])
+ if action == 'log':
+ phonecall.case_close(cr, uid, [new_id])
+ phonecall_dict[lead.id] = new_id
+ return phonecall_dict
+
+
+ def redirect_opportunity_view(self, cr, uid, opportunity_id, context=None):
+ models_data = self.pool.get('ir.model.data')
+
+ # Get Opportunity views
+ form_view = models_data.get_object_reference(cr, uid, 'crm', 'crm_case_form_view_oppor')
+ tree_view = models_data.get_object_reference(cr, uid, 'crm', 'crm_case_tree_view_oppor')
+ return {
+ 'name': _('Opportunity'),
+ 'view_type': 'form',
+ 'view_mode': 'tree, form',
+ 'res_model': 'crm.lead',
+ 'domain': [('type', '=', 'opportunity')],
+ 'res_id': int(opportunity_id),
+ 'view_id': False,
+ 'views': [(form_view and form_view[1] or False, 'form'),
+ (tree_view and tree_view[1] or False, 'tree'),
+ (False, 'calendar'), (False, 'graph')],
+ 'type': 'ir.actions.act_window',
+ }
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
"""Automatically calls when new email message arrives"""
@@ -447,17 +791,10 @@ class crm_lead(crm_case, osv.osv):
data_obj = self.pool.get('ir.model.data')
for opp in self.browse(cr, uid, ids, context=context):
# Get meeting views
- result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter')
- res = data_obj.read(cr, uid, result, ['res_id'])
- id1 = data_obj._get_id(cr, uid, 'crm', 'crm_case_calendar_view_meet')
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_meet')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_meet')
- if id1:
- id1 = data_obj.browse(cr, uid, id1, context=context).res_id
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
+ tree_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_tree_view_meet')
+ form_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_form_view_meet')
+ calander_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_calendar_view_meet')
+ search_view = data_obj.get_object_reference(cr, uid, 'crm', 'view_crm_case_meetings_filter')
context.update({
'default_opportunity_id': opp.id,
'default_partner_id': opp.partner_id and opp.partner_id.id or False,
@@ -474,9 +811,9 @@ class crm_lead(crm_case, osv.osv):
'view_mode': 'calendar,form,tree',
'res_model': 'crm.meeting',
'view_id': False,
- 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')],
+ 'views': [(calander_view and calander_view[1] or False, 'calendar'), (form_view and form_view[1] or False, 'form'), (tree_view and tree_view[1] or False, 'tree')],
'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id'],
+ 'search_view_id': search_view and search_view[1] or False,
'nodestroy': True
}
return value
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 576f258facc..830b572676d 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -1,6 +1,6 @@
-
+
@@ -9,8 +9,8 @@
-
-
+
+
@@ -92,7 +92,7 @@
-
+
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index 9b0581844a5..d0197fd82cd 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -60,16 +60,23 @@
Opportunitiescrm.lead
- tree,form,graph,calendar,kanban
+ kanban,tree,form,graph,calendar[('type','=','opportunity')]{'search_default_user_id':uid,'search_default_new':1, 'search_default_open':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity', 'default_type': 'opportunity'}
-
+ With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
You and your team(s) will be able to plan meetings and phone calls from opportunities, convert them into quotations, manage related documents, track all customer related activities, and much more.
+
+
+ kanban
+
+
+
+
tree
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 9a6aaea66b4..e9c77b3bdc6 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -59,10 +59,11 @@
widget="selection"
domain="[('object_id.model','=','crm.lead')]"/>
+ type="action"
+ />
@@ -142,6 +143,29 @@
type="object" icon="gtk-convert" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -170,58 +194,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -325,7 +297,7 @@
-
+
-
@@ -459,7 +431,7 @@
Opportunitiescrm.leadform
- 10
+ 20
+
+
+ Create a Partner
+ ir.actions.act_window
+ crm.lead2opportunity.partner
+ form
+
+ new
+ ,]+)', lead.email_from or '')
- email = map(lambda x: "'" + x + "'", email)
- if email:
- cr.execute("""select partner_id from res_partner_address
- where
- substring(email from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email)))
- partner_ids = map(lambda x: x[0], cr.fetchall())
-
- # Find partner name that matches the name of the lead
- if not partner_ids and lead.partner_name:
- partner_ids = partner_obj.search(cr, uid, [('name', '=ilike', lead.partner_name)], context=context)
-
- partner_id = partner_ids and partner_ids[0] or False
- if 'partner_id' in fields:
- res.update({'partner_id': partner_id})
- if 'action' in fields:
- res.update({'action': partner_id and 'exist' or 'create'})
- if 'opportunity_ids' in fields:
- res.update({'opportunity_ids': data})
-
+ if 'partner_id' in fields:
+ res.update({'partner_id': partner_id})
+ if 'action' in fields:
+ res.update({'action': partner_id and 'exist' or 'create'})
+
return res
def open_create_partner(self, cr, uid, ids, context=None):
"""
This function Opens form of create partner.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Lead to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for next form.
"""
- if context is None:
- context = {}
-
view_obj = self.pool.get('ir.ui.view')
- view_id = view_obj.search(cr, uid, [('model', '=', 'crm.lead2partner'), \
- ('name', '=', 'crm.lead2partner.view')])
+ view_id = view_obj.search(cr, uid, [('model', '=', self._name), \
+ ('name', '=', self._name+'.view')])
return {
'view_mode': 'form',
'view_type': 'form',
'view_id': view_id or False,
- 'res_model': 'crm.lead2partner',
+ 'res_model': self._name,
'context': context,
'type': 'ir.actions.act_window',
'target': 'new',
- }
-
+ }
def _create_partner(self, cr, uid, ids, context=None):
"""
This function Creates partner based on action.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Lead to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary {}.
"""
if context is None:
context = {}
-
- lead_obj = self.pool.get('crm.lead')
- partner_obj = self.pool.get('res.partner')
- contact_obj = self.pool.get('res.partner.address')
- partner_ids = []
- partner_id = False
- rec_ids = context and context.get('active_ids', [])
-
- for data in self.browse(cr, uid, ids, context=context):
- for lead in lead_obj.browse(cr, uid, rec_ids, context=context):
- if data.action == 'create':
- partner_id = partner_obj.create(cr, uid, {
- 'name': lead.partner_name or lead.contact_name or lead.name,
- 'user_id': lead.user_id.id,
- 'comment': lead.description,
- 'address': []
- })
- contact_obj.create(cr, uid, {
- 'partner_id': partner_id,
- 'name': lead.contact_name,
- 'phone': lead.phone,
- 'mobile': lead.mobile,
- 'email': lead.email_from,
- 'fax': lead.fax,
- 'title': lead.title and lead.title.id or False,
- 'function': lead.function,
- 'street': lead.street,
- 'street2': lead.street2,
- 'zip': lead.zip,
- 'city': lead.city,
- 'country_id': lead.country_id and lead.country_id.id or False,
- 'state_id': lead.state_id and lead.state_id.id or False,
- })
-
- else:
- if data.partner_id:
- partner_id = data.partner_id.id
- self.assign_partner(cr, uid, lead.id, partner_id)
- partner_ids.append(partner_id)
- return partner_ids
-
-
- def assign_partner(self, cr, uid, lead_id, partner_id):
- self.pool.get("crm.lead").write(cr, uid, [lead_id], {'partner_id' : partner_id})
-
+ lead = self.pool.get('crm.lead')
+ lead_ids = context and context.get('active_ids') or []
+ data = self.browse(cr, uid, ids, context=context)[0]
+ partner_id = data.partner_id and data.partner_id.id or False
+ partner_ids = lead.convert_partner(cr, uid, lead_ids, data.action, partner_id, context=context)
+ return partner_ids[lead_ids[0]]
def make_partner(self, cr, uid, ids, context=None):
"""
This function Makes partner based on action.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Lead to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for created Partner form.
"""
- if context is None:
- context = {}
-
- partner_ids = self._create_partner(cr, uid, ids, context=context)
- return {'type': 'ir.actions.act_window_close'}
+ partner_id = self._create_partner(cr, uid, ids, context=context)
+ return self.pool.get('res.partner').redirect_partner_form(cr, uid, partner_id, context=context)
crm_lead2partner()
diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py
index f092d6ad0b6..381bb9871ea 100644
--- a/addons/crm/wizard/crm_merge_opportunities.py
+++ b/addons/crm/wizard/crm_merge_opportunities.py
@@ -26,195 +26,16 @@ class crm_merge_opportunity(osv.osv_memory):
_name = 'crm.merge.opportunity'
_description = 'Merge two Opportunities'
- def _get_first_not_null_id(self, attr, ops, oldest):
- if hasattr(oldest, attr) and getattr(oldest, attr):
- return getattr(oldest, attr).id
-
- for op in ops:
- if hasattr(op, attr) and getattr(op, attr):
- return getattr(op, attr).id
- return False
-
- def _get_first_not_null(self, attr, ops, oldest):
- if hasattr(oldest, attr) and getattr(oldest, attr):
- return getattr(oldest, attr)
-
- for op in ops:
- if hasattr(op, attr) and getattr(op, attr):
- return getattr(op, attr)
- return False
-
- def _concat_all(self, attr, ops):
- return ', '.join([getattr(op, attr) for op in ops if hasattr(op, attr) and getattr(op, attr)])
-
-
- def get_attachments(self, cr, uid, id, context=None):
- proxy = self.pool.get('ir.attachment')
- ids = proxy.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', id)], context=context)
- return proxy.browse(cr, uid, ids, context=context)
-
- def find_oldest(self, cr, uid, op_ids, context=None):
- if not context:
- context = {}
- ids = [op_id.id for op_id in op_ids]
- if context.get('convert'):
- ids = list(set(ids) - set(context.get('lead_ids', False)) )
- lead_obj = self.pool.get('crm.lead')
- op_id = lead_obj.search(cr, uid, [('id', 'in', ids)], order='create_date' , context=context)
- if not op_id:
- return False
- opps = lead_obj.browse(cr, uid, [op_id[0]], context=context)
- return opps[0]
-
- def _update_data(self, op_ids, oldest_opp):
- data = {
- 'partner_id': self._get_first_not_null_id('partner_id', op_ids, oldest_opp), # !!
- 'title': self._get_first_not_null_id('title', op_ids, oldest_opp),
- 'name' : self._get_first_not_null('name', op_ids, oldest_opp), #not lost
- 'categ_id' : self._get_first_not_null_id('categ_id', op_ids, oldest_opp), # !!
- 'channel_id' : self._get_first_not_null_id('channel_id', op_ids, oldest_opp), # !!
- 'city' : self._get_first_not_null('city', op_ids, oldest_opp), # !!
- 'company_id' : self._get_first_not_null_id('company_id', op_ids, oldest_opp), #!!
- 'contact_name' : self._get_first_not_null('contact_name', op_ids, oldest_opp), #not lost
- 'country_id' : self._get_first_not_null_id('country_id', op_ids, oldest_opp), #!!
- 'partner_address_id' : self._get_first_not_null_id('partner_address_id', op_ids, oldest_opp), #!!
- 'type_id' : self._get_first_not_null_id('type_id', op_ids, oldest_opp), #!!
- 'user_id' : self._get_first_not_null_id('user_id', op_ids, oldest_opp), #!!
- 'section_id' : self._get_first_not_null_id('section_id', op_ids, oldest_opp), #!!
- 'state_id' : self._get_first_not_null_id('state_id', op_ids, oldest_opp),
- 'description' : self._concat_all('description', op_ids), #not lost
- 'email' : self._get_first_not_null('email', op_ids, oldest_opp), # !!
- 'fax' : self._get_first_not_null('fax', op_ids, oldest_opp),
- 'mobile' : self._get_first_not_null('mobile', op_ids, oldest_opp),
- 'partner_name' : self._get_first_not_null('partner_name', op_ids, oldest_opp),
- 'phone' : self._get_first_not_null('phone', op_ids, oldest_opp),
- 'probability' : self._get_first_not_null('probability', op_ids, oldest_opp),
- 'planned_revenue' : self._get_first_not_null('planned_revenue', op_ids, oldest_opp),
- 'street' : self._get_first_not_null('street', op_ids, oldest_opp),
- 'street2' : self._get_first_not_null('street2', op_ids, oldest_opp),
- 'zip' : self._get_first_not_null('zip', op_ids, oldest_opp),
- 'state' : 'open',
- 'create_date' : self._get_first_not_null('create_date', op_ids, oldest_opp),
- 'date_action_last': self._get_first_not_null('date_action_last', op_ids, oldest_opp),
- 'date_action_next': self._get_first_not_null('date_action_next', op_ids, oldest_opp),
- 'email_from' : self._get_first_not_null('email_from', op_ids, oldest_opp),
- 'email_cc' : self._get_first_not_null('email_cc', op_ids, oldest_opp),
- 'partner_name' : self._get_first_not_null('partner_name', op_ids, oldest_opp),
- }
- return data
-
- def merge(self, cr, uid, op_ids, context=None):
- """
- :param opp_ids: list of opportunities ids to merge
- """
- opp_obj = self.pool.get('crm.lead')
- message_obj = self.pool.get('mail.message')
-
- lead_ids = context and context.get('lead_ids', []) or []
-
- if len(op_ids) <= 1:
- raise osv.except_osv(_('Warning !'),_('Please select more than one opportunities.'))
-
- opportunities = opp_obj.browse(cr, uid, lead_ids, context=context)
- opportunities_list = list(set(op_ids) - set(opportunities))
- oldest_opp = self.find_oldest(cr, uid, op_ids, context=context)
- if opportunities :
- first_opportunity = opportunities[0]
- tail_opportunities = opportunities_list
- else:
- first_opportunity = opportunities_list[0]
- tail_opportunities = opportunities_list[1:]
- data = self._update_data(op_ids, oldest_opp)
-
- #copy message into the first opportunity + merge attachement
- count = 1
- first_attachments = self.get_attachments(cr, uid, first_opportunity, context=context)
- for opp in tail_opportunities:
- attachments = self.get_attachments(cr, uid, opp, context=context)
- for first in first_attachments:
- for attachment in attachments:
- if attachment.name == first.name:
- values = dict(
- name = "%s (%s)" % (attachment.name, count,),
- res_id = first_opportunity.id,
- )
- attachment.write(values)
- count+=1
-
- for history in opp.message_ids:
- message_obj.write(cr, uid, history.id, {'res_id': first_opportunity.id, 'subject' : _("From %s : %s") % (opp.name, history.subject) }, context=context)
-
- #Notification about loss of information
- details = []
- subject = ['Merged opportunities :']
- for opp in op_ids:
- subject.append(opp.name)
- details.append(_('Merged Opportunity: %s\n Partner: %s\n Stage: %s\n Section: %s\n Salesman: %s\n Category: %s\n Channel: %s\n Company: %s\n Contact name: %s\n Email: %s\n Phone number: %s\n Fax: %s\n Mobile: %s\n State: %s\n Description: %s\n Probability: %s\n Planned revennue: %s\n Country: %s\n City: %s\n Street: %s\n Street 2: %s\n Zip 2: %s') % ( opp.name, opp.partner_id.name or '',
- opp.stage_id.name or '',
- opp.section_id.name or '',
- opp.user_id.name or '',
- opp.categ_id.name or '',
- opp.channel_id.name or '',
- opp.company_id.name or '',
- opp.contact_name or '',
- opp.email_from or '',
- opp.phone or '',
- opp.fax or '',
- opp.mobile or '',
- opp.state_id.name or '',
- opp.description or '',
- opp.probability or '',
- opp.planned_revenue or '',
- opp.country_id.name or '',
- opp.city or '',
- opp.street or '',
- opp.street2 or '',
- opp.zip or '',
- ))
- subject = subject[0] + ", ".join(subject[1:])
- details = "\n\n".join(details)
-
- opp_obj.message_append(cr, uid, [first_opportunity], subject, body_text=details)
- #data.update({'message_ids' : [(6, 0 ,self._concat_o2m('message_ids', op_ids))]})
- opp_obj.write(cr, uid, [first_opportunity.id], data, context=context)
- unlink_ids = map(lambda x: x.id, tail_opportunities)
- opp_obj.unlink(cr, uid, unlink_ids, context=context)
-
- models_data = self.pool.get('ir.model.data')
-
- # Get Opportunity views
- opportunity_view_form = models_data._get_id(
- cr, uid, 'crm', 'crm_case_form_view_oppor')
- opportunity_view_tree = models_data._get_id(
- cr, uid, 'crm', 'crm_case_tree_view_oppor')
- if opportunity_view_form:
- opportunity_view_form = models_data.browse(
- cr, uid, opportunity_view_form, context=context).res_id
- if opportunity_view_tree:
- opportunity_view_tree = models_data.browse(
- cr, uid, opportunity_view_tree, context=context).res_id
-
- return {
- 'name': _('Opportunity'),
- 'view_type': 'form',
- 'view_mode': 'tree, form',
- 'res_model': 'crm.lead',
- 'domain': [('type', '=', 'opportunity')],
- 'res_id': int(first_opportunity.id),
- 'view_id': False,
- 'views': [(opportunity_view_form, 'form'),
- (opportunity_view_tree, 'tree'),
- (False, 'calendar'), (False, 'graph')],
- 'type': 'ir.actions.act_window',
- }
-
-
def action_merge(self, cr, uid, ids, context=None):
- obj_opportunity = self.browse(cr, uid, ids[0], context=context)
- op_ids = obj_opportunity.opportunity_ids
- self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, [op_ids[0].id])]}, context=context)
- context['lead_ids'] = [op_ids[0].id]
- return self.merge(cr, uid, op_ids, context)
+ lead = self.pool.get('crm.lead')
+ record = self.browse(cr, uid, ids[0], context=context)
+ opportunities = record.opportunity_ids
+ #TOFIX: why need to check lead_ids here
+ lead_ids = [opportunities[0].id]
+ self.write(cr, uid, ids, {'opportunity_ids' : [(6,0, lead_ids)]}, context=context)
+ context['lead_ids'] = lead_ids
+ merge_id = lead.merge_opportunity(cr, uid, [x.id for x in opportunities], context=context)
+ return lead.redirect_opportunity_view(cr, uid, merge_id, context=context)
_columns = {
'opportunity_ids' : fields.many2many('crm.lead', 'merge_opportunity_rel', 'merge_id', 'opportunity_id', 'Opportunities', domain=[('type', '=', 'opportunity')]),
@@ -223,13 +44,6 @@ class crm_merge_opportunity(osv.osv_memory):
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current users ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : default values of fields.
"""
record_ids = context and context.get('active_ids', False) or False
res = super(crm_merge_opportunity, self).default_get(cr, uid, fields, context=context)
diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall.py b/addons/crm/wizard/crm_opportunity_to_phonecall.py
index b0bfbf3b817..a45c87b1a6f 100644
--- a/addons/crm/wizard/crm_opportunity_to_phonecall.py
+++ b/addons/crm/wizard/crm_opportunity_to_phonecall.py
@@ -28,36 +28,11 @@ import time
class crm_opportunity2phonecall(osv.osv_memory):
"""Converts Opportunity to Phonecall"""
-
+ _inherit = 'crm.phonecall2phonecall'
_name = 'crm.opportunity2phonecall'
_description = 'Opportunity to Phonecall'
- _columns = {
- 'name' : fields.char('Call summary', size=64, required=True, select=1),
- 'user_id' : fields.many2one('res.users', "Assign To"),
- 'contact_name':fields.char('Contact', size=64),
- 'phone':fields.char('Phone', size=64),
- 'partner_id' : fields.many2one('res.partner', "Partner"),
- 'date': fields.datetime('Date'),
- 'section_id': fields.many2one('crm.case.section', 'Sales Team'),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', \
- domain="['|',('section_id','=',False),('section_id','=',section_id),\
- ('object_id.model', '=', 'crm.phonecall')]"),
- 'action': fields.selection([('schedule','Schedule a call'), ('log','Log a call')], 'Action', required=True),
- 'note':fields.text('Note'),
- }
-
def default_get(self, cr, uid, fields, context=None):
- """
- This function gets default values
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : default values of fields.
- """
opp_obj = self.pool.get('crm.lead')
categ_id = False
data_obj = self.pool.get('ir.model.data')
@@ -66,8 +41,8 @@ class crm_opportunity2phonecall(osv.osv_memory):
categ_id = data_obj.browse(cr, uid, res_id, context=context).res_id
record_ids = context and context.get('active_ids', []) or []
- res = super(crm_opportunity2phonecall, self).default_get(cr, uid, fields, context=context)
- res.update({'action': 'log', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
+ res = {}
+ res.update({'action': 'schedule', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
for opp in opp_obj.browse(cr, uid, record_ids, context=context):
if 'name' in fields:
res.update({'name': opp.name})
@@ -87,84 +62,20 @@ class crm_opportunity2phonecall(osv.osv_memory):
res.update({'phone': opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False)})
return res
- def action_cancel(self, cr, uid, ids, context=None):
- """
- Closes Opportunity to Phonecall form
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Opportunity to Phonecall's IDs
- @param context: A standard dictionary for contextual values
- """
- return {'type': 'ir.actions.act_window_close'}
-
- def action_apply(self, cr, uid, ids, context=None):
- """
- This converts Opportunity to Phonecall and opens Phonecall view
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user's ID for security checks,
- @param ids: List of Opportunity to Phonecall IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for created Opportunity form
- """
+ def action_schedule(self, cr, uid, ids, context=None):
value = {}
- record_ids = context and context.get('active_ids', []) or []
-
- phonecall_obj = self.pool.get('crm.phonecall')
- opp_obj = self.pool.get('crm.lead')
- mod_obj = self.pool.get('ir.model.data')
- result = mod_obj._get_id(cr, uid, 'crm', 'view_crm_case_phonecalls_filter')
- res = mod_obj.read(cr, uid, result, ['res_id'])
-
- data_obj = self.pool.get('ir.model.data')
-
- # Select the view
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_tree_view')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_form_view')
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
- for this in self.browse(cr, uid, ids, context=context):
- for opp in opp_obj.browse(cr, uid, record_ids, context=context):
- vals = {
- 'name' : opp.name,
- 'case_id' : opp.id,
- 'user_id' : this.user_id and this.user_id.id or False,
- 'categ_id' : this.categ_id.id,
- 'description' : opp.description or False,
- 'date' : this.date,
- 'section_id' : this.section_id.id or False,
- 'partner_id': opp.partner_id and opp.partner_id.id or False,
- 'partner_address_id': opp.partner_address_id and opp.partner_address_id.id or False,
- 'partner_phone' : opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False),
- 'partner_mobile' : opp.partner_address_id and opp.partner_address_id.mobile or False,
- 'priority': opp.priority,
- 'opportunity_id': opp.id,
- 'date_open': time.strftime('%Y-%m-%d %H:%M:%S')
- }
-
- new_case = phonecall_obj.create(cr, uid, vals, context=context)
-
- if this.action == 'log':
- phonecall_obj.case_close(cr, uid, [new_case])
- return {'type': 'ir.actions.act_window_close'}
-
- value = {
- 'name': _('Phone Call'),
- 'domain': "[('user_id','=',%s),('opportunity_id','=',%s)]" % (uid,opp.id),
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'crm.phonecall',
- 'res_id' : new_case,
- 'views': [(id3, 'form'), (id2, 'tree'), (False, 'calendar')],
- 'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id'],
- }
- return value
+ if context is None:
+ context = {}
+ phonecall = self.pool.get('crm.phonecall')
+ opportunity_ids = context and context.get('active_ids') or []
+ opportunity = self.pool.get('crm.lead')
+ data = self.browse(cr, uid, ids, context=context)[0]
+ call_ids = opportunity.schedule_phonecall(cr, uid, opportunity_ids, data.date, data.name, \
+ data.note, data.phone, data.contact_name, data.user_id and data.user_id.id or False, \
+ data.section_id and data.section_id.id or False, \
+ data.categ_id and data.categ_id.id or False, \
+ action=data.action, context=context)
+ return phonecall.redirect_phonecall_view(cr, uid, call_ids[opportunity_ids[0]], context=context)
crm_opportunity2phonecall()
diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
index 980b93500d2..a12bd92115c 100644
--- a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
+++ b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
@@ -16,24 +16,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/addons/crm/wizard/crm_partner_to_opportunity.py b/addons/crm/wizard/crm_partner_to_opportunity.py
index 4d24bd5b78f..6322d0341c1 100644
--- a/addons/crm/wizard/crm_partner_to_opportunity.py
+++ b/addons/crm/wizard/crm_partner_to_opportunity.py
@@ -35,16 +35,15 @@ class crm_partner2opportunity(osv.osv_memory):
'partner_id': fields.many2one('res.partner', 'Partner'),
}
+ def action_cancel(self, cr, uid, ids, context=None):
+ """
+ Closes Partner 2 Opportunity
+ """
+ return {'type':'ir.actions.act_window_close'}
+
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : default values of fields.
"""
partner_obj = self.pool.get('res.partner')
data = context and context.get('active_ids', []) or []
@@ -58,56 +57,17 @@ class crm_partner2opportunity(osv.osv_memory):
return res
def make_opportunity(self, cr, uid, ids, context=None):
- """
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param context: A standard dictionary for contextual values
- """
-
- data = context and context.get('active_ids', []) or []
- make_opportunity = self.pool.get('crm.partner2opportunity')
- data_obj = self.pool.get('ir.model.data')
- part_obj = self.pool.get('res.partner')
- categ_obj = self.pool.get('crm.case.categ')
- case_obj = self.pool.get('crm.lead')
-
- for make_opportunity_obj in make_opportunity.browse(cr, uid, ids, context=context):
- result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_opportunities_filter')
- res = data_obj.read(cr, uid, result, ['res_id'])
-
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_oppor')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_oppor')
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
- address = part_obj.address_get(cr, uid, data)
- categ_ids = categ_obj.search(cr, uid, [('object_id.model','=','crm.lead')])
-
- opp_id = case_obj.create(cr, uid, {
- 'name' : make_opportunity_obj.name,
- 'planned_revenue' : make_opportunity_obj.planned_revenue,
- 'probability' : make_opportunity_obj.probability,
- 'partner_id' : make_opportunity_obj.partner_id.id,
- 'partner_address_id' : address['default'],
- 'categ_id' : categ_ids and categ_ids[0] or '',
- 'state' :'draft',
- 'type': 'opportunity'
- })
- value = {
- 'name' : _('Opportunity'),
- 'view_type' : 'form',
- 'view_mode' : 'form,tree',
- 'res_model' : 'crm.lead',
- 'res_id' : opp_id,
- 'view_id' : False,
- 'views' : [(id2, 'form'), (id3, 'tree'), (False, 'calendar'), (False, 'graph')],
- 'type' : 'ir.actions.act_window',
- 'search_view_id' : res['res_id']
- }
- return value
+ partner_ids = context and context.get('active_ids', []) or []
+ partner = self.pool.get('res.partner')
+ lead = self.pool.get('crm.lead')
+ data = self.browse(cr, uid, ids, context=context)[0]
+ opportunity_ids = partner.make_opportunity(cr, uid, partner_ids,
+ data.name,
+ data.planned_revenue,
+ data.probability,
+ )
+ opportunity_id = opportunity_ids[partner_ids[0]]
+ return lead.redirect_opportunity_view(cr, uid, opportunity_id, context=context)
crm_partner2opportunity()
diff --git a/addons/crm/wizard/crm_partner_to_opportunity_view.xml b/addons/crm/wizard/crm_partner_to_opportunity_view.xml
index 1111bbbbc50..f75f3d5b90e 100644
--- a/addons/crm/wizard/crm_partner_to_opportunity_view.xml
+++ b/addons/crm/wizard/crm_partner_to_opportunity_view.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/addons/crm/wizard/crm_phonecall_to_opportunity.py b/addons/crm/wizard/crm_phonecall_to_opportunity.py
index ffab1867ebb..7305cbd8b5f 100644
--- a/addons/crm/wizard/crm_phonecall_to_opportunity.py
+++ b/addons/crm/wizard/crm_phonecall_to_opportunity.py
@@ -26,97 +26,31 @@ class crm_phonecall2opportunity(osv.osv_memory):
""" Converts Phonecall to Opportunity"""
_name = 'crm.phonecall2opportunity'
+ _inherit = 'crm.partner2opportunity'
_description = 'Phonecall To Opportunity'
- def action_cancel(self, cr, uid, ids, context=None):
- """
- Closes Phonecall to Opportunity form
- """
-
- return {'type':'ir.actions.act_window_close'}
-
-
- def action_apply(self, cr, uid, ids, context=None):
+ def make_opportunity(self, cr, uid, ids, context=None):
"""
This converts Phonecall to Opportunity and opens Phonecall view
"""
- record_id = context and context.get('active_id', False) or False
- if record_id:
- opp_obj = self.pool.get('crm.lead')
- phonecall_obj = self.pool.get('crm.phonecall')
- case = phonecall_obj.browse(cr, uid, record_id, context=context)
- data_obj = self.pool.get('ir.model.data')
- result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_opportunities_filter')
- res = data_obj.read(cr, uid, result, ['res_id'])
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_oppor')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_oppor')
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
- for this in self.browse(cr, uid, ids, context=context):
- address = None
- if this.partner_id:
- address_id = self.pool.get('res.partner').address_get(cr, uid, [this.partner_id.id])
- if address_id['default']:
- address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'], context=context)
- new_opportunity_id = opp_obj.create(cr, uid, {
- 'name': this.name,
- 'planned_revenue': this.planned_revenue,
- 'probability': this.probability,
- 'partner_id': this.partner_id and this.partner_id.id or False,
- 'partner_address_id': address and address.id,
- 'phone': address and address.phone,
- 'mobile': address and address.mobile,
- 'section_id': case.section_id and case.section_id.id or False,
- 'description': case.description or False,
- 'phonecall_id': case.id,
- 'priority': case.priority,
- 'type': 'opportunity',
- 'phone': case.partner_phone or False,
- })
- vals = {
- 'partner_id': this.partner_id.id,
- 'opportunity_id' : new_opportunity_id,
- }
- phonecall_obj.write(cr, uid, [case.id], vals)
- phonecall_obj.case_close(cr, uid, [case.id])
- opp_obj.case_open(cr, uid, [new_opportunity_id])
-
- value = {
- 'name': _('Opportunity'),
- 'view_type': 'form',
- 'view_mode': 'form,tree',
- 'res_model': 'crm.lead',
- 'res_id': int(new_opportunity_id),
- 'view_id': False,
- 'views': [(id2, 'form'), (id3, 'tree'), (False, 'calendar'), (False, 'graph')],
- 'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id']
- }
- return value
-
- _columns = {
- 'name' : fields.char('Opportunity Summary', size=64, required=True, select=1),
- 'probability': fields.float('Success Probability'),
- 'planned_revenue': fields.float('Expected Revenue'),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
- }
+ if not len(ids):
+ return False
+ call_ids = context and context.get('active_ids', False) or False
+ this = self.browse(cr, uid, ids[0], context=context)
+ if not call_ids:
+ return {}
+ opportunity = self.pool.get('crm.lead')
+ phonecall = self.pool.get('crm.phonecall')
+ opportunity_ids = phonecall.convert_opportunity(cr, uid, call_ids, this.name, this.partner_id and this.partner_id.id or False, \
+ this.planned_revenue, this.probability, context=context)
+ return opportunity.redirect_opportunity_view(cr, uid, opportunity_ids[call_ids[0]], context=context)
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : default values of fields.
"""
record_id = context and context.get('active_id', False) or False
- res = super(crm_phonecall2opportunity, self).default_get(cr, uid, fields, context=context)
+ res = {}
if record_id:
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, record_id, context=context)
diff --git a/addons/crm/wizard/crm_phonecall_to_opportunity_view.xml b/addons/crm/wizard/crm_phonecall_to_opportunity_view.xml
index ea024831b54..d3c59f89433 100644
--- a/addons/crm/wizard/crm_phonecall_to_opportunity_view.xml
+++ b/addons/crm/wizard/crm_phonecall_to_opportunity_view.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/addons/crm/wizard/crm_phonecall_to_partner.py b/addons/crm/wizard/crm_phonecall_to_partner.py
index 38e673108e4..0fa077bbf42 100644
--- a/addons/crm/wizard/crm_phonecall_to_partner.py
+++ b/addons/crm/wizard/crm_phonecall_to_partner.py
@@ -26,42 +26,12 @@ class crm_phonecall2partner(osv.osv_memory):
""" Converts phonecall to partner """
_name = 'crm.phonecall2partner'
+ _inherit = 'crm.lead2partner'
_description = 'Phonecall to Partner'
-
- _columns = {
- 'action': fields.selection([('exist', 'Link to an existing partner'), \
- ('create', 'Create a new partner')], \
- 'Action', required=True),
- 'partner_id': fields.many2one('res.partner', 'Partner')
- }
-
- def view_init(self, cr, uid, fields, context=None):
- """
- This function checks for precondition before wizard executes
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- """
- phonecall_obj = self.pool.get('crm.phonecall')
- rec_ids = context and context.get('active_ids', [])
- for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context):
- if phonecall.partner_id:
- raise osv.except_osv(_('Warning !'),
- _('A partner is already defined on this phonecall.'))
-
+
def _select_partner(self, cr, uid, context=None):
"""
This function Searches for Partner from selected phonecall.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : Partner id if any for selected phonecall.
"""
if context is None:
context = {}
@@ -75,7 +45,7 @@ class crm_phonecall2partner(osv.osv_memory):
for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context):
partner_ids = partner_obj.search(cr, uid, [('name', '=', phonecall.name or phonecall.name)])
if not partner_ids and phonecall.email_from:
- address_ids = contact_obj.search(cr, uid, [('email', '=', phonecall.email_from)])
+ address_ids = contact_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)])
if address_ids:
addresses = contact_obj.browse(cr, uid, address_ids)
partner_ids = addresses and [addresses[0].partner_id.id] or False
@@ -83,117 +53,20 @@ class crm_phonecall2partner(osv.osv_memory):
partner_id = partner_ids and partner_ids[0] or False
return partner_id
- _defaults = {
- 'action': lambda *a:'exist',
- 'partner_id': _select_partner
- }
-
- def open_create_partner(self, cr, uid, ids, context=None):
- """
- This function Opens form of create partner.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Phonecall to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for next form.
- """
-
- view_obj = self.pool.get('ir.ui.view')
- view_id = view_obj.search(cr, uid, [('model', '=', 'crm.phonecall2partner'), \
- ('name', '=', 'crm.phonecall2partner.view')])
- return {
- 'view_mode': 'form',
- 'view_type': 'form',
- 'view_id': view_id or False,
- 'res_model': 'crm.phonecall2partner',
- 'context': context,
- 'type': 'ir.actions.act_window',
- 'target': 'new',
- }
-
def _create_partner(self, cr, uid, ids, context=None):
"""
This function Creates partner based on action.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Phonecall to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary {}.
"""
if context is None:
context = {}
+ phonecall = self.pool.get('crm.phonecall')
- phonecall_obj = self.pool.get('crm.phonecall')
- partner_obj = self.pool.get('res.partner')
- contact_obj = self.pool.get('res.partner.address')
- partner_ids = []
- contact_id = False
-
- rec_ids = context and context.get('active_ids', [])
-
- for data in self.browse(cr, uid, ids, context=context):
- for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context):
- if data.action == 'create':
- partner_id = partner_obj.create(cr, uid, {
- 'name': phonecall.name or phonecall.name,
- 'user_id': phonecall.user_id.id,
- 'comment': phonecall.description,
- })
- contact_id = contact_obj.create(cr, uid, {
- 'partner_id': partner_id,
- 'name': phonecall.name,
- 'phone': phonecall.partner_phone,
- })
-
- else:
- if data.partner_id:
- partner_id = data.partner_id.id
- contact_id = partner_obj.address_get(cr, uid, [partner_id])['default']
-
- partner_ids.append(partner_id)
-
- vals = {}
- if partner_id:
- vals.update({'partner_id': partner_id})
- if contact_id:
- vals.update({'partner_address_id': contact_id})
- phonecall_obj.write(cr, uid, [phonecall.id], vals)
- return partner_ids
-
- def make_partner(self, cr, uid, ids, context=None):
- """
- This function Makes partner based on action.
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Phonecall to Partner's IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for created Partner form.
- """
-
- partner_ids = self._create_partner(cr, uid, ids, context=context)
- mod_obj = self.pool.get('ir.model.data')
- result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
- res = mod_obj.read(cr, uid, result, ['res_id'])
-
- value = {
- 'domain': "[]",
- 'view_type': 'form',
- 'view_mode': 'form,tree',
- 'res_model': 'res.partner',
- 'res_id': partner_ids and int(partner_ids[0]) or False,
- 'view_id': False,
- 'context': context,
- 'type': 'ir.actions.act_window',
- 'search_view_id': res['res_id']
- }
- return value
+ data = self.browse(cr, uid, ids, context=context)[0]
+ call_ids = context and context.get('active_ids') or []
+ partner_id = data.partner_id and data.partner_id.id or False
+ partner_ids = phonecall.convert_partner(cr, uid, call_ids, data.action, partner_id, context=context)
+ return partner_ids[call_ids[0]]
crm_phonecall2partner()
diff --git a/addons/crm/wizard/crm_phonecall_to_phonecall.py b/addons/crm/wizard/crm_phonecall_to_phonecall.py
index 2872acad4eb..d68591ab0b7 100644
--- a/addons/crm/wizard/crm_phonecall_to_phonecall.py
+++ b/addons/crm/wizard/crm_phonecall_to_phonecall.py
@@ -25,108 +25,50 @@ from tools.translate import _
import time
class crm_phonecall2phonecall(osv.osv_memory):
- """ Converts Phonecall to Phonecall"""
-
_name = 'crm.phonecall2phonecall'
_description = 'Phonecall To Phonecall'
+ _columns = {
+ 'name' : fields.char('Call summary', size=64, required=True, select=1),
+ 'user_id' : fields.many2one('res.users',"Assign To"),
+ 'contact_name':fields.char('Contact', size=64),
+ 'phone':fields.char('Phone', size=64),
+ 'categ_id': fields.many2one('crm.case.categ', 'Category', \
+ domain="['|',('section_id','=',False),('section_id','=',section_id),\
+ ('object_id.model', '=', 'crm.phonecall')]"),
+ 'date': fields.datetime('Date'),
+ 'section_id':fields.many2one('crm.case.section','Sales Team'),
+ 'action': fields.selection([('schedule','Schedule a call'), ('log','Log a call')], 'Action', required=True),
+ 'partner_id' : fields.many2one('res.partner', "Partner"),
+ 'note':fields.text('Note')
+ }
+
+
def action_cancel(self, cr, uid, ids, context=None):
"""
Closes Phonecall to Phonecall form
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Phonecall to Phonecall's IDs
- @param context: A standard dictionary for contextual values
"""
return {'type':'ir.actions.act_window_close'}
- def action_apply(self, cr, uid, ids, context=None):
- """
- This converts Phonecall to Phonecall and opens Phonecall view
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Phonecall to Phonecall IDs
- @param context: A standard dictionary for contextual values
-
- @return : Dictionary value for created Opportunity form
- """
- res = {}
- record_id = context and context.get('active_id', False) or False
- phonecall_obj = self.pool.get('crm.phonecall')
-
- if record_id:
- data_obj = self.pool.get('ir.model.data')
-
- # Get Phonecall views
- result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_phonecalls_filter')
- res = data_obj.read(cr, uid, result, ['res_id'])
- id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_form_view')
- id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_tree_view')
- if id2:
- id2 = data_obj.browse(cr, uid, id2, context=context).res_id
- if id3:
- id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
- phonecall = phonecall_obj.browse(cr, uid, record_id, context=context)
-
- for this in self.browse(cr, uid, ids, context=context):
- values = {
- 'name': this.name,
- 'user_id': this.user_id and this.user_id.id,
- 'categ_id': this.categ_id.id,
- 'section_id': this.section_id.id or (phonecall.section_id and phonecall.section_id.id),
- 'description': phonecall.description or '',
- 'partner_id': phonecall.partner_id.id,
- 'partner_address_id': phonecall.partner_address_id.id,
- 'partner_mobile': phonecall.partner_mobile or False,
- 'priority': phonecall.priority,
- 'partner_phone': phonecall.partner_phone or False,
- 'date': this.date
- }
- phonecall_id = phonecall_obj.create(cr, uid, values, context=context)
- if this.action == 'schedule':
- phonecall_obj.case_open(cr, uid, [phonecall_id])
- elif this.action == 'log':
- phonecall_obj.case_close(cr, uid, [phonecall_id])
-
- res = {
- 'name': _('Phone Call'),
- 'view_type': 'form',
- 'view_mode': 'form',
- 'res_model': 'crm.phonecall',
- 'view_id': False,
- 'views': [(id2, 'form'), (id3, 'tree'), (False, 'calendar'), (False, 'graph')],
- 'type': 'ir.actions.act_window',
- 'res_id': phonecall_id,
- 'domain': [('id', '=', phonecall_id)],
- 'search_view_id': res['res_id']
- }
- return res
-
- _columns = {
- 'name' : fields.char('Call summary', size=64, required=True, select=1),
- 'user_id' : fields.many2one('res.users',"Assign To"),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', \
- domain="['|',('section_id','=',False),('section_id','=',section_id),\
- ('object_id.model', '=', 'crm.phonecall')]"),
- 'date': fields.datetime('Date'),
- 'section_id':fields.many2one('crm.case.section','Sales Team'),
- 'action': fields.selection([('schedule','Schedule a call'), ('log','Log a call')], 'Action', required=True),
- 'partner_id' : fields.many2one('res.partner', "Partner"),
- }
+ def action_schedule(self, cr, uid, ids, context=None):
+ value = {}
+ if context is None:
+ context = {}
+ phonecall = self.pool.get('crm.phonecall')
+ phonecall_ids = context and context.get('active_ids') or []
+ for this in self.browse(cr, uid, ids, context=context):
+ phocall_ids = phonecall.schedule_another_phonecall(cr, uid, phonecall_ids, this.date, this.name, \
+ this.user_id and this.user_id.id or False, \
+ this.section_id and this.section_id.id or False, \
+ this.categ_id and this.categ_id.id or False, \
+ action=this.action, context=context)
+ return phonecall.redirect_phonecall_view(cr, uid, phocall_ids[phonecall_ids[0]], context=context)
+
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param fields: List of fields for default value
- @param context: A standard dictionary for contextual values
-
- @return : default values of fields.
+
"""
res = super(crm_phonecall2phonecall, self).default_get(cr, uid, fields, context=context)
record_id = context and context.get('active_id', False) or False
diff --git a/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml b/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
index 794634da4f1..572fbb8b9a1 100644
--- a/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
+++ b/addons/crm/wizard/crm_phonecall_to_phonecall_view.xml
@@ -22,8 +22,8 @@
-
-
+
+
diff --git a/addons/crm_caldav/i18n/ar.po b/addons/crm_caldav/i18n/ar.po
new file mode 100644
index 00000000000..7865b4a8797
--- /dev/null
+++ b/addons/crm_caldav/i18n/ar.po
@@ -0,0 +1,46 @@
+# Arabic translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-12-05 08:17+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Arabic \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-12-06 05:28+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: crm_caldav
+#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse
+msgid "Caldav Browse"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.model,name:crm_caldav.model_crm_meeting
+msgid "Meeting"
+msgstr "إجتماعات"
+
+#. module: crm_caldav
+#: model:ir.module.module,shortdesc:crm_caldav.module_meta_information
+msgid "Extended Module to Add CalDav feature on Meeting"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.module.module,description:crm_caldav.module_meta_information
+msgid ""
+"\n"
+" New Features in Meeting:\n"
+" * Share meeting with other calendar clients like sunbird\n"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse
+msgid "Synchronyze this calendar"
+msgstr ""
diff --git a/addons/crm_claim/__openerp__.py b/addons/crm_claim/__openerp__.py
index ae493c5dac2..de526f5e5d3 100644
--- a/addons/crm_claim/__openerp__.py
+++ b/addons/crm_claim/__openerp__.py
@@ -48,8 +48,11 @@ automatically new claims based on incoming emails.
'demo_xml': [
'crm_claim_demo.xml',
],
- 'test': ['test/test_crm_claim.yml'],
+ 'test': ['test/process/claim.yml',
+ 'test/ui/claim_demo.yml'
+ ],
'installable': True,
+ 'core': True,
'active': False,
'certificate' : '00612027414703404749',
'images': ['images/claim_categories.jpeg','images/claim_stages.jpeg','images/claims.jpeg'],
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index b5cd2009698..7875d6a2f1a 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -46,6 +46,7 @@ class crm_claim(crm.crm_case, osv.osv):
_columns = {
'id': fields.integer('ID', readonly=True),
'name': fields.char('Claim Subject', size=128, required=True),
+ 'active': fields.boolean('Active'),
'action_next': fields.char('Next Action', size=200),
'date_action_next': fields.datetime('Next Action Date'),
'description': fields.text('Description'),
@@ -95,6 +96,7 @@ class crm_claim(crm.crm_case, osv.osv):
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
+ 'active': lambda *a: 1
}
def onchange_partner_id(self, cr, uid, ids, part, email=False):
@@ -129,8 +131,6 @@ class crm_claim(crm.crm_case, osv.osv):
if l.state == 'draft':
message = _("The claim '%s' has been opened.") % l.name
self.log(cr, uid, l.id, message)
- value = {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')}
- self.write(cr, uid, [l.id], value)
stage_id = self.stage_find(cr, uid, l.section_id.id or False, [('sequence','>',0)])
if stage_id:
self.stage_set(cr, uid, [l.id], stage_id)
diff --git a/addons/crm_claim/crm_claim_demo.xml b/addons/crm_claim/crm_claim_demo.xml
index 0f8488628b5..8279e04eb6f 100644
--- a/addons/crm_claim/crm_claim_demo.xml
+++ b/addons/crm_claim/crm_claim_demo.xml
@@ -15,8 +15,6 @@
-
-
@@ -31,8 +29,6 @@
-
-
@@ -47,8 +43,6 @@
-
-
@@ -63,8 +57,6 @@
-
-
@@ -79,8 +71,6 @@
-
-
@@ -88,14 +78,12 @@
-
-
@@ -104,14 +92,12 @@
-
-
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 7ec18da18eb..08237d06094 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -151,7 +151,7 @@
-
+
@@ -161,32 +161,6 @@
context="{'mail.compose.message.mode':'reply'}"
icon="terp-mail-replied" type="action" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- crm.new.mass.forward.mail.form
- crm.lead.mass.forward.to.partner
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/addons/crm_profiling/__openerp__.py b/addons/crm_profiling/__openerp__.py
index 656f8360f0b..1d8f9f7ee79 100644
--- a/addons/crm_profiling/__openerp__.py
+++ b/addons/crm_profiling/__openerp__.py
@@ -41,7 +41,9 @@ It also has been merged with the earlier CRM & SRM segmentation tool because the
'init_xml': [],
'update_xml': ['security/ir.model.access.csv', 'crm_profiling_view.xml'],
'demo_xml': ['crm_profiling_demo.xml'],
- 'test': ['test/test_crm_profiling.yml'],
+ 'test': [
+ #'test/process/profiling.yml', #TODO:It's not debuging because problem to write data for open.questionnaire from partner section.
+ ],
'installable': True,
'active': False,
'certificate': '0033984979005',
diff --git a/addons/crm_profiling/crm_profiling_demo.xml b/addons/crm_profiling/crm_profiling_demo.xml
index 1789e8bace8..6a0ca130ec3 100644
--- a/addons/crm_profiling/crm_profiling_demo.xml
+++ b/addons/crm_profiling/crm_profiling_demo.xml
@@ -102,7 +102,7 @@
Profiles / crm.segmentation
-->
-
+ OpenERP partners
@@ -111,22 +111,23 @@
Bronze partners
-
+ TrueSilver partners
-
+ TrueGold partners
-
+
+ TrueTrue
diff --git a/addons/crm_profiling/test/process/profiling.yml b/addons/crm_profiling/test/process/profiling.yml
new file mode 100644
index 00000000000..91c48410f8d
--- /dev/null
+++ b/addons/crm_profiling/test/process/profiling.yml
@@ -0,0 +1,10 @@
+-
+ I check segmentation which allows users to perform segmentation within partners
+ and set the category according to question, so first compute questions(answers)
+ scenario with parther and check that category set according to questions.
+-
+ !python {model: res.partner}: |
+ data ={'form': {'quest_form3': ref("partner_quality3"), 'quest_form2': ref("nb_employees2"),'quest_form1': ref("sector1"),'questionnaire_name': ref('questionnaire1')}, 'ids': [ref('base.res_partner_ericdubois0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('base.res_partner_ericdubois0')}
+ data = self._questionnaire_compute(cr, uid, data, context)
+ partner = self.browse(cr, uid, ref('base.res_partner_ericdubois0'))
+ assert partner.category_id[0].id == ref("base.res_partner_category_17"), "Category not assign properly"
diff --git a/addons/crm_profiling/test/test_crm_profiling.yml b/addons/crm_profiling/test/test_crm_profiling.yml
deleted file mode 100644
index 2b70cac592b..00000000000
--- a/addons/crm_profiling/test/test_crm_profiling.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-- |
- I check segmentation which allows users to perform segmentation within partners.
--
- I create a crm profiling question record.
--
- !record {model: crm_profiling.question, id: crm_profiling_question_openerppartner0}:
- answers_ids:
- - name: 'no'
- name: OpenERP partner?
--
- I create a crm profiling answer record.
--
- !record {model: crm_profiling.answer, id: crm_profiling_answer_openerppartner0}:
- name: 'yes'
- question_id: crm_profiling_question_openerppartner0
--
- I create Partner category Customers.
--
- !record {model: res.partner.category, id: res_partner_category_customers0}:
- name: Customers
-- |
- I'm creating new partner "John" with his email "info@mycustomer.com".
--
- !record {model: res.partner, id: res_partner_john0}:
- address:
- - city: Bruxelles
- country_id: base.be
- street: Rue des Palais 51, bte 33
- type: default
- zip: '1000'
- email: 'info@mycustomer.com'
- name: John
- category_id:
- - res_partner_category_customers0
- answers_ids:
- - crm_profiling_answer_openerppartner0
-
--
- Define the answers and category to partner.
--
- !python {model: res.partner}: |
- data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')}
- self._questionnaire_compute(cr, uid, data, context)
-- |
- I start by creating new Questionnaire.
--
- !record {model: crm_profiling.questionnaire, id: crm_profiling_questionnaire_basequestionnaire0}:
- description: First questionnaire.
- name: Base questionnaire
- questions_ids:
- - crm_profiling.activity_sector
- - crm_profiling.nb_employees
- - crm_profiling.partner_level
-- |
- I create the form for the "Base questionnaire".
--
- !python {model: crm_profiling.questionnaire}: |
- context.update({'active_id':ref('res_partner_john0')})
- data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')}
- self.build_form(cr, uid, data, context)
--
- I create a segmentation record.
--
- !record {model: crm.segmentation, id: crm_segmentation_test1}:
- answer_yes:
- - crm_profiling_answer_openerppartner0
- categ_id: res_partner_category_customers0
- name: test
- parent_id: crm_profiling.crm_segmentation0
- profiling_active: true
- som_interval: 0.0
-- |
- I continue the process of segmentation.
--
- !python {model: crm.segmentation}: |
- self.process_continue(cr, uid, [ref('crm_segmentation_test1')], start=False)
-
diff --git a/addons/crm_todo/__openerp__.py b/addons/crm_todo/__openerp__.py
index 3b870153347..01f66160b0b 100644
--- a/addons/crm_todo/__openerp__.py
+++ b/addons/crm_todo/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'To Do List',
+ 'name': 'CRM Todo Lists',
'version': '1.0',
- 'category': 'Customer Relationship Management',
+ "category": 'Hidden/Link',
'complexity': "easy",
'description': """
Todo list for CRM leads and opportunities.
diff --git a/addons/decimal_precision/__openerp__.py b/addons/decimal_precision/__openerp__.py
index 91e7ce57029..303d42558b3 100644
--- a/addons/decimal_precision/__openerp__.py
+++ b/addons/decimal_precision/__openerp__.py
@@ -30,7 +30,7 @@ The decimal precision is configured per company.
"author": "OpenERP SA",
"version": "0.1",
"depends": ["base"],
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"init_xml": [],
"update_xml": [
diff --git a/addons/delivery/report/shipping.rml b/addons/delivery/report/shipping.rml
index 563c3bda826..1ed7e7098bc 100644
--- a/addons/delivery/report/shipping.rml
+++ b/addons/delivery/report/shipping.rml
@@ -131,19 +131,11 @@
Invoiced to[[ o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.name or '']]
- [[ o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.street or '']]
- [[ (o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.street2) or removeParentNode('para')]]
- [[ o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.zip or '']] [[ o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.city or '' ]]
- [[ (o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.state_id and o.sale_id.partner_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ o.sale_id and o.sale_id.partner_invoice_id and o.sale_id.partner_invoice_id.country_id and o.sale_id.partner_invoice_id.country_id.name or '']]
+ [[ o.sale_id and o.sale_id.partner_invoice_id and display_address(o.sale_id.partner_invoice_id) ]]
[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.name or '' ]]
- [[ o.address_id and o.address_id.street or '']]
- [[ o.address_id and o.address_id.street2 or removeParentNode('para')]]
- [[ o.address_id and o.address_id.zip or '']] [[ o.address_id and o.address_id.city or '']]
- [[ (o.address_id and o.address_id.state_id and o.address_id.state_id.name) or removeParentNode('para') ]]
- [[ o.address_id and o.address_id.country_id and o.address_id.country_id.name or '']]
+ [[ o.address_id and o.address_id and display_address(o.address_id) ]]
diff --git a/addons/document/document.py b/addons/document/document.py
index 1bf177f50e6..36b10b34e4b 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -254,7 +254,6 @@ class document_file(osv.osv):
del vals['file_size']
if ids and vals:
result = super(document_file,self).write(cr, uid, ids, vals, context=context)
- cr.commit() # ?
return result
def create(self, cr, uid, vals, context=None):
@@ -299,7 +298,6 @@ class document_file(osv.osv):
else:
#raise osv.except_osv(_('ValidateError'), _('File name must be unique!'))
result = super(document_file, self).create(cr, uid, vals, context)
- cr.commit() # ?
return result
def __get_partner_id(self, cr, uid, res_model, res_id, context=None):
diff --git a/addons/document/test/document_test2.yml b/addons/document/test/document_test2.yml
index 65312eaf10d..be91bfb3644 100644
--- a/addons/document/test/document_test2.yml
+++ b/addons/document/test/document_test2.yml
@@ -80,4 +80,3 @@
-
!python {model: document.directory}: |
self.unlink(cr, uid, [ref('dir_tests')])
- cr.commit()
diff --git a/addons/document_ftp/__openerp__.py b/addons/document_ftp/__openerp__.py
index 499a928c077..d70a14a433c 100644
--- a/addons/document_ftp/__openerp__.py
+++ b/addons/document_ftp/__openerp__.py
@@ -49,6 +49,7 @@ FTP client.
],
'installable': True,
'active': False,
+ 'core': True,
'certificate': '00934787762705016005',
'images': ['images/1_configure_ftp.jpeg','images/2_document_browse.jpeg','images/3_document_ftp.jpeg'],
'post_load': 'post_load',
diff --git a/addons/document_ftp/test/document_ftp_test2.yml b/addons/document_ftp/test/document_ftp_test2.yml
index 33ce1416ec8..eb86a99407d 100644
--- a/addons/document_ftp/test/document_ftp_test2.yml
+++ b/addons/document_ftp/test/document_ftp_test2.yml
@@ -100,11 +100,11 @@
fdata = StringIO('abcd')
ftp.storbinary('STOR test2.txt', fdata)
ftp.close()
- cr.commit()
-
I look for the "test2.txt" file at the server
-
!python {model: ir.attachment }: |
+ cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
ids = self.search(cr, uid, [('name', '=', 'test2.txt')])
assert ids, "No test2.txt file found."
-
@@ -116,11 +116,11 @@
ftp = te.get_ftp_folder(cr, uid, self, 'Documents')
ftp.delete('test2.txt')
ftp.close()
- cr.commit()
-
I check at the server that test2.txt is deleted
-
!python {model: ir.attachment }: |
+ cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
ids = self.search(cr, uid, [('name', '=', 'test2.txt')])
assert not ids, "test2.txt file can still be found."
-
@@ -133,7 +133,7 @@
fdata = StringIO('abcd')
ftp.storbinary('STOR test2.txt', fdata)
ftp.close()
- cr.commit()
+ cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I delete the test2.txt from the server (RPC).
-
diff --git a/addons/document_ftp/test/document_ftp_test4.yml b/addons/document_ftp/test/document_ftp_test4.yml
index 0a3ff33333e..9b311f64605 100644
--- a/addons/document_ftp/test/document_ftp_test4.yml
+++ b/addons/document_ftp/test/document_ftp_test4.yml
@@ -4,7 +4,6 @@
!python {model: ir.attachment}: |
from document_ftp import test_easyftp as te
ftp = te.get_plain_ftp(timeout=1.0)
- cr.commit()
- |
I create two partners 'Partner1' and 'Partner2'.
I create three partner categories: 'none', 'pat1' and 'all'
@@ -54,7 +53,6 @@
dirs = ftp.nlst()
for dir in [ 'All Partner1+2', 'No partners', 'Pat 1' ]:
assert dir in dirs, "Dir %s not in folder" % dir
- cr.commit()
-
I create a 'partners' folder by the first resource one.
-
@@ -65,6 +63,8 @@
ressource_type_id: base.model_res_partner
domain: "[('category_id','in',[active_id])]"
ressource_parent_type_id : base.model_res_partner_category
+-
+ I commit (because FTP operations are on different transaction)
-
!python {model: document.directory, id: }: |
cr.commit()
@@ -81,7 +81,6 @@
for dir in correct:
res = ftp.nlst(dir+'/Partners of Test')
assert res == correct[dir], "Dir %s falsely contains %s" %(dir, res)
- cr.commit()
-
I create an ir.attachment, attached (not related) to Partner1
-
@@ -89,6 +88,11 @@
name: File of pat1
res_model: res.partner
res_id: !eval ref("tpartner1")
+-
+ I commit (because FTP operations are on different transaction)
+-
+ !python {model: document.directory, id: }: |
+ cr.commit()
-
I check that pat1/Partner1 folder has the file.
I check that all/Partner1 folder has the file
@@ -109,6 +113,7 @@
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing/Pat 1/Partners of Test/Partner 1')
fdata = StringIO('abcd')
ftp.storbinary('STOR pat1-dynamic.txt', fdata)
+ cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I check at the server that the file is attached to Partner1
-
@@ -159,7 +164,8 @@
from cStringIO import StringIO
ftp = te.get_ftp_folder(cr, uid, self, 'Documents/Partners Testing/Pat 1/Partners of Test/Partner 1')
ftp.delete('pat1-dynamic.txt')
- ftp.close()
+ ftp.close()
+ cr.rollback() # restart transaction to see changes (FTP-FS uses its own cursor)
-
I delete the Partners Testing folder, "File of pat1" file, Partner and Partner category.
@@ -177,5 +183,5 @@
partner_categ_pool.unlink(cr, uid, [ref('tpat_categ_all')])
partner_pool.unlink(cr, uid, [ref('tpartner1')])
partner_pool.unlink(cr, uid, [ref('tpartner_2')])
- cr.commit()
+ cr.commit() #required because all the operations via FTP were committed
diff --git a/addons/document_ics/__openerp__.py b/addons/document_ics/__openerp__.py
index 7d718266d6a..679a6adabb6 100644
--- a/addons/document_ics/__openerp__.py
+++ b/addons/document_ics/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Support for iCal based on Document Management System',
+ 'name': 'iCal Support',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "normal",
'description': """
Allows to synchronise calendars with others applications.
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 1890ed7bf84..c17c097e935 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Event',
+ 'name': 'Events Organisation',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Organization and management of Events.
@@ -56,6 +56,7 @@ Note that:
'demo_xml': ['event_demo.xml'],
'test': ['test/test_event.yml'],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0083059161581',
'images': ['images/1_event_type_list.jpeg','images/2_events.jpeg','images/3_registrations.jpeg'],
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 6a057fe204d..31fb353c113 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -388,7 +388,7 @@
-
+
@@ -398,32 +398,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Setup Incoming Mail Servers
- ir.actions.act_window
- fetchmail.server
- form
- tree,form
-
- You can connect OpenERP to your incoming mail server so that documents (leads, tasks, issues, etc) are synchronized automatically with your incoming emails.
-
-
-
-
- 4
-
diff --git a/addons/fetchmail/fetchmail_view.xml b/addons/fetchmail/fetchmail_view.xml
index 56b7165ac56..0b9720a7503 100644
--- a/addons/fetchmail/fetchmail_view.xml
+++ b/addons/fetchmail/fetchmail_view.xml
@@ -32,7 +32,7 @@
-
+
diff --git a/addons/fetchmail_crm/__openerp__.py b/addons/fetchmail_crm/__openerp__.py
index 671aad4a871..24eddf235ab 100644
--- a/addons/fetchmail_crm/__openerp__.py
+++ b/addons/fetchmail_crm/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for CRM",
+ "name" : "eMail Gateway for Leads",
"version" : "1.0",
"depends" : ["fetchmail", "crm"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": 'Tools',
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_crm_claim/__openerp__.py b/addons/fetchmail_crm_claim/__openerp__.py
index 6b4a346ed51..4fdd1671a28 100644
--- a/addons/fetchmail_crm_claim/__openerp__.py
+++ b/addons/fetchmail_crm_claim/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for CRM Claim",
+ "name" : "eMail Gateway for CRM Claim",
"version" : "1.0",
"depends" : ["fetchmail", "crm_claim"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ 'category': 'Sales Management',
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_hr_recruitment/__openerp__.py b/addons/fetchmail_hr_recruitment/__openerp__.py
index 0925f2cbcc9..77d5cb93585 100644
--- a/addons/fetchmail_hr_recruitment/__openerp__.py
+++ b/addons/fetchmail_hr_recruitment/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for Applicants",
+ "name" : "eMail Gateway for Applicants",
"version" : "1.0",
"depends" : ["fetchmail", "hr_recruitment"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": "Human Resources",
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_project_issue/__openerp__.py b/addons/fetchmail_project_issue/__openerp__.py
index ca42ed6faaf..043a68def62 100644
--- a/addons/fetchmail_project_issue/__openerp__.py
+++ b/addons/fetchmail_project_issue/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for Project Issue",
+ "name" : "eMail Gateway for Project Issues",
"version" : "1.0",
"depends" : ["fetchmail", "project_issue"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": "Project Management",
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/google_base_account/__openerp__.py b/addons/google_base_account/__openerp__.py
index 19afc18bf09..ed5700b3116 100644
--- a/addons/google_base_account/__openerp__.py
+++ b/addons/google_base_account/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Google user',
+ 'name': 'Google Users',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """The module adds google user in res user""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
diff --git a/addons/google_map/__openerp__.py b/addons/google_map/__openerp__.py
index 48c393409e4..f8001c918c6 100644
--- a/addons/google_map/__openerp__.py
+++ b/addons/google_map/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Google Map',
+ 'name': 'Google Maps on Customers',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The module adds Google Map field in partner address.
====================================================
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index f641a425e18..e903f03d974 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -79,12 +79,28 @@ class hr_job(osv.osv):
}
return res
+ def _get_job_position(self, cr, uid, ids, context=None):
+ res = []
+ for employee in self.pool.get('hr.employee').browse(cr, uid, ids, context=context):
+ if employee.job_id:
+ res.append(employee.job_id.id)
+ return res
+
_name = "hr.job"
_description = "Job Description"
_columns = {
'name': fields.char('Job Name', size=128, required=True, select=True),
- 'expected_employees': fields.function(_no_of_employee, string='Expected Employees', help='Required number of Employees in total for that job.', multi="no_of_employee", store=True),
- 'no_of_employee': fields.function(_no_of_employee, string="No of Employee", help='Number of employee with that job.', multi="no_of_employee", store=True),
+ 'expected_employees': fields.function(_no_of_employee, string='Expected Employees', help='Required number of employees in total for that job.',
+ store = {
+ 'hr.job': (lambda self,cr,uid,ids,c=None: ids, ['no_of_recruitment'], 10),
+ 'hr.employee': (_get_job_position, ['job_id'], 10),
+ },
+ multi='no_of_employee'),
+ 'no_of_employee': fields.function(_no_of_employee, string="Number of Employees", help='Number of employees with that job.',
+ store = {
+ 'hr.employee': (_get_job_position, ['job_id'], 10),
+ },
+ multi='no_of_employee'),
'no_of_recruitment': fields.float('Expected in Recruitment'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'),
'description': fields.text('Job Description'),
@@ -98,7 +114,7 @@ class hr_job(osv.osv):
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.job', context=c),
'state': 'open',
}
-
+
_sql_constraints = [
('name_company_uniq', 'unique(name, company_id)', 'The name of the job position must be unique per company!'),
]
@@ -242,7 +258,7 @@ class res_users(osv.osv):
def create(self, cr, uid, data, context=None):
user_id = super(res_users, self).create(cr, uid, data, context=context)
-
+
# add shortcut unless 'noshortcut' is True in context
if not(context and context.get('noshortcut', False)):
data_obj = self.pool.get('ir.model.data')
@@ -254,7 +270,7 @@ class res_users(osv.osv):
except:
# Tolerate a missing shortcut. See product/product.py for similar code.
logging.getLogger('orm').debug('Skipped meetings shortcut for user "%s"', data.get('name','
@@ -201,21 +202,26 @@
Employeeshr.employeeform
- tree,form,kanban
+ kanban,tree,form[]{"search_default_department_id": department_id,"search_default_active":eval('True')}
-
+ Here you can manage your work force by creating employees and assigning them specific properties in the system. Maintain all employee related information and keep track of anything that needs to be recorded for them. The personal information tab will help you maintain their identity data. The Categories tab gives you the opportunity to assign them related employee categories depending on their position and activities within the company. A category can be a seniority level within the company or a department. The Timesheets tab allows to assign them a specific timesheet and analytic journal where they will be able to enter time through the system. In the note tab, you can enter text data that should be recorded for a specific employee.
-
+
+
+
+ kanban
+
+ tree
-
+
form
diff --git a/addons/hr_attendance/hr_attendance_demo.xml b/addons/hr_attendance/hr_attendance_demo.xml
index a1f42eb1004..f478e099b87 100644
--- a/addons/hr_attendance/hr_attendance_demo.xml
+++ b/addons/hr_attendance/hr_attendance_demo.xml
@@ -122,21 +122,5 @@
-
diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py
index a834b4020ec..25949b23ea8 100644
--- a/addons/hr_evaluation/__openerp__.py
+++ b/addons/hr_evaluation/__openerp__.py
@@ -54,6 +54,7 @@ in the form of pdf file. Implements a dashboard for My Current Evaluations
"active": False,
"installable": True,
"certificate" : "00883207679172998429",
+ 'core': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_evaluation/board_hr_evaluation_view.xml b/addons/hr_evaluation/board_hr_evaluation_view.xml
index 7f6d3142db5..3e437833c2d 100644
--- a/addons/hr_evaluation/board_hr_evaluation_view.xml
+++ b/addons/hr_evaluation/board_hr_evaluation_view.xml
@@ -2,7 +2,7 @@
- My Evaluation Remaining
+ My Appraisal Remainingir.actions.act_windowhr_evaluation.evaluationform
@@ -17,8 +17,8 @@
form
-
-
+
+
diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml
index ec82292dd84..ec4b46f8a62 100644
--- a/addons/hr_evaluation/hr_evaluation_data.xml
+++ b/addons/hr_evaluation/hr_evaluation_data.xml
@@ -2,7 +2,7 @@
- Employee Evaluation
+ Employee Appraisal20
@@ -11,7 +11,7 @@
open
- Employee Evaluation Form
+ Employee Appraisal Form
@@ -128,7 +128,7 @@
descriptive_textThe comment you entered is in an invalid format.
- * The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-evaluation and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion.
+ * The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-appraisal and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion.
Once the form had been filled, the employee send it to his supervisor.
* It is the primary responsibility of the supervisor to gather the necessary input from the appropriate sources of feedback (internal and/or external customers, peers). In case of collaboration with OpenERP SA Belgium, the supervisor must receive completed evaluation form from the employee's Belgian project manager.
@@ -204,7 +204,7 @@ Once the form had been filled, the employee send it to his supervisor.
Subjectmatrix_of_choices_only_one_ans
- Recommendations / Evaluations
+ Recommendations / AppraisalsThe comment you entered is in an invalid format.
@@ -227,7 +227,7 @@ Once the form had been filled, the employee send it to his supervisor.
Supervisors only : matrix_of_choices_only_one_ans
- Recommendations / Evaluations
+ Recommendations / AppraisalsThe comment you entered is in an invalid format.
@@ -1150,7 +1150,7 @@ Once the form had been filled, the employee send it to his supervisor.
- Manager's Evaluation Plan
+ Manager's Appraisal Plan
@@ -1219,7 +1219,7 @@ Once the form had been filled, the employee send it to his supervisor.
- Run Employee Evaluation
+ Run Employee Appraisal1
diff --git a/addons/hr_evaluation/hr_evaluation_installer.xml b/addons/hr_evaluation/hr_evaluation_installer.xml
index 842363559a9..10e7773bc62 100644
--- a/addons/hr_evaluation/hr_evaluation_installer.xml
+++ b/addons/hr_evaluation/hr_evaluation_installer.xml
@@ -2,11 +2,12 @@
- Review Evaluation Plans
+ Review Appraisal Plansir.actions.act_windowhr_evaluation.planformtree,form
+ You can define appraisal plans (ex: first interview after 6 months, then every year). Then, each employee can be linked to an appraisal plan so that OpenERP can automatically generate interview requests to managers and/or subordinates.
diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py
index 4a22f00e076..f15dbfa38ef 100644
--- a/addons/hr_expense/__openerp__.py
+++ b/addons/hr_expense/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Expenses',
+ 'name': 'Expenses Management',
'version': '1.0',
'category': 'Human Resources',
'complexity': "easy",
@@ -68,5 +68,6 @@ re-invoice your customer's expenses if your work by project.
'installable': True,
'active': False,
'certificate': '0062479841789',
+ 'core': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_expense/board_hr_expense_view.xml b/addons/hr_expense/board_hr_expense_view.xml
index d9c80d6f755..3383f734f7d 100644
--- a/addons/hr_expense/board_hr_expense_view.xml
+++ b/addons/hr_expense/board_hr_expense_view.xml
@@ -17,7 +17,7 @@
form
-
+
diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py
index ec12b884201..1c0d64e9da9 100644
--- a/addons/hr_holidays/__openerp__.py
+++ b/addons/hr_holidays/__openerp__.py
@@ -21,9 +21,9 @@
{
- "name": "Leave Management",
+ "name": "Leaves Management",
"version": "1.5",
- "author": ['OpenERP SA', 'Axelor'],
+ "author": "OpenERP SA",
"category": "Human Resources",
'complexity': "easy",
"website": "http://www.openerp.com",
@@ -72,6 +72,7 @@ Note that:
'test/hr_holidays_report.yml',
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0086579209325',
}
diff --git a/addons/hr_holidays/board_hr_holidays_view.xml b/addons/hr_holidays/board_hr_holidays_view.xml
index f0a0ab0741a..178602725ae 100644
--- a/addons/hr_holidays/board_hr_holidays_view.xml
+++ b/addons/hr_holidays/board_hr_holidays_view.xml
@@ -16,7 +16,7 @@
form
-
+
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index 9eaf7cda025..8af2392f6e4 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -286,7 +286,7 @@
hr.holidaysform{'default_type': 'add', 'search_default_approve':1,"search_default_department_id": department_id}
- [('type','=','add')]
+ [('type','=','remove')]
diff --git a/addons/hr_payroll/__openerp__.py b/addons/hr_payroll/__openerp__.py
index 5c78b80f095..b8287025f9b 100644
--- a/addons/hr_payroll/__openerp__.py
+++ b/addons/hr_payroll/__openerp__.py
@@ -71,6 +71,7 @@ Generic Payroll system.
'installable': True,
'active': False,
'certificate' : '001046261404562128861',
+ 'core': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py
index affd81cce6d..aaf215c87f5 100644
--- a/addons/hr_payroll/hr_payroll.py
+++ b/addons/hr_payroll/hr_payroll.py
@@ -298,6 +298,14 @@ class hr_payslip(osv.osv):
context=context).company_id.id,
}
+ def _check_dates(self, cr, uid, ids, context=None):
+ for payslip in self.browse(cr, uid, ids, context=context):
+ if payslip.date_from > payslip.date_to:
+ return False
+ return True
+
+ _constraints = [(_check_dates, "Payslip 'Date From' must be before 'Date To'.", ['date_from', 'date_to'])]
+
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
diff --git a/addons/hr_payroll/hr_payroll_report.xml b/addons/hr_payroll/hr_payroll_report.xml
index a0027d70e0d..a1b3587313a 100644
--- a/addons/hr_payroll/hr_payroll_report.xml
+++ b/addons/hr_payroll/hr_payroll_report.xml
@@ -6,7 +6,7 @@
auto="False"
id="payslip_report"
model="hr.payslip"
- name="test.pdf"
+ name="payslip"
rml="hr_payroll/report/report_payslip.rml"
string="Employee PaySlip" />
diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml
index 98ec4be407b..5f2e977f116 100644
--- a/addons/hr_payroll/hr_payroll_view.xml
+++ b/addons/hr_payroll/hr_payroll_view.xml
@@ -262,7 +262,7 @@
-
+
diff --git a/addons/hr_payroll/report/report_payslip.py b/addons/hr_payroll/report/report_payslip.py
index 0fc37b44ac7..e2ef7dab974 100644
--- a/addons/hr_payroll/report/report_payslip.py
+++ b/addons/hr_payroll/report/report_payslip.py
@@ -44,6 +44,6 @@ class payslip_report(report_sxw.rml_parse):
res = payslip_line.browse(self.cr, self.uid, ids)
return res
-report_sxw.report_sxw('report.test.pdf', 'hr.payslip', 'hr_payroll/report/report_payslip.rml', parser=payslip_report)
+report_sxw.report_sxw('report.payslip', 'hr.payslip', 'hr_payroll/report/report_payslip.rml', parser=payslip_report)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py
index 3463713d37d..a022cac05b1 100644
--- a/addons/hr_payroll_account/hr_payroll_account.py
+++ b/addons/hr_payroll_account/hr_payroll_account.py
@@ -40,6 +40,17 @@ class hr_payslip(osv.osv):
'move_id': fields.many2one('account.move', 'Accounting Entry', readonly=True),
}
+ def _get_default_journal(self, cr, uid, context=None):
+ model_data = self.pool.get('ir.model.data')
+ res = model_data.search(cr, uid, [('name', '=', 'expenses_journal')])
+ if res:
+ return model_data.browse(cr, uid, res[0]).res_id
+ return False
+
+ _defaults = {
+ 'journal_id': _get_default_journal,
+ }
+
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
@@ -171,7 +182,7 @@ class hr_payslip(osv.osv):
line_ids.append(adjust_debit)
move.update({'line_id': line_ids})
move_id = move_pool.create(cr, uid, move, context=context)
- self.write(cr, uid, [slip.id], {'move_id': move_id}, context=context)
+ self.write(cr, uid, [slip.id], {'move_id': move_id, 'period_id' : period_id}, context=context)
if slip.journal_id.entry_posted:
move_pool.post(cr, uid, [move_id], context=context)
return super(hr_payslip, self).process_sheet(cr, uid, [slip.id], context=context)
diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py
index 4797ef14044..e7e43d5264f 100644
--- a/addons/hr_recruitment/__openerp__.py
+++ b/addons/hr_recruitment/__openerp__.py
@@ -37,7 +37,7 @@ system to store and search in your CV base.
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'images': ['images/hr_recruitment_analysis.jpeg','images/hr_recruitment_applicants.jpeg'],
- 'depends': ['decimal_precision', 'hr', 'survey', 'crm'],
+ 'depends': ['decimal_precision', 'hr', 'survey', 'crm', 'fetchmail'],
'update_xml': [
'wizard/hr_recruitment_phonecall_view.xml',
'wizard/hr_recruitment_employee_hired.xml',
@@ -60,6 +60,7 @@ system to store and search in your CV base.
'installable': True,
'active': False,
'certificate' : '001073437025460275621',
+ 'core': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 8acb95e7088..dbf0930c6bd 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -181,6 +181,7 @@ class hr_applicant(crm.crm_case, osv.osv):
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='day_close', type="float", store=True),
'color': fields.integer('Color Index'),
+ 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
}
def _get_stage(self, cr, uid, context=None):
@@ -473,19 +474,19 @@ class hr_applicant(crm.crm_case, osv.osv):
res = super(hr_applicant, self).case_reset(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': False, 'date_closed': False})
return res
-
- def set_priority(self, cr, uid, ids, priority):
- """Set lead priority
+
+ def set_priority(self, cr, uid, ids, priority, *args):
+ """Set applicant priority
"""
return self.write(cr, uid, ids, {'priority' : priority})
def set_high_priority(self, cr, uid, ids, *args):
- """Set lead priority to high
+ """Set applicant priority to high
"""
return self.set_priority(cr, uid, ids, '1')
def set_normal_priority(self, cr, uid, ids, *args):
- """Set lead priority to normal
+ """Set applicant priority to normal
"""
return self.set_priority(cr, uid, ids, '3')
diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml
index 7fe746f580b..04d73dcd2a8 100644
--- a/addons/hr_recruitment/hr_recruitment_menu.xml
+++ b/addons/hr_recruitment/hr_recruitment_menu.xml
@@ -6,13 +6,20 @@
Applicantshr.applicant
- tree,form,graph,calendar,kanban
-
+ kanban,tree,form,graph,calendar
+ {'search_default_filter_inprogress':1,'search_default_filter_new':1,"search_default_department_id": department_id}From this menu you can track applicants in the recruitment process and manage all operations: meetings, interviews, phone calls, etc. If you setup the email gateway, applicants and their attached CV are created automatically when an email is sent to jobs@yourcompany.com. If you install the document management modules, all documents (CV and motivation letters) are indexed automatically, so that you can easily search through their content.
+
+
+ kanban
+
+
+
+
tree
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 202a6c2eecb..4bd68949bd5 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -145,7 +145,7 @@
-
+
@@ -155,32 +155,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
-
+
-
+
+
+
+ Import SugarCRM
+ import.sugarcrm
+ form
+ tree,form
+
+ new
+
+
+
-
+
-
diff --git a/addons/knowledge/__openerp__.py b/addons/knowledge/__openerp__.py
index 2ca58e9861f..27333f59c41 100644
--- a/addons/knowledge/__openerp__.py
+++ b/addons/knowledge/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Knowledge Management System",
+ "name" : "Document Management System",
"version" : "1.0",
"depends" : ["base","base_setup"],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ 'category': 'Knowledge Management',
'complexity': "easy",
"description": """
Installer for knowledge-based Hidden.
diff --git a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
index 77d8515d78b..138f6f668f8 100644
--- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
+++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py
@@ -70,9 +70,10 @@ class l10n_be_vat_declaration(osv.osv_memory):
obj_company = data_tax.tax_code_id.company_id
else:
obj_company = obj_user.browse(cr, uid, uid, context=context).company_id
- vat_no = obj_company.partner_id.vat.replace(' ','').upper()
+ vat_no = obj_company.partner_id.vat
if not vat_no:
raise osv.except_osv(_('Data Insufficient'), _('No VAT Number Associated with Main Company!'))
+ vat_no = vat_no.replace(' ','').upper()
tax_code_ids = obj_tax_code.search(cr, uid, [], context=context)
ctx = context.copy()
diff --git a/addons/crm_partner_assign/wizard/crm_merge_opportunity.py b/addons/l10n_fr_rib/__init__.py
similarity index 52%
rename from addons/crm_partner_assign/wizard/crm_merge_opportunity.py
rename to addons/l10n_fr_rib/__init__.py
index 3c56fada5a1..a061d3f40a2 100644
--- a/addons/crm_partner_assign/wizard/crm_merge_opportunity.py
+++ b/addons/l10n_fr_rib/__init__.py
@@ -1,8 +1,8 @@
-# -*- coding: utf-8 -*-
+# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
+# Copyright (C) 2011 Numérigraphe SARL.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -18,27 +18,8 @@
# along with this program. If not, see .
#
##############################################################################
-from osv import osv, fields
-from tools.translate import _
-
-class crm_merge_opportunity_assign_partner(osv.osv_memory):
- """Merge two Opportunities"""
-
- _inherit = 'crm.merge.opportunity'
-
- def _update_data(self, op_ids, oldest_opp):
- data = super(crm_merge_opportunity_assign_partner, self)._update_data(op_ids, oldest_opp)
-
- new_data = {
- 'partner_latitude': self._get_first_not_null('partner_latitude', op_ids, oldest_opp),
- 'partner_longitude': self._get_first_not_null('partner_longitude', op_ids, oldest_opp),
- 'partner_assigned_id': self._get_first_not_null_id('partner_assigned_id', op_ids, oldest_opp),
- 'date_assign' : self._get_first_not_null('date_assign', op_ids, oldest_opp),
- }
- data.update(new_data)
- return data
-
-crm_merge_opportunity_assign_partner()
+import bank
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/l10n_fr_rib/__openerp__.py b/addons/l10n_fr_rib/__openerp__.py
new file mode 100644
index 00000000000..16d26995dc4
--- /dev/null
+++ b/addons/l10n_fr_rib/__openerp__.py
@@ -0,0 +1,49 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2011 Numérigraphe SARL.
+#
+# 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 .
+#
+##############################################################################
+
+{
+ 'name': 'French RIB Bank Details',
+ 'version': '1.0',
+ "category": 'Accounting & Finance',
+ 'description': '''
+This module lets users enter the banking details of Partners in the RIB format (French standard for bank accounts details).
+RIB Bank Accounts can be entered in the "Accounting" tab of the Partner form by specifying the account type "RIB". The four standard RIB fields will then become mandatory:
+- Bank Code
+- Office Code
+- Account number
+- RIB key
+As a safety measure, OpenERP will check the RIB key whenever a RIB is saved, and will refuse to record the data if the key is incorrect. Please bear in mind that this can only happen when the user presses the "save" button, for example on the Partner Form.
+Since each bank account may relate to a Bank, users may enter the RIB Bank Code in the Bank form - it will the pre-fill the Bank Code on the RIB when they select the Bank.
+To make this easier, this module will also let users find Banks using their RIB code.
+
+The module base_iban can be a useful addition to this module, because French banks are now progressively adopting the international IBAN format instead of the RIB format.
+The RIB and IBAN codes for a single account can be entered by recording two Bank Accounts in OpenERP: the first with the type "RIB", the second with the type "IBAN".
+''',
+ 'author' : u'Numérigraphe SARL',
+ 'depends': ['base', 'account'],
+ 'init_xml': ['bank_data.xml', ],
+ 'update_xml': ['bank_view.xml', ],
+ 'installable': True,
+ 'certificate': '003407950790',
+ 'active': False,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_fr_rib/bank.py b/addons/l10n_fr_rib/bank.py
new file mode 100644
index 00000000000..03f71f60dee
--- /dev/null
+++ b/addons/l10n_fr_rib/bank.py
@@ -0,0 +1,118 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2011 Numérigraphe SARL.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import netsvc
+from osv import fields, osv
+from tools.translate import _
+
+class res_partner_bank(osv.osv):
+ """Add fields and behavior for French RIB"""
+ _inherit = "res.partner.bank"
+
+ def _check_key(self, cr, uid, ids):
+ """Check the RIB key"""
+ for bank_acc in self.browse(cr, uid, ids):
+ # Ignore the accounts of type other than rib
+ if bank_acc.state !='rib':
+ continue
+ # Fail if the needed values are empty of too short
+ if (not bank_acc.bank_code
+ or len(bank_acc.bank_code) != 5
+ or not bank_acc.office or len(bank_acc.office) != 5
+ or not bank_acc.acc_number or len(bank_acc.acc_number) != 11
+ or not bank_acc.key or len(bank_acc.key) != 2):
+ return False
+ # Get the rib data (without the key)
+ rib = "%s%s%s" % (bank_acc.bank_code, bank_acc.office,
+ bank_acc.acc_number)
+ # Translate letters into numbers according to a specific table
+ # (notice how s -> 2)
+ table = dict((ord(a), b) for a, b in zip(
+ u'abcdefghijklmnopqrstuvwxyz', u'12345678912345678923456789'))
+ rib = rib.lower().translate(table)
+ # compute the key
+ key = 97 - (100 * int(rib)) % 97
+ if int(bank_acc.key) != key:
+ return False
+ return True
+
+ def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
+ """Change the bank code"""
+ result = super(res_partner_bank, self).onchange_bank_id(cr, uid, ids, bank_id,
+ context=context)
+ if bank_id:
+ value = result.setdefault('value', {})
+ bank = self.pool.get('res.bank').browse(cr, uid, bank_id,
+ context=context)
+ value['bank_code'] = bank.rib_code
+ return result
+
+ _columns = {
+ 'bank_code': fields.char('Bank Code', size=64, readonly=True,),
+ 'office': fields.char('Office Code', size=5, readonly=True,),
+ 'key': fields.char('Key', size=2, readonly=True,
+ help="The key is a number allowing to check the "
+ "correctness of the other codes."),
+ }
+
+ def _construct_constraint_msg(self, cr, uid, ids, context=None):
+ """Quote the data in the warning message"""
+ # Only process the first id
+ if type(ids) not in (int, long):
+ id = ids[0]
+ rib = self.browse(cr, uid, id, context=context)
+ if rib:
+ return (_("\nThe RIB key %s does not correspond to the other "
+ "codes: %s %s %s.") %
+ (rib.key,
+ rib.bank_code,
+ rib.office,
+ rib.acc_number) )
+
+ _constraints = [(_check_key,
+ _construct_constraint_msg,
+ ["key"])]
+
+res_partner_bank()
+
+class res_bank(osv.osv):
+ """Add the bank code to make it easier to enter RIB data"""
+ _inherit = 'res.bank'
+
+ def name_search(self, cr, user, name, args=None, operator='ilike',
+ context=None, limit=80):
+ """Search by bank code in addition to the standard search"""
+ # Get the standard results
+ results = super(res_bank, self).name_search(cr, user,
+ name, args=args ,operator=operator, context=context, limit=limit)
+ # Get additional results using the RIB code
+ ids = self.search(cr, user, [('rib_code', operator, name)],
+ limit=limit, context=context)
+ # Merge the results
+ results = list(set(results + self.name_get(cr, user, ids, context)))
+ return results
+
+ _columns = {
+ 'rib_code': fields.char('RIB Bank Code', size=64),
+ }
+res_bank()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/l10n_fr_rib/bank_data.xml b/addons/l10n_fr_rib/bank_data.xml
new file mode 100644
index 00000000000..1dc9f4c88fd
--- /dev/null
+++ b/addons/l10n_fr_rib/bank_data.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+ RIB Bank Details
+ rib
+
+
+
+ bank_code
+
+
+
+
+
+ office
+
+
+
+
+
+ acc_number
+
+
+
+ 11
+
+
+ key
+
+
+
+
+
+ bank_bic
+
+
+
+
+
diff --git a/addons/l10n_fr_rib/bank_view.xml b/addons/l10n_fr_rib/bank_view.xml
new file mode 100644
index 00000000000..56eb8393aef
--- /dev/null
+++ b/addons/l10n_fr_rib/bank_view.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ res.partner.form.rib1.inherit
+ res.partner
+
+ form
+
+
+
+
+
+
+
+
+
+
+ res.partner.form.rib2.inherit
+ res.partner
+
+ form
+
+
+
+
+
+
+
+
+
+ res.bank.form.rib.inherit
+ res.bank
+
+ form
+
+
+
+
+
+
+
+
diff --git a/addons/l10n_fr_rib/i18n/fr.po b/addons/l10n_fr_rib/i18n/fr.po
new file mode 100644
index 00000000000..4057dafb803
--- /dev/null
+++ b/addons/l10n_fr_rib/i18n/fr.po
@@ -0,0 +1,116 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_rib
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.1beta\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-21 12:37+0000\n"
+"PO-Revision-Date: 2011-11-21 12:37+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: l10n_fr_rib
+#: constraint:res.partner.bank:0
+msgid "\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
+msgstr "\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Comptes bancaires"
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,bank_code:0
+msgid "Bank Code"
+msgstr "Code banque"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
+msgid "bank_bic"
+msgstr "bank_bic"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
+msgid "office"
+msgstr "Agence"
+
+#. module: l10n_fr_rib
+#: field:res.bank,rib_code:0
+msgid "RIB Bank Code"
+msgstr "Code banque RIB"
+
+#. module: l10n_fr_rib
+#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
+msgid "\n"
+"This module installs the base for RIB bank accounts (French standard for bank accounts). \n"
+"To make it easier to enter RIB data, it will also allow to search for banks by code."
+msgstr "\n"
+"Ce module installe la base pour les comptes bancaires RIB (norme française pour les n° de compte). \n"
+"Pour faciliter la saisie des RIBs, il permet aussi de chercher les banques par code."
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,office:0
+msgid "Office Code"
+msgstr "Code agence"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
+msgid "RIB Bank Details"
+msgstr "Relevé d'identité bancaire (RIB)"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
+msgid "bank_code"
+msgstr "bank_code"
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:109
+#, python-format
+msgid "\n"
+"The RIB key %s does not correspond to the other codes: %s %s %s."
+msgstr "\n"
+"La clé RIB %s ne correspond pas aux autres codes : %s %s %s."
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
+msgid "key"
+msgstr "key"
+
+#. module: l10n_fr_rib
+#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
+msgid "French RIB Bank Details"
+msgstr "Relevés d'identité bancaire français (RIB)"
+
+#. module: l10n_fr_rib
+#: help:res.partner.bank,key:0
+msgid "The key is a number allowing to check the correctness of the other codes."
+msgstr "La clé est un nombre permettant de vérifier que les autres codes sont corrects."
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,key:0
+msgid "Key"
+msgstr "Clé"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
+msgid "%(bank_name)s: %(acc_number)s"
+msgstr "%(bank_name)s: %(acc_number)s"
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_bank
+msgid "Bank"
+msgstr "Banque"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field
+msgid "acc_number"
+msgstr "acc_number"
+
diff --git a/addons/l10n_fr_rib/i18n/l10n_fr_rib.pot b/addons/l10n_fr_rib/i18n/l10n_fr_rib.pot
new file mode 100644
index 00000000000..5db922fe20f
--- /dev/null
+++ b/addons/l10n_fr_rib/i18n/l10n_fr_rib.pot
@@ -0,0 +1,112 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * l10n_fr_rib
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.1beta\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-21 12:36+0000\n"
+"PO-Revision-Date: 2011-11-21 12:36+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: l10n_fr_rib
+#: constraint:res.partner.bank:0
+msgid "\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,bank_code:0
+msgid "Bank Code"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
+msgid "bank_bic"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
+msgid "office"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: field:res.bank,rib_code:0
+msgid "RIB Bank Code"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
+msgid "\n"
+"This module installs the base for RIB bank accounts (French standard for bank accounts). \n"
+"To make it easier to enter RIB data, it will also allow to search for banks by code."
+msgstr ""
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,office:0
+msgid "Office Code"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
+msgid "RIB Bank Details"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
+msgid "bank_code"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:109
+#, python-format
+msgid "\n"
+"The RIB key %s does not correspond to the other codes: %s %s %s."
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
+msgid "key"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
+msgid "French RIB Bank Details"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: help:res.partner.bank,key:0
+msgid "The key is a number allowing to check the correctness of the other codes."
+msgstr ""
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,key:0
+msgid "Key"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
+msgid "%(bank_name)s: %(acc_number)s"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_bank
+msgid "Bank"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field
+msgid "acc_number"
+msgstr ""
+
diff --git a/addons/lunch/__openerp__.py b/addons/lunch/__openerp__.py
index 6d5cd576912..72f8de686d7 100644
--- a/addons/lunch/__openerp__.py
+++ b/addons/lunch/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name": "Lunch",
+ "name": "Lunch Orders",
"author": "OpenERP SA",
'complexity': "easy",
"Description": """
@@ -55,6 +55,7 @@
"demo_xml": ['lunch_demo.xml'],
"test": ['test/test_lunch.yml', 'test/lunch_report.yml'],
"installable": True,
+ 'core': True,
"certificate" : "001292377792581874189",
'images': ['images/cash_moves.jpeg','images/lunch_orders.jpeg','images/products.jpeg'],
}
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index 1cb97ce182e..94f2361d05d 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Email Subsystem',
+ 'name': 'Emails Management',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
A generic email subsystem with message storage and queuing
diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml
index bd10a72faf2..3a7ed8f46fe 100644
--- a/addons/mail/mail_thread_view.xml
+++ b/addons/mail/mail_thread_view.xml
@@ -8,29 +8,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index 93bf0b004d8..f5906d2b186 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -236,7 +236,7 @@ class mail_compose_message(osv.osv_memory):
attachments=attachment, references=references, res_id=int(mail.res_id),
subtype=mail.subtype, headers=headers, context=context)
# in normal mode, we send the email immediately, as the user expects us to (delay should be sufficiently small)
- mail_message.send(cr, uid, [msg_id], context)
+ mail_message.send(cr, uid, [msg_id], context=context)
return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py
index 44a2f1e30bd..02256d8ffc3 100644
--- a/addons/marketing_campaign/__openerp__.py
+++ b/addons/marketing_campaign/__openerp__.py
@@ -60,6 +60,7 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod
'demo_xml': [
],
'installable': True,
+ 'core': True,
'active': False,
'certificate' : '00421723279617928365',
'images': ['images/campaign.png', 'images/campaigns.jpeg','images/email_account.jpeg','images/email_templates.jpeg','images/segments.jpeg'],
diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py
index 4841cc1a2e8..d394088aca5 100644
--- a/addons/marketing_campaign_crm_demo/__openerp__.py
+++ b/addons/marketing_campaign_crm_demo/__openerp__.py
@@ -21,13 +21,13 @@
{
- "name" : "Demo data for Marketing Campaign",
+ "name" : "Marketing Campaign, demo data",
"version" : "1.0",
"depends" : ["marketing_campaign",
"crm",
],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Marketing',
"description": """
Demo data for the module marketing_campaign.
============================================
diff --git a/addons/membership/__openerp__.py b/addons/membership/__openerp__.py
index 20d01b6a60e..3e78b4775ab 100644
--- a/addons/membership/__openerp__.py
+++ b/addons/membership/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Membership',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Association',
'description': """
This module allows you to manage all operations for managing memberships.
=========================================================================
diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py
index 38c5fa9a9d1..2f132e03ed5 100644
--- a/addons/mrp/__openerp__.py
+++ b/addons/mrp/__openerp__.py
@@ -101,6 +101,7 @@ Dashboard provided by this module:
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0032052481373',
}
diff --git a/addons/mrp/board_manufacturing_view.xml b/addons/mrp/board_manufacturing_view.xml
index 427780f344c..55deb48a83d 100644
--- a/addons/mrp/board_manufacturing_view.xml
+++ b/addons/mrp/board_manufacturing_view.xml
@@ -7,7 +7,7 @@
form
-
+
diff --git a/addons/mrp/i18n/ar.po b/addons/mrp/i18n/ar.po
index c8a56267090..0a13682d76e 100644
--- a/addons/mrp/i18n/ar.po
+++ b/addons/mrp/i18n/ar.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/bg.po b/addons/mrp/i18n/bg.po
index cc97c80360f..2dbb5ea5340 100644
--- a/addons/mrp/i18n/bg.po
+++ b/addons/mrp/i18n/bg.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -748,7 +748,7 @@ msgid "Per month"
msgstr "За месец"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -761,7 +761,7 @@ msgid "Product Name"
msgstr "Име на продукт"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Невалидно действие !"
@@ -1273,7 +1273,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1327,7 +1327,7 @@ msgid "Month -1"
msgstr "Месец -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1338,7 +1338,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1567,7 +1567,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1657,7 +1657,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Копиране"
@@ -2146,7 +2146,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/bs.po b/addons/mrp/i18n/bs.po
index f5106281e27..9a78c360f43 100644
--- a/addons/mrp/i18n/bs.po
+++ b/addons/mrp/i18n/bs.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/ca.po b/addons/mrp/i18n/ca.po
index c6d359150ec..a81bfdc6da6 100644
--- a/addons/mrp/i18n/ca.po
+++ b/addons/mrp/i18n/ca.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-08-17 22:02+0000\n"
-"Last-Translator: mgaja (GrupoIsep.com) \n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Per mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Nom producte"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acció no vàlida!"
@@ -1320,7 +1320,7 @@ msgstr "Ubicació on el sistema emmagatzemarà els productes finalitzats."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Aquest és l'albarà intern que porta el producte acabat cap al pla de "
@@ -1380,7 +1380,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Ordre de producció '%s' planificada pel '%s'"
@@ -1391,7 +1391,7 @@ msgid "Production Order N° :"
msgstr "Núm. ordre producció :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Ordre de fabricació '%s' està preparada per produir"
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordres de producció a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "No es pot eliminar ordre/s de producció que estan en estat %s!"
@@ -1728,7 +1728,7 @@ msgid "Production Analysis"
msgstr "Anàlisi de producció"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copieu"
@@ -2254,7 +2254,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipus de producte és emmagatzemable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3321,6 +3321,13 @@ msgstr "Any"
#~ msgid "Workcenter Usage"
#~ msgstr "Us del centre de producció"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Aquest és l'albarà intern que porta el producte acabat cap al pla de "
+#~ "producció."
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/cs.po b/addons/mrp/i18n/cs.po
index 5244b3928c6..57c6e3b019b 100644
--- a/addons/mrp/i18n/cs.po
+++ b/addons/mrp/i18n/cs.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"X-Poedit-Language: Czech\n"
#. module: mrp
@@ -727,7 +727,7 @@ msgid "Per month"
msgstr "Za měsíc"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -740,7 +740,7 @@ msgid "Product Name"
msgstr "Jméno výrobku"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Neplatná akce !"
@@ -1257,7 +1257,7 @@ msgstr "Umístění kde systém naskladní hotové výrobky."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1311,7 +1311,7 @@ msgid "Month -1"
msgstr "Měsíc -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Výrobní příkaz '%s' je naplánován pro %s."
@@ -1322,7 +1322,7 @@ msgid "Production Order N° :"
msgstr "Výrobní příkaz N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Výrobní příkaz '%s' je připraven k výrobě."
@@ -1551,7 +1551,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Výrobní příkazy pro spuštění"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1641,7 +1641,7 @@ msgid "Production Analysis"
msgstr "Analýza výroby"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopírovat"
@@ -2136,7 +2136,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Typ výrobku je Skladový nebo Spotřební."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/da.po b/addons/mrp/i18n/da.po
index 17a13380616..59fe0907efe 100644
--- a/addons/mrp/i18n/da.po
+++ b/addons/mrp/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-10 04:57+0000\n"
-"X-Generator: Launchpad (build 14263)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "Pr. måned"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/de.po b/addons/mrp/i18n/de.po
index 73f62cd257d..99e1b5f1f59 100644
--- a/addons/mrp/i18n/de.po
+++ b/addons/mrp/i18n/de.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-04-03 09:21+0000\n"
-"Last-Translator: Ferdinand @ Camptocamp \n"
+"PO-Revision-Date: 2011-12-06 11:05+0000\n"
+"Last-Translator: Ferdinand-camptocamp \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Pro Monat"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Produkt Bezeichnung"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Fehlerhafte Aktion !"
@@ -1323,7 +1323,7 @@ msgstr "Ort, an dem das System die Fertigprodukte einlagern wird."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Dies ist ein interner Lieferauftrag, der die gefertigten Produkte in den "
@@ -1382,7 +1382,7 @@ msgid "Month -1"
msgstr "Monat -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Fertigungsauftrag '%s' ist geplant für %s."
@@ -1393,7 +1393,7 @@ msgid "Production Order N° :"
msgstr "Fertigungsauftragsnr."
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Fertigungsauftrag '%s' ist Startbereit."
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Fertigungsaufträge (Startbereit)"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Fertigungsaufträge im Status %s können nicht gelöscht werden"
@@ -1728,7 +1728,7 @@ msgid "Production Analysis"
msgstr "Statistik Fertigungsaufträge"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Duplizieren"
@@ -2257,7 +2257,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Produkttyp ist 'Lagerprodukt' oder 'Verbrauchsmaterial'."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3350,6 +3350,13 @@ msgstr "Jahr"
#~ "können. Wenn an diesem Arbeitsplatz 5 Mitarbeiter tätig sind, liegt die "
#~ "Kapazität pro Zyklus bei 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Dies ist ein interner Lieferauftrag, der die gefertigten Produkte in den "
+#~ "Fertigungsplan eintragen wird"
+
#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
diff --git a/addons/mrp/i18n/el.po b/addons/mrp/i18n/el.po
index 8120ac8bb2f..7d85bf2de57 100644
--- a/addons/mrp/i18n/el.po
+++ b/addons/mrp/i18n/el.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:17+0000\n"
+"PO-Revision-Date: 2011-12-06 11:08+0000\n"
"Last-Translator: qdp (OpenERP) \n"
"Language-Team: l10n_chart_gr \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -724,7 +724,7 @@ msgid "Per month"
msgstr "Ανά μήνα"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -737,7 +737,7 @@ msgid "Product Name"
msgstr "Όνομα Προϊόντος"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Άκυρη ενέργεια!"
@@ -1249,7 +1249,7 @@ msgstr "Τοποθεσία όπου το σύστημα θα αποθηκεύσ
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1303,7 +1303,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1314,7 +1314,7 @@ msgid "Production Order N° :"
msgstr "Νο Εντολής Παραγωγής:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1543,7 +1543,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1633,7 +1633,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2123,7 +2123,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/es.po b/addons/mrp/i18n/es.po
index bb45000dc25..76bfff76f74 100644
--- a/addons/mrp/i18n/es.po
+++ b/addons/mrp/i18n/es.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-12 16:35+0000\n"
+"PO-Revision-Date: 2011-12-06 11:03+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -760,7 +760,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -773,7 +773,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -1381,7 +1381,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1392,7 +1392,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1729,7 +1729,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2258,7 +2258,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3324,6 +3324,13 @@ msgstr "Año"
#~ "futuras cargas de los centros de producción a partir de la planificación de "
#~ "la producción."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
#~ msgid "Workcenter Usage"
#~ msgstr "Uso centro de producción"
diff --git a/addons/mrp/i18n/es_AR.po b/addons/mrp/i18n/es_AR.po
index f3c9ec67c23..eadea6dfc48 100644
--- a/addons/mrp/i18n/es_AR.po
+++ b/addons/mrp/i18n/es_AR.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -749,7 +749,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -762,7 +762,7 @@ msgid "Product Name"
msgstr "Nombre del Producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1295,7 +1295,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1353,7 +1353,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1364,7 +1364,7 @@ msgid "Production Order N° :"
msgstr "Orden de producción Nº :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1601,7 +1601,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1692,7 +1692,7 @@ msgid "Production Analysis"
msgstr "Análisis de la producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2202,7 +2202,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/es_CL.po b/addons/mrp/i18n/es_CL.po
index 5b574d2578d..55a2771ced5 100644
--- a/addons/mrp/i18n/es_CL.po
+++ b/addons/mrp/i18n/es_CL.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -759,7 +759,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -772,7 +772,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1320,11 +1320,9 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
-"Este es el albarán interno que trae el producto terminado hacia el plan de "
-"producción."
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
@@ -1380,7 +1378,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1391,7 +1389,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1628,7 +1626,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1722,7 +1720,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2251,7 +2249,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2567,6 +2565,13 @@ msgstr "Año"
#~ "paralelo. Si este centro de trabajo representa un equipo del 5 trabajadores, "
#~ "la capacidad por ciclo es de 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/es_EC.po b/addons/mrp/i18n/es_EC.po
index a11178e0c8e..0cd26845cbf 100644
--- a/addons/mrp/i18n/es_EC.po
+++ b/addons/mrp/i18n/es_EC.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -759,7 +759,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -772,7 +772,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción inválida!"
@@ -1320,11 +1320,9 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
-"Este es el albarán interno que trae el producto terminado hacia el plan de "
-"producción."
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
@@ -1380,7 +1378,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1391,7 +1389,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1634,7 +1632,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1728,7 +1726,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2257,7 +2255,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3328,6 +3326,13 @@ msgstr "Año"
#~ " *Lista de órdenes de fabricación con excepciones\n"
#~ " "
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/es_MX.po b/addons/mrp/i18n/es_MX.po
index 4504a8e2f95..82d584be219 100644
--- a/addons/mrp/i18n/es_MX.po
+++ b/addons/mrp/i18n/es_MX.po
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -2803,7 +2803,7 @@ msgstr "Año"
#~ "producción."
#~ msgid ""
-#~ "This is the internal picking list take bring the raw materials to the "
+#~ "This is the Internal Picking List take bring the raw materials to the "
#~ "production plan."
#~ msgstr ""
#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la "
diff --git a/addons/mrp/i18n/es_VE.po b/addons/mrp/i18n/es_VE.po
index 4504a8e2f95..82d584be219 100644
--- a/addons/mrp/i18n/es_VE.po
+++ b/addons/mrp/i18n/es_VE.po
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -2803,7 +2803,7 @@ msgstr "Año"
#~ "producción."
#~ msgid ""
-#~ "This is the internal picking list take bring the raw materials to the "
+#~ "This is the Internal Picking List take bring the raw materials to the "
#~ "production plan."
#~ msgstr ""
#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la "
diff --git a/addons/mrp/i18n/et.po b/addons/mrp/i18n/et.po
index 8e2648993cb..39bae390026 100644
--- a/addons/mrp/i18n/et.po
+++ b/addons/mrp/i18n/et.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr "Kuus"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "Toote nimi"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Vigane tegevus !"
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr "tootmiskorralduse N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/fi.po b/addons/mrp/i18n/fi.po
index 78a0b3583b9..bfcdf990112 100644
--- a/addons/mrp/i18n/fi.po
+++ b/addons/mrp/i18n/fi.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-19 12:22+0000\n"
-"Last-Translator: Pekka Pylvänäinen \n"
+"PO-Revision-Date: 2011-12-06 09:50+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: Finnish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -749,7 +749,7 @@ msgid "Per month"
msgstr "Kuukaudessa"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -762,7 +762,7 @@ msgid "Product Name"
msgstr "Tuotteen nimi"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Virheellinen toiminto!"
@@ -1285,7 +1285,7 @@ msgstr "Paikka jonne järjestelmä varastoi valmiit tuotteet."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Tämä on sisäinen keräilyslista joka tuo lopputuotteen tuontatosuunnitelmaan"
@@ -1343,7 +1343,7 @@ msgid "Month -1"
msgstr "edellinen kk"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Valmistustilaus '%s' on aikataulutettu '%s':lle."
@@ -1354,7 +1354,7 @@ msgid "Production Order N° :"
msgstr "Tuotantotilaus nro:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Valmistustilaus '%s'on valmis tuotantoon."
@@ -1589,7 +1589,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Aloitettavat valmistustilaukset"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Valmistustilauksia, jotka ovat %s tilassa, ei voi poistaa!"
@@ -1682,7 +1682,7 @@ msgid "Production Analysis"
msgstr "Tuotannon analyysi"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopioi"
@@ -2185,7 +2185,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tuotetyyppi on varastoitava tai käytettävä"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3219,6 +3219,12 @@ msgstr "Vuosi"
#~ "Työpisteen suorittavien rinnakkaisten tehtävien lukumäärä. Jos työpisteen "
#~ "henkilöstö on 5 työntekijää, kapasiteetti sykliä kohti on 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Tämä on sisäinen keräilyslista joka tuo lopputuotteen tuontatosuunnitelmaan"
+
#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
diff --git a/addons/mrp/i18n/fr.po b/addons/mrp/i18n/fr.po
index 884c885b019..628aeae9449 100644
--- a/addons/mrp/i18n/fr.po
+++ b/addons/mrp/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-09-26 12:16+0000\n"
+"PO-Revision-Date: 2011-12-06 10:24+0000\n"
"Last-Translator: lholivier \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.bom,product_uos:0
@@ -776,7 +776,7 @@ msgid "Per month"
msgstr "Par mois"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -789,7 +789,7 @@ msgid "Product Name"
msgstr "Nom du Produit"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Action non valide !"
@@ -1374,7 +1374,7 @@ msgstr "Emplacement où le système stockera les produits finis."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"C'est le bon de transfert interne qui fournit les produits finis au plan de "
@@ -1434,7 +1434,7 @@ msgid "Month -1"
msgstr "Mois -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Ordre de production '%s' est planifié pour le %s."
@@ -1445,7 +1445,7 @@ msgid "Production Order N° :"
msgstr "Ordre de Production N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "L'ordre de production '%s' est pret a être produit."
@@ -1688,7 +1688,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordres de fabrication à lancer"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Impossible de supprimer l'ordre de production à l'état %s !"
@@ -1767,7 +1767,7 @@ msgid "Production Analysis"
msgstr "Analyse de la production"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copier"
@@ -2295,7 +2295,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Le type produit est stockable ou consommable."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3340,6 +3340,13 @@ msgstr "Année"
#~ "Le nom de l'objet doit commencer par x_ et ne doit contenir aucun caractère "
#~ "spécial!"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "C'est le bon de transfert interne qui fournit les produits finis au plan de "
+#~ "production"
+
#~ msgid "A cycle is defined in the workcenter definition."
#~ msgstr "Un cycle est défini dans la définition du Centre de Production."
diff --git a/addons/mrp/i18n/gl.po b/addons/mrp/i18n/gl.po
index 3ba7c6c8c85..7410d5e6ece 100644
--- a/addons/mrp/i18n/gl.po
+++ b/addons/mrp/i18n/gl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-06-09 15:28+0000\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2011-12-06 10:31+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: Galician \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -757,7 +757,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -770,7 +770,7 @@ msgid "Product Name"
msgstr "Nome produto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acción non válida!"
@@ -1314,7 +1314,7 @@ msgstr "Lugar onde almacenará o sistema os produtos rematados"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este é o albará interno que trae o produto rematado ó plan de produción."
@@ -1373,7 +1373,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Orde de produción '%s' planificada para o '%s'"
@@ -1384,7 +1384,7 @@ msgid "Production Order N° :"
msgstr "Nº orde produción:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "A orde de fabricación '%s' está preparada para producir."
@@ -1626,7 +1626,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordes de produción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1720,7 +1720,7 @@ msgid "Production Analysis"
msgstr "Análise de produción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2243,7 +2243,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "O Tipo de produto é almacenable ou consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2614,6 +2614,12 @@ msgstr "Ano"
#~ "ordes de fabricación con excepcións\n"
#~ " "
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este é o albará interno que trae o produto rematado ó plan de produción."
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/hi.po b/addons/mrp/i18n/hi.po
index 40199555bbc..9ece8255329 100644
--- a/addons/mrp/i18n/hi.po
+++ b/addons/mrp/i18n/hi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "प्रति माह"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "वस्तु का नाम"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/hr.po b/addons/mrp/i18n/hr.po
index 0f488328de2..feee2db4426 100644
--- a/addons/mrp/i18n/hr.po
+++ b/addons/mrp/i18n/hr.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -717,7 +717,7 @@ msgid "Per month"
msgstr "Mjesečno"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -730,7 +730,7 @@ msgid "Product Name"
msgstr "Ime Proizvoda"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Pogrešna akcija !"
@@ -1242,7 +1242,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1296,7 +1296,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Nalog za Proizvodnju '%s' je planiran za %s."
@@ -1307,7 +1307,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Nalog za Proizvodnju '%s' je spreman za proizvodnju."
@@ -1536,7 +1536,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Naloz za Proizvodnju Za Pokrenuti"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1626,7 +1626,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2115,7 +2115,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/hu.po b/addons/mrp/i18n/hu.po
index 85e7187ff40..0a3432b2fc5 100644
--- a/addons/mrp/i18n/hu.po
+++ b/addons/mrp/i18n/hu.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-02-09 14:35+0000\n"
+"PO-Revision-Date: 2011-12-06 11:04+0000\n"
"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
"\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -32,26 +32,31 @@ msgid ""
"raw materials (stock decrease) and the production of the finished products "
"(stock increase) when the order is processed."
msgstr ""
+"A gyártási rendeléseket általában az OpenERP automatikusan javasolja "
+"anyagjegyzékek és beszerzési szabályok alapján, azonban lehetősége van "
+"manuálisan is felvinni gyártási rendeléseket. Az OpenERP kezeli a "
+"nyersanyagok fogyását (készlet csökkenése) és a kész termékek gyártását "
+"(készlet csökkenése), amikor a rendelést végrehajtja."
#. module: mrp
#: help:mrp.production,location_src_id:0
msgid "Location where the system will look for components."
-msgstr ""
+msgstr "A hozzávalókat ezen a helyen keresi majd a rendszer."
#. module: mrp
#: field:mrp.production,workcenter_lines:0
msgid "Work Centers Utilisation"
-msgstr ""
+msgstr "Munkaállomások használata"
#. module: mrp
#: view:mrp.routing.workcenter:0
msgid "Routing Work Centers"
-msgstr ""
+msgstr "Eljárás munkaállomásai"
#. module: mrp
#: model:ir.module.module,shortdesc:mrp.module_meta_information
msgid "Manufacturing Resource Planning"
-msgstr "Gyártási források tervezése"
+msgstr "Erőforrások tervezése"
#. module: mrp
#: report:mrp.production.order:0
@@ -88,12 +93,12 @@ msgstr "Óránkénti költség"
#: code:addons/mrp/report/price.py:130
#, python-format
msgid "Cost Price per Uom"
-msgstr "Önköltség"
+msgstr "Mértékenységenkénti költség"
#. module: mrp
#: view:mrp.production:0
msgid "Scrap Products"
-msgstr ""
+msgstr "Selejt termék"
#. module: mrp
#: view:mrp.production.order:0
@@ -105,22 +110,22 @@ msgstr "Nap"
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
msgid "Routings"
-msgstr ""
+msgstr "Eljárás"
#. module: mrp
#: field:mrp.workcenter,product_id:0
msgid "Work Center Product"
-msgstr ""
+msgstr "Munkaállomás-termék"
#. module: mrp
#: view:mrp.bom:0
msgid "Search Bill Of Material"
-msgstr ""
+msgstr "Anyagjegyzék keresése"
#. module: mrp
#: model:process.node,note:mrp.process_node_stockproduct1
msgid "For stockable products and consumables"
-msgstr ""
+msgstr "Raktározható és felhasználható termékekhez"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockproduction0
@@ -133,6 +138,8 @@ msgid ""
"Number of iterations this work center has to do in the specified operation "
"of the routing."
msgstr ""
+"Megadja, hogy az eljárás adott műveletnél ezt a munkaállomást hányszor kell "
+"igénybe venni."
#. module: mrp
#: view:mrp.bom:0
@@ -156,7 +163,7 @@ msgstr "Vásárolni"
#. module: mrp
#: view:mrp.production.order:0
msgid "Raw Material Location"
-msgstr ""
+msgstr "Alapanyagok helye"
#. module: mrp
#: help:mrp.installer,mrp_operations:0
@@ -164,26 +171,30 @@ msgid ""
"Enhances production orders with readiness states as well as the start date "
"and end date of execution of the order."
msgstr ""
+"Ellátja a gyártási rendeléseket a készültség állapotával és a rendelés "
+"végrehajtásának kezdési, illetve a befejezési idejével."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_purchaseprocure0
msgid "The system launches automatically a RFQ to the preferred supplier."
msgstr ""
+"A rendszer automatikusan kiküld egy ajánlatkérési felhívást a kiválasztott "
+"beszállítónak."
#. module: mrp
#: view:mrp.production:0
msgid "Products to Finish"
-msgstr ""
+msgstr "Befejezendő termékek"
#. module: mrp
#: selection:mrp.bom,method:0
msgid "Set / Pack"
-msgstr ""
+msgstr "Csomag"
#. module: mrp
#: field:mrp.installer,mrp_subproduct:0
msgid "MRP Subproducts"
-msgstr ""
+msgstr "MRP altermékek modul"
#. module: mrp
#: view:mrp.production:0
@@ -204,6 +215,8 @@ msgid ""
"In case the Supply method of the product is Produce, the system creates a "
"production order."
msgstr ""
+"Ha a termék ellátási módja \"Gyártás\", a rendszer gyártási rendelést hoz "
+"létre."
#. module: mrp
#: view:mrp.production:0
@@ -218,7 +231,7 @@ msgstr "ME"
#: field:mrp.production.order,product_qty:0
#: field:mrp.production.product.line,product_qty:0
msgid "Product Qty"
-msgstr "Termékmenny."
+msgstr "Termékmennyiség"
#. module: mrp
#: help:mrp.workcenter,product_id:0
@@ -227,22 +240,22 @@ msgid ""
"accounting."
msgstr ""
"Töltse ki ezt a terméket, hogy könnyen nyomon kövesse a gyártási költségeket "
-"a vezetői számvitelben."
+"az analitikus könyvelésben."
#. module: mrp
#: model:process.node,note:mrp.process_node_purchaseprocure0
msgid "For purchased material"
-msgstr ""
+msgstr "Vásárolt termékhez"
#. module: mrp
#: field:mrp.bom.revision,indice:0
msgid "Revision"
-msgstr "Revízió"
+msgstr "Felülvizsgálat"
#. module: mrp
#: model:ir.ui.menu,name:mrp.next_id_77
msgid "Reporting"
-msgstr "Jelentés"
+msgstr "Jelentéskészítés"
#. module: mrp
#: field:mrp.workcenter,costs_cycle_account_id:0
@@ -263,7 +276,7 @@ msgstr "["
#. module: mrp
#: model:process.transition,name:mrp.process_transition_procureserviceproduct0
msgid "Procurement of services"
-msgstr ""
+msgstr "Szolgáltatások beszerzése"
#. module: mrp
#: view:mrp.workcenter:0
@@ -278,7 +291,7 @@ msgstr "Célállomás helye"
#. module: mrp
#: view:mrp.installer:0
msgid "title"
-msgstr "Pozíció"
+msgstr "pozíció"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_bom
@@ -291,6 +304,9 @@ msgid ""
"The system waits for the products to be available in the stock. These "
"products are typically procured manually or through a minimum stock rule."
msgstr ""
+"A rendszer termékekre vár, hogy elérhetővé válljanak a raktárban. Ezeket a "
+"termékeket általában manuálisan kell beszerezni vagy minimális "
+"készletszabályok beállításával."
#. module: mrp
#: report:mrp.production.order:0
@@ -300,7 +316,7 @@ msgstr "Partner hiv."
#. module: mrp
#: selection:mrp.workcenter.load,measure_unit:0
msgid "Amount in hours"
-msgstr ""
+msgstr "Mennyiség órában"
#. module: mrp
#: field:mrp.production,product_lines:0
@@ -310,12 +326,12 @@ msgstr "Tervezett áruk"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Sets / Phantom"
-msgstr ""
+msgstr "Csomagok"
#. module: mrp
#: help:mrp.bom,position:0
msgid "Reference to a position in an external plan."
-msgstr ""
+msgstr "Hivatkozás egy külső területre."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -326,6 +342,8 @@ msgstr "Augusztus"
#: constraint:stock.move:0
msgid "You try to assign a lot which is not from the same product"
msgstr ""
+"Egy olyan tételt próbál hozzárendelni, amely nem ugyanabból a termékfajtából "
+"való."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_order
@@ -340,7 +358,7 @@ msgstr "Június"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_produce
msgid "Product Produce"
-msgstr "Termék előállítása"
+msgstr "Termék gyártása"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -351,12 +369,12 @@ msgstr "Október"
#: code:addons/mrp/report/price.py:177
#, python-format
msgid "Components Cost of "
-msgstr ""
+msgstr "Hozzávalók költsége "
#. module: mrp
#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
msgid "Procurement of stockable Product"
-msgstr ""
+msgstr "Raktározható termékek beszerzése"
#. module: mrp
#: view:mrp.bom:0
@@ -388,6 +406,8 @@ msgid ""
"The system creates an order (production or purchased) depending on the sold "
"quantity and the products parameters."
msgstr ""
+"A rendszer a termék tulajdonságai és az értékesített mennyiség alapján "
+"létrehoz egy - gyártási vagy beszerzési - rendelést."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemts0
@@ -395,6 +415,8 @@ msgid ""
"This is used in case of a service without any impact in the system, a "
"training session for instance."
msgstr ""
+"Ezt használhatjuk olyan szolgálatásokra, amelyek semmilyen hatással "
+"sincsenek a rendszerre (például egy belső képzés)."
#. module: mrp
#: field:mrp.installer,mrp_repair:0
@@ -404,7 +426,7 @@ msgstr "Javítások"
#. module: mrp
#: field:mrp.installer,stock_location:0
msgid "Advanced Routes"
-msgstr ""
+msgstr "Előrehaladott eljárások"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp
@@ -422,6 +444,8 @@ msgid ""
"Enables warranty and repair management (and their impact on stocks and "
"invoicing)."
msgstr ""
+"Lehetővé teszi a garancia- és szervízkezelést, és ezek hatását a "
+"raktározásra és a számlázásra."
#. module: mrp
#: field:mrp.production,date_planned_date:0
@@ -442,6 +466,9 @@ msgid ""
"needed.Set a location if you produce at a fixed location. This can be a "
"partner location if you subcontract the manufacturing operations."
msgstr ""
+"Hagyja üresen, ha a gyártást ugyanazon a helyen végzi, ahol a késztermékre "
+"szüksége van. Válasszon egy helyszínt, ha fix helyen gyárt. Ez lehet egy "
+"partner székhelye is, amennyiben a gyártási eljárást kiszervezi."
#. module: mrp
#: view:board.board:0
@@ -451,12 +478,12 @@ msgstr "Készletérték változása"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action2
msgid "Bill of Materials Structure"
-msgstr ""
+msgstr "Anyagjegyzék-struktúra"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct0
msgid "Product type is service"
-msgstr "A termék típusa szolgáltatás."
+msgstr "A termék típusa szolgáltatás"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_property_group_action
@@ -464,16 +491,18 @@ msgid ""
"Define specific property groups that can be assigned to the properties of "
"your bill of materials."
msgstr ""
+"Adjon meg egyedi tulajdonság-csoportokat, amelyeket az anyagjegyzékek "
+"tulajdonságaihoz rendelhet."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_bom0
msgid "Manufacturing decomposition"
-msgstr ""
+msgstr "Gyártás lebontása"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct1
msgid "For Services."
-msgstr ""
+msgstr "Szolgáltatásokhoz."
#. module: mrp
#: field:mrp.bom.revision,date:0
@@ -487,8 +516,8 @@ msgid ""
"Complete this only if you want automatic analytic accounting entries on "
"production orders."
msgstr ""
-"Csak akkor töltse ki, ha automatikus gyűjtőkód tételeket akar a termelési "
-"utasítások alapján."
+"Csak akkor töltse ki, ha analitikus könyvelési tételek automatikus bevitelét "
+"szeretné a gyártási rendelések alapján."
#. module: mrp
#: field:mrp.production.workcenter.line,cycle:0
@@ -507,6 +536,8 @@ msgid ""
"The Bill of Material is linked to a routing, i.e. the succession of work "
"centers."
msgstr ""
+"Az anyagjegyzék egy gyártási eljáráshoz kapcsolódik, vagyis a munkaállomások "
+"sorozatához."
#. module: mrp
#: constraint:product.product:0
@@ -522,12 +553,12 @@ msgstr "Gyártási hely"
#. module: mrp
#: view:mrp.production:0
msgid "Change Qty"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:mrp.production:0
msgid "Force Reservation"
-msgstr ""
+msgstr "Foglalás erőltetése"
#. module: mrp
#: field:mrp.bom.revision,author_id:0
@@ -542,12 +573,12 @@ msgstr "Készletérték"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_product_bom_structure
msgid "Product BoM Structure"
-msgstr ""
+msgstr "Termék anyagjegyzék-struktúrája"
#. module: mrp
#: view:mrp.production:0
msgid "Search Production"
-msgstr ""
+msgstr "Gyártás keresése"
#. module: mrp
#: code:addons/mrp/report/price.py:130
@@ -563,14 +594,14 @@ msgstr "Március"
#. module: mrp
#: field:mrp.bom,child_complete_ids:0
msgid "BoM Hierarchy"
-msgstr ""
+msgstr "Anyagjegyzék hierarchia"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce
#: view:mrp.product.produce:0
#: view:mrp.production:0
msgid "Produce"
-msgstr "Gyártás"
+msgstr "Gyártani"
#. module: mrp
#: help:mrp.workcenter,costs_cycle:0
@@ -582,17 +613,17 @@ msgstr ""
#: view:mrp.production.order:0
#: selection:mrp.production.order,state:0
msgid "Picking Exception"
-msgstr "Kiszedési kivétel"
+msgstr "Kiszedési hiba"
#. module: mrp
#: field:mrp.bom,bom_lines:0
msgid "BoM Lines"
-msgstr ""
+msgstr "Anyagjegyzék sorok"
#. module: mrp
#: field:mrp.workcenter,time_start:0
msgid "Time before prod."
-msgstr ""
+msgstr "Gyártás előkészületi idő"
#. module: mrp
#: help:mrp.routing,active:0
@@ -600,11 +631,13 @@ msgid ""
"If the active field is set to False, it will allow you to hide the routing "
"without removing it."
msgstr ""
+"Ha az aktív mezőt \"Hamis\"-ra állítja, akkor törlés nélkül el tudja rejteni "
+"a gyártási eljárást."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
msgid "Material Routing"
-msgstr ""
+msgstr "Termék útja"
#. module: mrp
#: view:mrp.production:0
@@ -612,31 +645,31 @@ msgstr ""
#: report:mrp.production.order:0
#: field:mrp.production.order,consumed_products:0
msgid "Consumed Products"
-msgstr ""
+msgstr "Felhasznált termékek"
#. module: mrp
#: constraint:mrp.bom:0
msgid "Error ! You can not create recursive BoM."
-msgstr ""
+msgstr "Hiba! Rekurzív anyagjegyzék nem hozható létre."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
#: model:ir.model,name:mrp.model_mrp_workcenter_load
#: model:ir.model,name:mrp.model_report_workcenter_load
msgid "Work Center Load"
-msgstr ""
+msgstr "Munkaállomás terheltsége"
#. module: mrp
#: code:addons/mrp/procurement.py:45
#, python-format
msgid "No BoM defined for this product !"
-msgstr ""
+msgstr "Az adott termékhez nincsen anyagjegyzék megadva!"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
msgid "Bill of Material Components"
-msgstr ""
+msgstr "Anyagjegyzék hozzávalói"
#. module: mrp
#: field:mrp.production.order,nbr:0
@@ -661,6 +694,10 @@ msgid ""
"operations and to plan future loads on work centers based on production "
"plannification."
msgstr ""
+"A késztermék létrehozásához szükséges műveletek (munkaállomások) listája. A "
+"gyártási eljárások fő funkciója a munkaállomások működési költségeinek "
+"számítása és a munkaállomások terheltségének tervezése a gyártási tervezésén "
+"keresztül."
#. module: mrp
#: help:mrp.workcenter,time_cycle:0
@@ -670,7 +707,7 @@ msgstr "Idő (órában), ami egy ciklus elvégzéséhez szükséges"
#. module: mrp
#: report:bom.structure:0
msgid "BOM Ref"
-msgstr ""
+msgstr "Anyagjegyzék hivatkozás"
#. module: mrp
#: view:mrp.production:0
@@ -683,7 +720,7 @@ msgstr "Gyártás alatt"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_property
msgid "Master Bill of Materials"
-msgstr ""
+msgstr "Fő anyagjegyzékek"
#. module: mrp
#: help:mrp.bom,product_uos:0
@@ -691,6 +728,8 @@ msgid ""
"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and "
"promotion of stock."
msgstr ""
+"A termék eladási mértékegysége a számlázásban és a kiszállításban használt "
+"mértékegység."
#. module: mrp
#: view:mrp.product_price:0
@@ -715,6 +754,7 @@ msgstr "Összes költsége "
#: model:process.node,note:mrp.process_node_minimumstockrule0
msgid "Linked to the 'Minimum stock rule' supplying method."
msgstr ""
+"A \"minimális raktárkezelési szabály\" ellátási módszeréhez kapcsolódik."
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -722,12 +762,12 @@ msgid "Per month"
msgstr "Havonta"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
msgid "Couldn't find bill of material for product"
-msgstr ""
+msgstr "A termékhez nem található anyagjegyzék"
#. module: mrp
#: report:bom.structure:0
@@ -735,15 +775,15 @@ msgid "Product Name"
msgstr "Termék neve"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
-msgstr "Érvénytelen művelet !"
+msgstr "Érvénytelen művelet!"
#. module: mrp
#: help:mrp.bom,product_efficiency:0
msgid "A factor of 0.9 means a loss of 10% within the production process."
-msgstr ""
+msgstr "A 0,9-es érték 10%-os veszteséget jelent a gyártási folyamatban."
#. module: mrp
#: view:mrp.installer:0
@@ -751,6 +791,8 @@ msgid ""
"Add more functionalities to the core Manufacturing Application with the "
"following addons."
msgstr ""
+"Bővitse további funkciókkal az alap gyártási alkalmazást az alábbi addonok "
+"használatával."
#. module: mrp
#: report:mrp.production.order:0
@@ -771,7 +813,7 @@ msgstr "Beszerzési szabály"
#. module: mrp
#: help:mrp.workcenter,costs_hour:0
msgid "Specify Cost of Work center per hour."
-msgstr ""
+msgstr "Adja meg a munkaállomás egy órára eső költségét."
#. module: mrp
#: view:mrp.production:0
@@ -786,7 +828,7 @@ msgstr "Szeptember"
#. module: mrp
#: report:mrp.production.order:0
msgid "WorkCenter"
-msgstr ""
+msgstr "Munkaállomás"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_procureserviceproduct0
@@ -795,6 +837,9 @@ msgid ""
"order creates a RFQ for a subcontracting purchase order or waits until the "
"service is done (= the delivery of the products)."
msgstr ""
+"A szolgáltatásnál megadott ellátási módtól függően, a beszerzési rendelés "
+"vagy egy alvállalkozónak szóló ajánlatkérést hoz létre, vagy várakozik, míg "
+"a szolgáltatás (azaz a termék kiszállítása) be nem fejeződik."
#. module: mrp
#: selection:mrp.production,priority:0
@@ -815,7 +860,7 @@ msgstr "Gyártási rendelés"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_productionprocureproducts0
msgid "Procurement of raw material"
-msgstr ""
+msgstr "Alapanyag-beszerzés"
#. module: mrp
#: help:mrp.routing.workcenter,hour_nbr:0
@@ -823,6 +868,8 @@ msgid ""
"Time in hours for this work center to achieve the operation of the specified "
"routing."
msgstr ""
+"A megadott munkaállomásnak szükséges idő (órákban), amivel az eljárásban "
+"megadott műveletet el tudja végezni."
#. module: mrp
#: view:mrp.production:0
@@ -835,7 +882,7 @@ msgstr "Összes ciklus"
#: view:mrp.production.order:0
#: selection:mrp.production.order,state:0
msgid "Ready to Produce"
-msgstr ""
+msgstr "Gyártásra kész"
#. module: mrp
#: field:mrp.bom.revision,name:0
@@ -852,7 +899,7 @@ msgstr "Dátum"
#. module: mrp
#: field:mrp.bom,type:0
msgid "BoM Type"
-msgstr ""
+msgstr "Anyagjegyzék tipusa"
#. module: mrp
#: view:mrp.production.order:0
@@ -865,6 +912,7 @@ msgstr "Kiterjesztett szűrők…"
msgid ""
"Procurement '%s' has an exception: 'No BoM defined for this product !'"
msgstr ""
+"A %s beszerzés hibát jelzett: \"A termékhez nem található anyagjegyzék!\""
#. module: mrp
#: view:mrp.production.order:0
@@ -896,7 +944,7 @@ msgstr "Vezérlőpult"
#. module: mrp
#: view:board.board:0
msgid "Work Center Future Load"
-msgstr ""
+msgstr "Munkaállomások jövőbeli terheltsége"
#. module: mrp
#: model:process.node,name:mrp.process_node_stockproduct0
@@ -909,7 +957,7 @@ msgstr "Készletezhető termék"
#: code:addons/mrp/report/price.py:121
#, python-format
msgid "Work Center name"
-msgstr ""
+msgstr "Munkaállomás neve"
#. module: mrp
#: field:mrp.routing,code:0
@@ -924,18 +972,18 @@ msgstr "Órák száma"
#. module: mrp
#: field:mrp.installer,mrp_jit:0
msgid "Just In Time Scheduling"
-msgstr ""
+msgstr "Just In Time ütemezés"
#. module: mrp
#: view:mrp.property:0
#: view:mrp.property.group:0
msgid "Property Group"
-msgstr ""
+msgstr "Tulajdonságcsoport"
#. module: mrp
#: view:mrp.production:0
msgid "Qty"
-msgstr "Menny."
+msgstr "Mennyiség"
#. module: mrp
#: model:process.node,note:mrp.process_node_production0
@@ -954,6 +1002,8 @@ msgid ""
"Enables multiple product output from a single production order: without "
"this, a production order can have only one output product."
msgstr ""
+"Lehetővét teszi több termék kibocsátását egyetlen gyártási rendelésből. "
+"Enélkül a gyártási rendelés csak egy terméket bocsátana ki."
#. module: mrp
#: view:change.production.qty:0
@@ -982,6 +1032,8 @@ msgid ""
"If the service has a 'Buy' supply method, this creates a RFQ, a "
"subcontracting demand for instance."
msgstr ""
+"Ha a szolgáltatás ellátási módja \"Vásárlás\", akkor a rendszer egy "
+"ajánlatkérést hoz létre."
#. module: mrp
#: field:mrp.production,move_prod_id:0
@@ -996,18 +1048,20 @@ msgstr "Később"
#. module: mrp
#: model:process.node,name:mrp.process_node_servicemts0
msgid "Make to stock"
-msgstr "Készletre gyártás"
+msgstr "Beszerzés készletből"
#. module: mrp
#: help:mrp.routing.workcenter,sequence:0
msgid ""
"Gives the sequence order when displaying a list of routing work centers."
msgstr ""
+"Megadja a sorrendet, amikor az eljárásban lévő munkaállomások listáját "
+"kiállítjuk."
#. module: mrp
#: report:bom.structure:0
msgid "BOM Name"
-msgstr ""
+msgstr "Anyagjegyzék név"
#. module: mrp
#: view:mrp.production:0
@@ -1036,6 +1090,8 @@ msgid ""
"Manages product routes and paths within and between locations (e.g. "
"warehouses)."
msgstr ""
+"Kezeli a termékeljárásokat és a termékútvonalakat a helyeken és a helyek "
+"között (pl.: raktárak között)."
#. module: mrp
#: model:process.node,note:mrp.process_node_billofmaterial0
@@ -1054,7 +1110,7 @@ msgstr "Név"
#. module: mrp
#: view:mrp.installer:0
msgid "MRP Application Configuration"
-msgstr ""
+msgstr "Gyártási modul alkalmazás konfigurálás"
#. module: mrp
#: help:mrp.installer,mrp_jit:0
@@ -1065,6 +1121,11 @@ msgid ""
"avoids having to wait for the procurement scheduler to run or having to run "
"the procurement scheduler manually."
msgstr ""
+"Lehetővé teszi a Just in Time számításokat a beszerzési rendelésekben. \n"
+"\n"
+"Míg ez erőforrás igényesebb, mint az alapértelmezett beállítás, a Just in "
+"Time modul kikerüli azt, hogy a beszerzési ütemező futtatására várjunk, vagy "
+"hogy a beszerzési ütemezőt manuálisan futtassuk."
#. module: mrp
#: field:mrp.product.produce,mode:0
@@ -1079,7 +1140,7 @@ msgstr "]"
#. module: mrp
#: field:mrp.workcenter.load,measure_unit:0
msgid "Amount measuring unit"
-msgstr ""
+msgstr "Érték mértékegysége"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning
@@ -1091,11 +1152,18 @@ msgid ""
"materials have been defined, OpenERP is capable of automatically deciding on "
"the manufacturing route depending on the needs of the company."
msgstr ""
+"Gyártási rendelések meghatározzák azokat a műveleteket, amelyeket el kell "
+"végezni, illetve az alapanyag-felhasználást minden egyes gyártási fázisban. "
+"Használjon specifikációkat (anyagjegyzékek), hogy meghatározza az alapanyag-"
+"szükségletek és a késztermékek elkészítéséhez szükséges gyártási "
+"rendeléseket. Ha az anyagjegyzékeket egyszer már megadta, az OpenERP képes "
+"automatiklusan eldönteni, hogy melyik gyártási eljárást alkalmazza, függően "
+"a vállalat szükségleteitől."
#. module: mrp
#: constraint:mrp.production:0
msgid "Order quantity cannot be negative or zero !"
-msgstr "Rendelési mennyiség nem lehet negatív vagy nulla !"
+msgstr "Rendelési mennyiség nem lehet negatív vagy nulla!"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action3
@@ -1144,7 +1212,7 @@ msgstr ""
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action4
msgid "Manufacturing Orders Waiting Products"
-msgstr ""
+msgstr "Árura várakozó gyártási rendelések"
#. module: mrp
#: view:mrp.bom:0
@@ -1160,36 +1228,36 @@ msgstr "Csoportosítás..."
#: code:addons/mrp/report/price.py:121
#, python-format
msgid "Cycles Cost"
-msgstr "Ciklus költsége"
+msgstr "Ciklus költség"
#. module: mrp
#: selection:mrp.workcenter.load,measure_unit:0
msgid "Amount in cycles"
-msgstr ""
+msgstr "Érték ciklusokban"
#. module: mrp
#: field:mrp.production,location_dest_id:0
#: view:mrp.production.order:0
#: field:mrp.production.order,location_dest_id:0
msgid "Finished Products Location"
-msgstr ""
+msgstr "Késztermékek helye"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_pm_resources_config
msgid "Resources"
-msgstr "Források"
+msgstr "Erőforrások"
#. module: mrp
#: field:mrp.workcenter,costs_journal_id:0
msgid "Analytic Journal"
-msgstr "Gyűjtőnapló"
+msgstr "Analitikus napló"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action
#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp
#: field:mrp.routing,workcenter_lines:0
msgid "Work Centers"
-msgstr ""
+msgstr "Munkaállomások"
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -1204,6 +1272,10 @@ msgid ""
"They are attached to bills of materials that will define the required raw "
"materials."
msgstr ""
+"A gyártási eljárások lehetővé teszik Önnek, hogy létrehozza és kezelje "
+"azokat a gyártási műveleteket, amelyeket a termék legyártásához követni kell "
+"a munkaállomásokon. Az eljárások az anyagjegyzékekhez kapcsolódnak, amelyek "
+"meghatározzák a szükséges alapanyagokat."
#. module: mrp
#: field:report.workcenter.load,hour:0
@@ -1213,7 +1285,7 @@ msgstr "Óra száma"
#. module: mrp
#: view:mrp.routing:0
msgid "Work Center Operations"
-msgstr ""
+msgstr "Munkaállomás műveletei"
#. module: mrp
#: view:mrp.routing:0
@@ -1237,24 +1309,24 @@ msgstr "Időegység kiválasztása"
#. module: mrp
#: view:report.workcenter.load:0
msgid "Work Center load"
-msgstr ""
+msgstr "Munkaállomás terheltsége"
#. module: mrp
#: help:mrp.production,location_dest_id:0
msgid "Location where the system will stock the finished products."
-msgstr ""
+msgstr "A késztermékek tárolásának helye."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
msgid "Change Parent Price"
-msgstr ""
+msgstr "Fölérendelt ár megváltoztatása"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_move
@@ -1268,6 +1340,9 @@ msgid ""
"maxi quantity. It's available in the Inventory management menu and "
"configured by product."
msgstr ""
+"A minimális készlet szabály egy automatikus beszerzési szabály, amely a "
+"minimum és maximum árumennyiségre épül. Elérhető a leltárkezelés menüben, "
+"illetve az egyes termékeknél állítható be."
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -1282,7 +1357,7 @@ msgstr "Felülvizsgálatok"
#. module: mrp
#: view:mrp.installer:0
msgid "Configure Your Manufacturing Resource Planning Application"
-msgstr ""
+msgstr "Állítsa be a gyártási modul alkalmazását."
#. module: mrp
#: field:mrp.production,priority:0
@@ -1301,38 +1376,38 @@ msgid "Month -1"
msgstr "Előző hónap"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
-msgstr ""
+msgstr "A %s gyártási rendelést a rendszer a következőre ütemezte: %s"
#. module: mrp
#: report:mrp.production.order:0
msgid "Production Order N° :"
-msgstr "Gyártási rendelés száma"
+msgstr "Gyártási rendelés száma:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
-msgstr ""
+msgstr "A %s gyártási rendelés gyártásra kész."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_product_line
msgid "Production Scheduled Product"
-msgstr ""
+msgstr "Gyártásra ütemezett termék"
#. module: mrp
#: help:res.company,manufacturing_lead:0
msgid "Security days for each manufacturing operation."
-msgstr ""
+msgstr "Minden gyártási művelet biztonsági ideje."
#. module: mrp
#: model:process.node,name:mrp.process_node_mts0
#: model:process.transition,name:mrp.process_transition_servicemts0
#: model:process.transition,name:mrp.process_transition_stockmts0
msgid "Make to Stock"
-msgstr "Készletre gyártás"
+msgstr "Beszerzés készletből"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -1348,6 +1423,12 @@ msgid ""
"product needs. You can either create a bill of materials to define specific "
"production steps or define a single multi-level bill of materials."
msgstr ""
+"A fő anyagjegyzékek lehetővé teszik Önnek, hogy létrehozza és kezelje a "
+"késztermék előállításához szükséges alapanyagok listáját. Az OpenERP "
+"használja ezeket az anyagjegyzékeket, hogy automatikusan javasoljon gyártási "
+"rendeléseket a termékszükségleteknek megfelelően. Létrehozhat "
+"anyagjegyzékeket, hogy meghatározzon speciális gyártási lépéseket vagy "
+"megadhat egy több szintű anyagjegyzék-struktúrát is."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_stockrfq0
@@ -1355,8 +1436,8 @@ msgid ""
"In case the Supply method of the product is Buy, the system creates a "
"purchase order."
msgstr ""
-"Ha a termék ellátási módszere vásárlás, a rendszer szállítói megrendelést "
-"hoz létre."
+"Ha a termék ellátási módszere \"Vásárlás\", a rendszer szállítói "
+"megrendelést hoz létre."
#. module: mrp
#: model:ir.model,name:mrp.model_procurement_order
@@ -1373,7 +1454,7 @@ msgstr "Termék költségszerkezete"
#: code:addons/mrp/report/price.py:130
#, python-format
msgid "Components suppliers"
-msgstr "Alkatrészek beszállítói"
+msgstr "Hozzávalók beszállítói"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_installer
@@ -1383,7 +1464,7 @@ msgstr "mrp.installer"
#. module: mrp
#: view:mrp.production:0
msgid "Production Work Centers"
-msgstr ""
+msgstr "Gyártási munkaállomások"
#. module: mrp
#: view:mrp.production.order:0
@@ -1400,12 +1481,12 @@ msgstr "Aktív ID nem található"
#. module: mrp
#: view:mrp.workcenter:0
msgid "Search for mrp workcenter"
-msgstr ""
+msgstr "Munkaállomás keresése"
#. module: mrp
#: view:mrp.bom:0
msgid "BoM Structure"
-msgstr ""
+msgstr "Anyagjegyzék struktúra"
#. module: mrp
#: field:mrp.production,date_start:0
@@ -1416,12 +1497,12 @@ msgstr "Kezdő dátum"
#. module: mrp
#: field:mrp.workcenter,costs_hour_account_id:0
msgid "Hour Account"
-msgstr "Óra gyűjtőkód"
+msgstr "Óra számla"
#. module: mrp
#: view:mrp.production:0
msgid "Destination Loc."
-msgstr ""
+msgstr "Célállomás helye"
#. module: mrp
#: field:mrp.production.order,product_id2:0
@@ -1442,13 +1523,13 @@ msgstr "aktív"
#. module: mrp
#: model:process.node,name:mrp.process_node_procureproducts0
msgid "Procure Products"
-msgstr ""
+msgstr "Termékek beszerzése"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_workcenter_load_tree
#: view:report.workcenter.load:0
msgid "Work Center Loads"
-msgstr ""
+msgstr "Munkaállomások terheltsége"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_property_action
@@ -1466,6 +1547,7 @@ msgstr "Tulajdonságok"
msgid ""
"Reference of the document that generated this production order request."
msgstr ""
+"A dokumentum hivatkozása hozta létre ezt a gyártási rendelési megbízást."
#. module: mrp
#: sql_constraint:mrp.bom:0
@@ -1474,6 +1556,9 @@ msgid ""
"You should install the mrp_subproduct module if you want to manage extra "
"products on BoMs !"
msgstr ""
+"Minden termékmennyiségnek pozitívnak kell lennie.\n"
+"Telepítse az altermékek modult, amennyiben több terméket is szeretnénk egy "
+"anyagjegyzékkel legyártani."
#. module: mrp
#: view:mrp.production:0
@@ -1483,12 +1568,12 @@ msgstr "Extra információ"
#. module: mrp
#: model:ir.model,name:mrp.model_change_production_qty
msgid "Change Quantity of Products"
-msgstr ""
+msgstr "Termékek mennyiségének megváltoztatása"
#. module: mrp
#: model:process.node,note:mrp.process_node_productionorder0
msgid "Drives the procurement orders for raw material."
-msgstr ""
+msgstr "Kezeli az alapanyagok beszerzési rendeléseit."
#. module: mrp
#: view:mrp.production.order:0
@@ -1503,7 +1588,7 @@ msgstr "Főkönyvi számla"
#. module: mrp
#: report:mrp.production.order:0
msgid "SO Number"
-msgstr ""
+msgstr "Értékesítési megbízás száma"
#. module: mrp
#: selection:mrp.production,state:0
@@ -1536,17 +1621,19 @@ msgid ""
"This will change the price of parent products also according to the BoM "
"structure specified for the product."
msgstr ""
+"Ez megváltoztatja a fölérendelt termékek árát is a termék anyagjegyzék-"
+"struktúrájának megfelelően."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2
msgid "Manufacturing Orders To Start"
-msgstr ""
+msgstr "Elkezdésre váró gyártási rendelések"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
-msgstr ""
+msgstr "A %s állapotban lévő gyártási rendelések nem törölhetőek!"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_workcenter
@@ -1555,12 +1642,12 @@ msgstr ""
#: view:mrp.workcenter:0
#: field:report.workcenter.load,workcenter_id:0
msgid "Work Center"
-msgstr ""
+msgstr "Munkaállomás"
#. module: mrp
#: field:mrp.workcenter,capacity_per_cycle:0
msgid "Capacity per Cycle"
-msgstr ""
+msgstr "Ciklusonkénti kapacitás"
#. module: mrp
#: model:ir.model,name:mrp.model_product_product
@@ -1585,7 +1672,7 @@ msgstr "Összes óra"
#: field:mrp.production,location_src_id:0
#: field:mrp.production.order,location_src_id:0
msgid "Raw Materials Location"
-msgstr ""
+msgstr "Alapanyagok helye"
#. module: mrp
#: view:mrp.product_price:0
@@ -1605,11 +1692,14 @@ msgid ""
"of one or more persons and/or machines that can be considered as a unit for "
"capacity and planning forecasting."
msgstr ""
+"A munkaállomások lehetővé teszik Önnek, hogy létrehozza és kezelje az egy "
+"vagy több személyből vagy gépből álló gyártási egységeket, amelyek a "
+"kapacitástervezés és -előrejelzés alapegységeit képezik."
#. module: mrp
#: view:mrp.production:0
msgid "Consume Products"
-msgstr ""
+msgstr "Termékek felhasználása"
#. module: mrp
#: field:mrp.bom,product_uom:0
@@ -1624,16 +1714,16 @@ msgstr "Termék ME"
#: model:process.transition,name:mrp.process_transition_servicemto0
#: model:process.transition,name:mrp.process_transition_stockproduct0
msgid "Make to Order"
-msgstr "Rendelésre gyártás"
+msgstr "Beszerzés megrendelésből"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_mrp_production_order
#: model:ir.ui.menu,name:mrp.menu_report_mrp_production_orders_tree
msgid "Production Analysis"
-msgstr "Gyártás elemzése"
+msgstr "Gyártáselemzés"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Másolás"
@@ -1647,18 +1737,20 @@ msgstr "Gyártási termékek"
#: field:mrp.production,date_finished:0
#: field:mrp.production.order,date_finished:0
msgid "End Date"
-msgstr "Befejezés dátuma"
+msgstr "Befejezési dátum"
#. module: mrp
#: field:mrp.workcenter,resource_id:0
msgid "Resource"
-msgstr "Forrás"
+msgstr "Erőforrás"
#. module: mrp
#: help:mrp.bom,date_start:0
#: help:mrp.bom,date_stop:0
msgid "Validity of this BoM or component. Keep empty if it's always valid."
msgstr ""
+"Az anyagjegyzék vagy hozzávaló érvényessége. Hagyja üresen, ha mindig "
+"érvényes."
#. module: mrp
#: field:mrp.production,product_uos:0
@@ -1684,21 +1776,25 @@ msgid ""
"operations and to plan future loads on work centers based on production "
"planning."
msgstr ""
+"A késztermék gyártásához szükséges műveletek listája (munkaállomások "
+"listája). Az eljárás főleg arra szolgál, hogy a műveletek alatt a "
+"munkaállomások költségei ki legyenek számítva, és hogy a munkaállomások "
+"jövőbeni terheltsége meg legyen tervezve a gyártási terv alapján."
#. module: mrp
#: view:change.production.qty:0
msgid "Approve"
-msgstr "Jóváhagy"
+msgstr "Jóváhagyás"
#. module: mrp
#: view:mrp.property.group:0
msgid "Properties categories"
-msgstr ""
+msgstr "Tulajdonság-kategóriák"
#. module: mrp
#: help:mrp.production.workcenter.line,sequence:0
msgid "Gives the sequence order when displaying a list of work orders."
-msgstr ""
+msgstr "Megadja a sorrendet, amikor a munka megbízások listáját kiállítjuk."
#. module: mrp
#: report:mrp.production.order:0
@@ -1714,7 +1810,7 @@ msgstr "Tervezett termékek"
#. module: mrp
#: view:mrp.production.lot.line:0
msgid "Production Products Consommation"
-msgstr ""
+msgstr "Gyártási termékek felhasználása"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action
@@ -1734,12 +1830,17 @@ msgid ""
"the quantity selected and it will finish the production order when total "
"ordered quantities are produced."
msgstr ""
+"A \"Csak felhasználás\" mód csak a kijelölt mennyiségű termékeket használja "
+"fel.\n"
+"A \"Felhasználás és gyártás\" mód a kijelölt mennyiségű termékeket "
+"használja fel és gyártja is, és csak akkor fejezi be a gyártási rendelést, "
+"amikor a teljes megrendelt mennyiség legyártásra került."
#. module: mrp
#: view:mrp.production:0
#: report:mrp.production.order:0
msgid "Work Orders"
-msgstr ""
+msgstr "Munka megbízások"
#. module: mrp
#: field:mrp.workcenter,costs_cycle:0
@@ -1761,13 +1862,13 @@ msgstr "Törölt"
#. module: mrp
#: view:mrp.production.order:0
msgid "BOM"
-msgstr ""
+msgstr "Anyagjegyzék"
#. module: mrp
#: help:mrp.bom,product_uom:0
msgid ""
"UoM (Unit of Measure) is the unit of measurement for the inventory control"
-msgstr ""
+msgstr "A mértékegység leltárellenőrzés mértékegysége."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_bom0
@@ -1776,6 +1877,9 @@ msgid ""
"are products themselves) can also have their own Bill of Material (multi-"
"level)."
msgstr ""
+"Az anyagjegyzék a termék szétbontása összetevőkre. Az összetevőknek, amelyek "
+"maguk is termékek, rendelkezhetnek saját anyagjegyzékkel (több szintű "
+"anyagjegyzék)."
#. module: mrp
#: field:mrp.bom,company_id:0
@@ -1828,7 +1932,7 @@ msgstr "Összetevők"
#: report:bom.structure:0
#: model:ir.actions.report.xml,name:mrp.report_bom_structure
msgid "BOM Structure"
-msgstr ""
+msgstr "Anyagjegyzék struktúra"
#. module: mrp
#: field:mrp.bom,date_stop:0
@@ -1843,7 +1947,7 @@ msgstr "Érvényesség kezdete"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Normal BoM"
-msgstr ""
+msgstr "Normál anyagjegyzék"
#. module: mrp
#: field:res.company,manufacturing_lead:0
@@ -1863,6 +1967,9 @@ msgid ""
"linked to manufacturing activities, receptions of products and delivery "
"orders."
msgstr ""
+"A heti készlet érték változtatása lehetővé teszi Önnek, hogy kövesse a "
+"gyártási tevékenységekhez, a termékek beérkezéséhez és a kiszállítási "
+"megbízásokhoz kapcsolódó készletérték fejlődését."
#. module: mrp
#: view:mrp.product.produce:0
@@ -1872,7 +1979,7 @@ msgstr "Megerősítés"
#. module: mrp
#: field:mrp.bom,product_efficiency:0
msgid "Manufacturing Efficiency"
-msgstr ""
+msgstr "Gyártási hatékonyság"
#. module: mrp
#: constraint:res.company:0
@@ -1885,17 +1992,19 @@ msgid ""
"If the active field is set to False, it will allow you to hide the bills of "
"material without removing it."
msgstr ""
+"Ha az aktív mező \"Hamis\"-ra van állítva, ez lehetővé teszi, hogy elrejtse "
+"az anyagjegyzékeket, anélkül, hogy törölné azokat."
#. module: mrp
#: field:mrp.bom,product_rounding:0
msgid "Product Rounding"
-msgstr ""
+msgstr "Termék kerekítése"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
#: field:mrp.production.workcenter.line,name:0
msgid "Work Order"
-msgstr ""
+msgstr "Munka megbízás"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.action_report_mrp_production_order
@@ -1903,16 +2012,18 @@ msgid ""
"This reporting allows you to analyse your manufacturing activities and "
"performance."
msgstr ""
+"A riport készítés lehetővé teszi Önnek, hogy elemezze a gyártási "
+"tevékenységét és teljesítményét."
#. module: mrp
#: selection:mrp.product.produce,mode:0
msgid "Consume Only"
-msgstr ""
+msgstr "Csak felhasználás"
#. module: mrp
#: view:mrp.production:0
msgid "Recreate Picking"
-msgstr ""
+msgstr "Kiszedés újrakészítése"
#. module: mrp
#: help:mrp.bom,type:0
@@ -1923,6 +2034,12 @@ msgid ""
"product, it will be sold and shipped as a set of components, instead of "
"being produced."
msgstr ""
+"Ha egy altermék több termékben is használatban van, hasznos lehet "
+"megcsinálni a saját anyagjegyzékét. Ha nem szeretne különböző gyártási "
+"rendeléseket erre az altermékre, akkor válassza a fantom anyagjegyzék "
+"beállítását, mint anyagjegyzék típust. Ha a fantom anyagjegyzék kiinduló "
+"termékként van használatban, akkor azt a rendszer összetevők egységeként "
+"értékesíti és szállítja, ahelyett, hogy gyártaná."
#. module: mrp
#: field:mrp.bom,method:0
@@ -1940,6 +2057,14 @@ msgid ""
" When the production gets started then the state is set to 'In Production'.\n"
" When the production is over, the state is set to 'Done'."
msgstr ""
+"Amikor a gyártási rendelés létrejön, a gyártás állapota \"Tervezet\" lesz.\n"
+"Amikor a rendelés megerősítésre kerül, a gyártás állapota \"Várakozás az "
+"árura\" lesz.\n"
+"Ha bármilyen hiba felmerül, a gyártás állapota \"Kiszedési hiba\" lesz. \n"
+"Ha a készlet elérhető, akkor a gyártás állapota \"Gyártásra kész\" lesz. \n"
+"Amikor a gyártás elkezdődik, akkor a gyártás állapota \"Gyártás alatt\" "
+"lesz.\n"
+"Amikor a gyártás befejeződik, a a gyártás állapota \"Kész\" lesz."
#. module: mrp
#: selection:mrp.bom,method:0
@@ -1950,12 +2075,12 @@ msgstr "Rendelésre"
#: model:ir.ui.menu,name:mrp.menu_mrp_configuration
#: view:res.company:0
msgid "Configuration"
-msgstr "Beállítások"
+msgstr "Beállítás"
#. module: mrp
#: field:mrp.workcenter,time_stop:0
msgid "Time after prod."
-msgstr ""
+msgstr "Gyártás utáni idő"
#. module: mrp
#: field:mrp.workcenter.load,time_unit:0
@@ -1965,7 +2090,7 @@ msgstr "Időszak típusa"
#. module: mrp
#: view:mrp.production:0
msgid "Total Qty"
-msgstr "Összmenny."
+msgstr "Összmennyiség"
#. module: mrp
#: field:mrp.routing.workcenter,hour_nbr:0
@@ -1975,7 +2100,7 @@ msgstr "Órák száma"
#. module: mrp
#: view:mrp.workcenter:0
msgid "Costing Information"
-msgstr ""
+msgstr "Költségszámítási információk"
#. module: mrp
#: model:process.node,name:mrp.process_node_purchaseprocure0
@@ -1985,27 +2110,27 @@ msgstr "Beszerzési megrendelések"
#. module: mrp
#: help:mrp.bom,product_rounding:0
msgid "Rounding applied on the product quantity."
-msgstr ""
+msgstr "A termékmennyiségen alkalmazott kerekítés."
#. module: mrp
#: model:process.node,note:mrp.process_node_stock0
msgid "Assignment from Production or Purchase Order."
-msgstr ""
+msgstr "Ellátás gyártási vagy beszerzési megrendelésből."
#. module: mrp
#: field:mrp.routing.workcenter,routing_id:0
msgid "Parent Routing"
-msgstr ""
+msgstr "Fölérendelt eljárás"
#. module: mrp
#: view:mrp.installer:0
msgid "Configure"
-msgstr "Beállítás"
+msgstr "Beállít"
#. module: mrp
#: help:mrp.workcenter,time_start:0
msgid "Time in hours for the setup."
-msgstr ""
+msgstr "A beállításhoz szükséges idő órákban megadva."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2021,19 +2146,19 @@ msgstr "Kép"
#: field:mrp.bom.revision,bom_id:0
#: field:procurement.order,bom_id:0
msgid "BoM"
-msgstr ""
+msgstr "Anyagjegyzék"
#. module: mrp
#: model:ir.model,name:mrp.model_report_mrp_inout
#: view:report.mrp.inout:0
msgid "Stock value variation"
-msgstr ""
+msgstr "Készletérték változás"
#. module: mrp
#: model:process.node,note:mrp.process_node_mts0
#: model:process.node,note:mrp.process_node_servicemts0
msgid "Assignment from stock."
-msgstr ""
+msgstr "Ellátás raktárból"
#. module: mrp
#: selection:mrp.production,state:0
@@ -2045,13 +2170,13 @@ msgstr "Várakozás az árura"
#. module: mrp
#: field:mrp.bom.revision,last_indice:0
msgid "last indice"
-msgstr ""
+msgstr "utolsó jelzőszám"
#. module: mrp
#: field:mrp.bom,revision_ids:0
#: view:mrp.bom.revision:0
msgid "BoM Revisions"
-msgstr ""
+msgstr "Anyagjegyzék felülvizsgálatok"
#. module: mrp
#: selection:mrp.production,state:0
@@ -2091,7 +2216,7 @@ msgstr "Költségszerkezet"
#. module: mrp
#: selection:mrp.product.produce,mode:0
msgid "Consume & Produce"
-msgstr ""
+msgstr "Felhasználás és gyártás"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2101,7 +2226,7 @@ msgstr "November"
#. module: mrp
#: field:mrp.bom,bom_id:0
msgid "Parent BoM"
-msgstr ""
+msgstr "Fölérendelt anyagjegyzék"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2
@@ -2110,6 +2235,9 @@ msgid ""
"master bills of materials. Use this menu to search in which BoM a specific "
"component is used."
msgstr ""
+"Az anyagjegyzék összetevők azok összetevők és altermékek, amelyek fő "
+"anyagjegyzékek létrehozására szolgálnak. Használja ezt a menüt annak "
+"megkeresésére, hogy egy speciális összetevőt mely anyagjegyzék használ."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2119,10 +2247,10 @@ msgstr "Január"
#. module: mrp
#: model:process.node,note:mrp.process_node_stockproduct0
msgid "Product type is Stockable or Consumable."
-msgstr "A termék típusa készletezhető vagy felhasználható."
+msgstr "A termék típusa raktározható vagy felhasználható."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2140,7 +2268,7 @@ msgstr "Mennyiség kiválasztása"
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action
#: field:product.product,bom_ids:0
msgid "Bill of Materials"
-msgstr ""
+msgstr "Anyagjegyzékek"
#. module: mrp
#: help:mrp.routing.workcenter,routing_id:0
@@ -2153,7 +2281,7 @@ msgstr ""
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_bom_revision
msgid "Bill of Material Revision"
-msgstr ""
+msgstr "Anyagjegyzék felülvizsgálat"
#. module: mrp
#: view:mrp.routing.workcenter:0
@@ -2164,13 +2292,13 @@ msgstr "Általános információ"
#. module: mrp
#: view:mrp.production:0
msgid "Productions"
-msgstr "Gyártás"
+msgstr "Gyártások"
#. module: mrp
#: code:addons/mrp/report/price.py:194
#, python-format
msgid "Work Cost of "
-msgstr ""
+msgstr "Munkaköltsége "
#. module: mrp
#: help:mrp.workcenter,note:0
@@ -2189,7 +2317,7 @@ msgstr ""
#: view:mrp.routing:0
#: model:process.node,name:mrp.process_node_routing0
msgid "Routing"
-msgstr ""
+msgstr "Gyártási eljárás"
#. module: mrp
#: field:mrp.installer,mrp_operations:0
@@ -2204,7 +2332,7 @@ msgstr "Tervezett dátum"
#. module: mrp
#: constraint:stock.move:0
msgid "You must assign a production lot for this product"
-msgstr ""
+msgstr "Rendeljen hozzá egy gyártási tételt ehhez a termékhez!"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_property_action
@@ -2215,6 +2343,12 @@ msgid ""
"sales person creates a sales order, he can relate it to several properties "
"and OpenERP will automatically select the BoM to use according the the needs."
msgstr ""
+"A Tulajdonságok az OpenERP-ben arra szolgál, hogy kiválassza a megfelelő "
+"anyagjegyzéket egy termék gyártásához, amikor különböző módokon is "
+"gyárthatja ugyanazt a terméket. Számos tulajdonságot hozzárendelhet minden "
+"egyes anyagjegyzékhez. Amikor egy értékesítő létrehoz egy értékesítési "
+"megbízást, összekapcsolhatja azt számos tulajdonsággal, és az OpenERP "
+"automatikusan kiválasztja a megfelelő anyagjegyzéket az igények alapján."
#. module: mrp
#: view:mrp.production.order:0
@@ -2225,12 +2359,12 @@ msgstr "Gyártás"
#. module: mrp
#: view:board.board:0
msgid "Procurements in Exception"
-msgstr ""
+msgstr "Hibás beszerzések"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_minimumstockprocure0
msgid "'Minimum stock rule' material"
-msgstr ""
+msgstr "\"Minimális készlet szabály\" tárgya"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_price
@@ -2240,7 +2374,7 @@ msgstr "Termék ára"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_installer
msgid "MRP Applications Configuration"
-msgstr ""
+msgstr "Gyártási modul alkalmazások beállítása"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_move_split
@@ -2250,13 +2384,13 @@ msgstr "Gyártási tételek részekre osztása"
#. module: mrp
#: view:change.production.qty:0
msgid "Change Quantity"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:change.production.qty:0
#: model:ir.actions.act_window,name:mrp.action_change_production_qty
msgid "Change Product Qty"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:mrp.bom.revision:0
@@ -2279,7 +2413,7 @@ msgstr "Május"
#. module: mrp
#: view:board.board:0
msgid "Manufacturing board"
-msgstr ""
+msgstr "Gyártás áttekintő"
#. module: mrp
#: field:mrp.production,date_planned_end:0
@@ -2293,6 +2427,9 @@ msgid ""
"specified period. It is expressed in number of hours and machine related "
"cycles."
msgstr ""
+"A munkaállomások terheltsége menü ad egy előrejelzést a munkaállomások "
+"terheltségéről egy megadott időszakban. Ez óraszámokban és géphez kapcsolt "
+"ciklusokban kerül kifejezésre."
#. module: mrp
#: model:process.node,note:mrp.process_node_procureproducts0
@@ -2318,7 +2455,7 @@ msgstr "Február"
#: model:ir.actions.act_window,name:mrp.mrp_property_group_action
#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action
msgid "Property Groups"
-msgstr ""
+msgstr "Tulajdonság-csoportok"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2331,16 +2468,19 @@ msgid ""
"Depending on the chosen method to supply the stockable products, the "
"procurement order creates a RFQ, a production order, ... "
msgstr ""
+"Függően a raktározható termékek ellátásra kiválasztott módszertől a "
+"beszerzési megrendelés létrehoz egy ajánlatkérést, egy gyártási "
+"rendelést,... "
#. module: mrp
#: help:mrp.workcenter,time_stop:0
msgid "Time in hours for the cleaning."
-msgstr ""
+msgstr "A tisztítás ideje (órákban)."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_purchaseprocure0
msgid "Automatic RFQ"
-msgstr ""
+msgstr "Automatikus ajánlatkérés"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemto0
@@ -2348,6 +2488,8 @@ msgid ""
"If the service has a 'Produce' supply method, this creates a task in the "
"project management module of OpenERP."
msgstr ""
+"Ha a szolgáltatás ellátási módszere \"Gyártás\", a rendszer feladatokat hoz "
+"létre az OpenERP projektmenedzsment moduljában."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_productionprocureproducts0
@@ -2356,6 +2498,9 @@ msgid ""
"production order creates as much procurement orders as components listed in "
"the BOM, through a run of the schedulers (MRP)."
msgstr ""
+"Az alapanyagok ellátása érdekében (lehet beszerzés vagy gyártás útján), a "
+"gyártási rendelés létrehoz annyi további gyártási rendelést, amennyi "
+"összetevő az anyagjegyzékben van, az ütemező futtatásán keresztül."
#. module: mrp
#: help:mrp.product_price,number:0
@@ -2363,11 +2508,13 @@ msgid ""
"Specify quantity of products to produce or buy. Report of Cost structure "
"will be displayed base on this quantity."
msgstr ""
+"Speciális termékmennyiség gyártásra vagy vásárlásra. A költségstruktúra "
+"riport e mennyiség alapján lesz kiállítva."
#. module: mrp
#: selection:mrp.bom,method:0
msgid "On Stock"
-msgstr "Készletre"
+msgstr "Raktáron"
#. module: mrp
#: field:mrp.bom,sequence:0
@@ -2380,12 +2527,12 @@ msgstr "Sorszám"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp
msgid "Resource Leaves"
-msgstr ""
+msgstr "Erőforrás leadás"
#. module: mrp
#: help:mrp.bom,sequence:0
msgid "Gives the sequence order when displaying a list of bills of material."
-msgstr ""
+msgstr "Megadja a sorrendet, amikor az anyagjegyzékek listáját kiállítjuk."
#. module: mrp
#: view:mrp.production:0
@@ -2400,3 +2547,116 @@ msgstr "Felhasználandó termékek"
#: field:mrp.production.order,year:0
msgid "Year"
msgstr "Év"
+
+#~ msgid "Specify Cost of Work center per cycle."
+#~ msgstr "Adja meg a munkaállomás egy ciklusra számított költségét."
+
+#~ msgid "Workcenter Usage"
+#~ msgstr "Munkaállomás kihasználtsága"
+
+#~ msgid ""
+#~ "Number of operations this work center can do in parallel. If this work "
+#~ "center represents a team of 5 workers, the capacity per cycle is 5."
+#~ msgstr ""
+#~ "Műveletek száma, amelyeket a megadott munkaállomás párhuzamosan tud végezni. "
+#~ "Ha ez a munkaállomás 5 munka munkavállalóból álló csoportot jelent, akkor a "
+#~ "ciklusonkénti kapacitás 5."
+
+#~ msgid ""
+#~ "\n"
+#~ " This is the base module to manage the manufacturing process in OpenERP.\n"
+#~ "\n"
+#~ " Features:\n"
+#~ " * Make to Stock / Make to Order (by line)\n"
+#~ " * Multi-level BoMs, no limit\n"
+#~ " * Multi-level routing, no limit\n"
+#~ " * Routing and work center integrated with analytic accounting\n"
+#~ " * Scheduler computation periodically / Just In Time module\n"
+#~ " * Multi-pos, multi-warehouse\n"
+#~ " * Different reordering policies\n"
+#~ " * Cost method by product: standard price, average price\n"
+#~ " * Easy analysis of troubles or needs\n"
+#~ " * Very flexible\n"
+#~ " * Allows to browse Bill of Materials in complete structure\n"
+#~ " that include child and phantom BoMs\n"
+#~ " It supports complete integration and planification of stockable goods,\n"
+#~ " consumable of services. Services are completely integrated with the "
+#~ "rest\n"
+#~ " of the software. For instance, you can set up a sub-contracting service\n"
+#~ " in a BoM to automatically purchase on order the assembly of your "
+#~ "production.\n"
+#~ "\n"
+#~ " Reports provided by this module:\n"
+#~ " * Bill of Material structure and components\n"
+#~ " * Load forecast on workcenters\n"
+#~ " * Print a production order\n"
+#~ " * Stock forecasts\n"
+#~ " Dashboard provided by this module::\n"
+#~ " * List of next production orders\n"
+#~ " * List of deliveries (out picking)\n"
+#~ " * Graph of work center load\n"
+#~ " * List of procurement in exception\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ " Ez az alapmodul az OpenERP-ben a gyártási folyamatok kezelésére. \n"
+#~ "\n"
+#~ " Funkciók:\n"
+#~ " * Beszerzés raktárból és beszerzés megrendelésből (soronként "
+#~ "különbözően)\n"
+#~ " * Többszintű anyagjegyzékek (nincs korlátozás)\n"
+#~ " * Többszintű eljárások (nincs korlátozás)\n"
+#~ " * Gyártási eljárás és munkaállomás integráció az analitikus "
+#~ "könyveléssel\n"
+#~ " * Ütemező számítások periódikusan / Just In Time modul\n"
+#~ " * Több értékesítési hely, több raktár kezelése\n"
+#~ " * Különböző újrarendező eljárások\n"
+#~ " * Különböző költségkalkulációk termékenként: elszámoló ár, átlagár\n"
+#~ " * Könnyen kezelhető szükséglet felmérés és hiba felmérés\n"
+#~ " * Nagyon rugalmas\n"
+#~ " * Lehetővé teszi, hogy az anyagjegyzékeket a teljes struktúrájukban "
+#~ "böngésszük,\n"
+#~ " amely magába foglalja az alárendelt és fölérendelt anyagjegyzékeket "
+#~ "is.\n"
+#~ " Támogatja a raktározható áruk és a fogyasztható szolgáltatások teljes "
+#~ "integrációját\n"
+#~ " és a velük való tervezést. A szolgáltatások nem teljesen integráltak\n"
+#~ " a szoftver többi részével. Létrehozhat például egy alárendelt "
+#~ "szolgáltatást \n"
+#~ " egy anyagjegyzékben, hogy automatikusan beszerezze rendelésre a "
+#~ "gyártásának tételeit.\n"
+#~ "\n"
+#~ " A modul által nyújtott riportok:\n"
+#~ " * Anyagjegyzék struktúra és összetevők\n"
+#~ " * Munkaállomások terheltségének előrejelzése\n"
+#~ " * Gyártási rendelés nyomtatása\n"
+#~ " * Raktár előrejelzések\n"
+#~ "\n"
+#~ " A modul által nyújtott vezérlőpultok:\n"
+#~ " * Következő gyártási rendelések listája\n"
+#~ " * Szállítások listája\n"
+#~ " * Grafikon a munkaállomás terheltségéről\n"
+#~ " * Beszerzési hibák listája\n"
+#~ " "
+
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Ez a belső kiszedési lista, ami a késztermékeket a termelés tervbe viszi"
+
+#~ msgid ""
+#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
+#~ "Routing is indicated then,the third tab of a production order (workcenters) "
+#~ "will be automatically pre-completed."
+#~ msgstr ""
+#~ "A gyártási eljárás jelzi, hogy az összes munkaállomás milyen hosszan és/vagy "
+#~ "hány ciklusra van használatban. Ha a gyártási eljárás be van kapcsolva, a "
+#~ "gyártási rendelés 3. füle (munkaállomások) automatikusan kitöltésre kerül."
+
+#~ msgid ""
+#~ "Description of the work center. Explain here what's a cycle according to "
+#~ "this work center."
+#~ msgstr ""
+#~ "Munkaállomás leírása. Elmagyarázásra kerül itt, hogy mit jelent egy ciklus a "
+#~ "munkaállomás összefüggésében."
diff --git a/addons/mrp/i18n/id.po b/addons/mrp/i18n/id.po
index f59cf77019d..7741a302045 100644
--- a/addons/mrp/i18n/id.po
+++ b/addons/mrp/i18n/id.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/it.po b/addons/mrp/i18n/it.po
index 3b238fffc78..8cddef0977b 100644
--- a/addons/mrp/i18n/it.po
+++ b/addons/mrp/i18n/it.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-17 09:33+0000\n"
+"PO-Revision-Date: 2011-12-06 10:31+0000\n"
"Last-Translator: Davide Corio - agilebg.com \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -763,7 +763,7 @@ msgid "Per month"
msgstr "Mensile"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -776,7 +776,7 @@ msgid "Product Name"
msgstr "Descrizione Prodotto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Azione non valida !"
@@ -1316,7 +1316,7 @@ msgstr "Ubicazione dove il sistema stoccherà i prodotti finiti"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Questa è la lista dei prelievi interni necessari per la pianificazione della "
@@ -1375,7 +1375,7 @@ msgid "Month -1"
msgstr "Mese -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "L'ordine di produzione '%s' è pianificato per il %s."
@@ -1386,7 +1386,7 @@ msgid "Production Order N° :"
msgstr "Ordine di produzione N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "L'ordine di produzione '%s' è pronto per essere eseguito."
@@ -1627,7 +1627,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordini di Produzione da Eseguire"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1721,7 +1721,7 @@ msgid "Production Analysis"
msgstr "Analisi della produzione"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copia"
@@ -2252,7 +2252,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Il tipo prodotto è Stoccabile o Consumabile"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3255,6 +3255,13 @@ msgstr "Anno"
#~ "Se questo centro di lavoro rappresenta un team di 5 operai, la capacità per "
#~ "ciclo sarà 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Questa è la lista dei prelievi interni necessari per la pianificazione della "
+#~ "produzione del prodotto finito"
+
#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
diff --git a/addons/mrp/i18n/ko.po b/addons/mrp/i18n/ko.po
index 3fbc4c82d4c..92e42f8f80d 100644
--- a/addons/mrp/i18n/ko.po
+++ b/addons/mrp/i18n/ko.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:18+0000\n"
+"PO-Revision-Date: 2011-12-06 11:08+0000\n"
"Last-Translator: qdp (OpenERP) \n"
"Language-Team: Korean \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -718,7 +718,7 @@ msgid "Per month"
msgstr "월별"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -731,7 +731,7 @@ msgid "Product Name"
msgstr "상품 이름"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "유효하지 않은 액션 !"
@@ -1243,7 +1243,7 @@ msgstr "완제품을 보관할 시스템의 위치"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1297,7 +1297,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1308,7 +1308,7 @@ msgid "Production Order N° :"
msgstr "생산 주문 번호:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1537,7 +1537,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1627,7 +1627,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2116,7 +2116,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/lt.po b/addons/mrp/i18n/lt.po
index 44665d98443..4c776d8c9fc 100644
--- a/addons/mrp/i18n/lt.po
+++ b/addons/mrp/i18n/lt.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-07-20 22:46+0000\n"
+"PO-Revision-Date: 2011-12-06 10:26+0000\n"
"Last-Translator: Giedrius Slavinskas - inovera.lt "
"\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"Language: lt\n"
#. module: mrp
@@ -722,7 +722,7 @@ msgid "Per month"
msgstr "Per mėnesį"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -735,7 +735,7 @@ msgid "Product Name"
msgstr "Produkto pavadinimas"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Neleistinas veiksmas!"
@@ -1247,7 +1247,7 @@ msgstr "Vieta, kurioje talpinami pabaigti produktai ."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1301,7 +1301,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1312,7 +1312,7 @@ msgid "Production Order N° :"
msgstr "Gamybos užsakymo Nr. :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1541,7 +1541,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1631,7 +1631,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2121,7 +2121,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot
index 25a8bea531d..937fd9f45c4 100644
--- a/addons/mrp/i18n/mrp.pot
+++ b/addons/mrp/i18n/mrp.pot
@@ -1165,7 +1165,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
-msgid "This is the internal picking list that brings the finished product to the production plan"
+msgid "This is the Internal Picking List that brings the finished product to the production plan"
msgstr ""
#. module: mrp
diff --git a/addons/mrp/i18n/nb.po b/addons/mrp/i18n/nb.po
index 2bd9cc375b1..efa8612a315 100644
--- a/addons/mrp/i18n/nb.po
+++ b/addons/mrp/i18n/nb.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-30 22:16+0000\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2011-12-06 11:04+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: Norwegian Bokmal \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -756,7 +756,7 @@ msgid "Per month"
msgstr "Per måned"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -769,7 +769,7 @@ msgid "Product Name"
msgstr "Produktnavn"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ugyldig hendelse !"
@@ -1306,7 +1306,7 @@ msgstr "Lokasjon hvor systemet vil plassere de ferdige produktene."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Dette er den interne plukklisten som flytter det ferdige produktet til "
@@ -1364,7 +1364,7 @@ msgid "Month -1"
msgstr "Måned -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Produksjonsordren '%s' er planlagt for %s."
@@ -1375,7 +1375,7 @@ msgid "Production Order N° :"
msgstr "Produksjonsordre nr :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Produksjonsordre '%s' er klar for produksjon ."
@@ -1617,7 +1617,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Produksjonsordre å starte"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Kan ikke slette Produksjonsordre(r) som er i %s Status!"
@@ -1710,7 +1710,7 @@ msgid "Production Analysis"
msgstr "Produktanalyser"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopier"
@@ -2211,7 +2211,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2574,3 +2574,10 @@ msgstr "År"
#~ " * Graf over arbeidssenter belastning\n"
#~ " * Liste over anskaffelser med unntak\n"
#~ " "
+
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Dette er den interne plukklisten som flytter det ferdige produktet til "
+#~ "produksjonsplanen"
diff --git a/addons/mrp/i18n/nl.po b/addons/mrp/i18n/nl.po
index a54013b441c..16f363355a5 100644
--- a/addons/mrp/i18n/nl.po
+++ b/addons/mrp/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:23+0000\n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
"Last-Translator: qdp (OpenERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -720,7 +720,7 @@ msgid "Per month"
msgstr "Per maand"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -733,7 +733,7 @@ msgid "Product Name"
msgstr "Naam product"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ongeldige actie!"
@@ -1245,7 +1245,7 @@ msgstr "Locatie waar de eindproducten opgeslagen worden"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "Productie opdracht nr :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1539,7 +1539,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1629,7 +1629,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2120,7 +2120,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/nl_BE.po b/addons/mrp/i18n/nl_BE.po
index bf55c83626f..da909aadf80 100644
--- a/addons/mrp/i18n/nl_BE.po
+++ b/addons/mrp/i18n/nl_BE.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/pl.po b/addons/mrp/i18n/pl.po
index fd8dd6e2272..c9017dfec60 100644
--- a/addons/mrp/i18n/pl.po
+++ b/addons/mrp/i18n/pl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-22 13:12+0000\n"
+"PO-Revision-Date: 2011-12-06 11:05+0000\n"
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -746,7 +746,7 @@ msgid "Per month"
msgstr "Na miesiąc"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -759,7 +759,7 @@ msgid "Product Name"
msgstr "Nazwa produktu"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Niedozwolona akcja !"
@@ -1280,7 +1280,7 @@ msgstr "Strefa, w której system umieści gotowe produkty."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"To jest wewnętrzne pobranie, które przenosi gotowe produkty do planu "
@@ -1339,7 +1339,7 @@ msgid "Month -1"
msgstr "Miesiąc -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Zamówienie produkcji '%s' zostało zaplanowane dla %s."
@@ -1350,7 +1350,7 @@ msgid "Production Order N° :"
msgstr "Nr zamówienia produkcji"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Zamówienie produkcji '%s' jest gotowe do produkcji."
@@ -1583,7 +1583,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Zamówienia produkcji do rozpoczęcia"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Nie można usuwać zamówień produkcji, które są w stanie %s !"
@@ -1673,7 +1673,7 @@ msgid "Production Analysis"
msgstr "Analiza produkcji"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopiuj"
@@ -2164,7 +2164,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3149,6 +3149,13 @@ msgstr "Rok"
#~ msgid "Procure Stockable Product"
#~ msgstr "Zapotrzebowanie na produkty rejestrowane"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "To jest wewnętrzne pobranie, które przenosi gotowe produkty do planu "
+#~ "produkcji"
+
#~ msgid "Workcenter Usage"
#~ msgstr "Użycie centrum roboczego"
diff --git a/addons/mrp/i18n/pt.po b/addons/mrp/i18n/pt.po
index 9574e9dc573..478295f6d66 100644
--- a/addons/mrp/i18n/pt.po
+++ b/addons/mrp/i18n/pt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-11-23 11:53+0000\n"
-"Last-Translator: Daniel Reis \n"
+"PO-Revision-Date: 2011-12-06 10:51+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-24 05:00+0000\n"
-"X-Generator: Launchpad (build 14336)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -734,7 +734,7 @@ msgid "Per month"
msgstr "Por mês"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -747,7 +747,7 @@ msgid "Product Name"
msgstr "Nome de produção"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acção inválida !"
@@ -1259,7 +1259,7 @@ msgstr "Locais onde o sistema vai armazenar os produtos acabados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1313,7 +1313,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1324,7 +1324,7 @@ msgid "Production Order N° :"
msgstr "Nº de Ordem de Produção :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1553,7 +1553,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1643,7 +1643,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2132,7 +2132,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/pt_BR.po b/addons/mrp/i18n/pt_BR.po
index e55389cc1ec..9748020a3c2 100644
--- a/addons/mrp/i18n/pt_BR.po
+++ b/addons/mrp/i18n/pt_BR.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-07 18:35+0000\n"
+"PO-Revision-Date: 2011-12-06 10:51+0000\n"
"Last-Translator: Alexsandro Haag \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Por mês"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Nome do Produto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ação inválida!"
@@ -1315,7 +1315,7 @@ msgstr "Local onde o sistema estocará os produtos acabados"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Esta é a Lista de Separação Interna que traz o produto acabado para o plano "
@@ -1375,7 +1375,7 @@ msgid "Month -1"
msgstr "Mês -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "A Ordem de Produção '%s' esta agendada para %s"
@@ -1386,7 +1386,7 @@ msgid "Production Order N° :"
msgstr "Ordem Produção N °:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "A Ordem de Produção '%s' está pronta para produzir."
@@ -1628,7 +1628,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordens de Produção para Iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1722,7 +1722,7 @@ msgid "Production Analysis"
msgstr "Análise de Produção"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2249,7 +2249,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Produto é Estocável ou Consumível."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3184,6 +3184,13 @@ msgstr "Ano"
#~ "Descrição do Centro de Trabalho. Explique aqui qual ciclo corresponde ao "
#~ "Centro de Trabalho."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Esta é a Lista de Separação Interna que traz o produto acabado para o plano "
+#~ "de produção"
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/ro.po b/addons/mrp/i18n/ro.po
index e8e13f497d1..e39c78fd393 100644
--- a/addons/mrp/i18n/ro.po
+++ b/addons/mrp/i18n/ro.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -756,7 +756,7 @@ msgid "Per month"
msgstr "Pe lună"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -769,7 +769,7 @@ msgid "Product Name"
msgstr "Nume produs"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acţiune invalidă !"
@@ -1308,7 +1308,7 @@ msgstr "Locația în care sistemul va stoca produsele finite."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1365,7 +1365,7 @@ msgid "Month -1"
msgstr "Luna - 1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Comanda de producție '%s' este programată pentru %s."
@@ -1376,7 +1376,7 @@ msgid "Production Order N° :"
msgstr "Nr comandă producţie"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Comanda de producție '%s' este gata să producă."
@@ -1618,7 +1618,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Comenzi de producție gata de start"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1712,7 +1712,7 @@ msgid "Production Analysis"
msgstr "Analize producție"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiaţi"
@@ -2227,7 +2227,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipul produsului este stocabil sau consumabile."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/ru.po b/addons/mrp/i18n/ru.po
index 0c804f401be..8af7ec344ce 100644
--- a/addons/mrp/i18n/ru.po
+++ b/addons/mrp/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-24 16:01+0000\n"
-"Last-Translator: Viktor Prokopiev \n"
+"PO-Revision-Date: 2011-12-06 10:16+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -745,7 +745,7 @@ msgid "Per month"
msgstr "В месяц"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -758,7 +758,7 @@ msgid "Product Name"
msgstr "Название продукции"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Неверное действие !"
@@ -1293,7 +1293,7 @@ msgstr "Местоположение, в которое помещаются г
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Это внутренняя комплектовочная ведомость, которая соотносит готовую "
@@ -1349,7 +1349,7 @@ msgid "Month -1"
msgstr "Месяц -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Производственный заказ '%s' запланирован на %s."
@@ -1360,7 +1360,7 @@ msgid "Production Order N° :"
msgstr "Заказ на производство №"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Производственный заказ '%s' готов для производства."
@@ -1592,7 +1592,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1684,7 +1684,7 @@ msgid "Production Analysis"
msgstr "Анализ производства"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Копировать"
@@ -2177,7 +2177,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Тип продукта — Складируемый или Потребляемый."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2941,6 +2941,13 @@ msgstr "Год"
#~ "Количество параллельных операций для этого рабочегоцентра. Если этот центр "
#~ "представлен 5-ю работниками - производительность за цикл равна 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Это внутренняя комплектовочная ведомость, которая соотносит готовую "
+#~ "продукцию к производственному плану"
+
#~ msgid "Human Resource"
#~ msgstr "Людские ресурсы"
diff --git a/addons/mrp/i18n/sk.po b/addons/mrp/i18n/sk.po
index c74a1d09c53..e62a78dff86 100644
--- a/addons/mrp/i18n/sk.po
+++ b/addons/mrp/i18n/sk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sl.po b/addons/mrp/i18n/sl.po
index 29d4f7054ae..25818e929aa 100644
--- a/addons/mrp/i18n/sl.po
+++ b/addons/mrp/i18n/sl.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sq.po b/addons/mrp/i18n/sq.po
index b6dea6d1b6c..cc4573e644e 100644
--- a/addons/mrp/i18n/sq.po
+++ b/addons/mrp/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:49+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sr@latin.po b/addons/mrp/i18n/sr@latin.po
index 3fac861858b..1e5aba0e23f 100644
--- a/addons/mrp/i18n/sr@latin.po
+++ b/addons/mrp/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sv.po b/addons/mrp/i18n/sv.po
index f9a8fa1318b..fd85b918c51 100644
--- a/addons/mrp/i18n/sv.po
+++ b/addons/mrp/i18n/sv.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.14\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-08-03 23:21+0000\n"
-"Last-Translator: Stefan Lind \n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -720,7 +720,7 @@ msgid "Per month"
msgstr "Per månad"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -733,7 +733,7 @@ msgid "Product Name"
msgstr "Produktnamn"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Invalid action !"
@@ -1245,7 +1245,7 @@ msgstr "Location where the system will stock the finished products."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "Production Order N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1539,7 +1539,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1629,7 +1629,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2118,7 +2118,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/tlh.po b/addons/mrp/i18n/tlh.po
index fd83fcb2f40..bf42bdfa3fa 100644
--- a/addons/mrp/i18n/tlh.po
+++ b/addons/mrp/i18n/tlh.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/tr.po b/addons/mrp/i18n/tr.po
index 21e0a1a9dfc..8d567981684 100644
--- a/addons/mrp/i18n/tr.po
+++ b/addons/mrp/i18n/tr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-06-27 18:38+0000\n"
-"Last-Translator: Ayhan KIZILTAN \n"
+"PO-Revision-Date: 2011-12-06 10:17+0000\n"
+"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -754,7 +754,7 @@ msgid "Per month"
msgstr "Ay başına"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -767,7 +767,7 @@ msgid "Product Name"
msgstr "Stok Adı"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Geçersiz eylem !"
@@ -1311,7 +1311,7 @@ msgstr "Sistemin bitmiş ürünleri stokladığı lokasyon."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr "Bu, bitmiş ürünü üretim planına getiren dahili toplama listesidir"
@@ -1367,7 +1367,7 @@ msgid "Month -1"
msgstr "Ay -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "'%s' üretim emri %s için planlandı."
@@ -1378,7 +1378,7 @@ msgid "Production Order N° :"
msgstr "Üretim Emri N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "'%s' üretim emri üretime hazırdır."
@@ -1618,7 +1618,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Başlatılacak Üretim Emirleri"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "%s Durumundaki Üretim Emri/Emirleri silinemez!"
@@ -1711,7 +1711,7 @@ msgid "Production Analysis"
msgstr "Üretim Analizi"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopyala"
@@ -2229,7 +2229,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Ürün tipi Stoklanabilir veya Sarf Edilebilir'dir."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2994,6 +2994,11 @@ msgstr "Yıl"
#~ " * İstisnai satınalma listesi\n"
#~ " "
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr "Bu, bitmiş ürünü üretim planına getiren dahili toplama listesidir"
+
#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
diff --git a/addons/mrp/i18n/uk.po b/addons/mrp/i18n/uk.po
index 1d2995b8ad3..96133154ea3 100644
--- a/addons/mrp/i18n/uk.po
+++ b/addons/mrp/i18n/uk.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "Назва Продукту"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/vi.po b/addons/mrp/i18n/vi.po
index 59662a9b576..bf8f8978a06 100644
--- a/addons/mrp/i18n/vi.po
+++ b/addons/mrp/i18n/vi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -721,7 +721,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -734,7 +734,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1246,7 +1246,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1300,7 +1300,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1311,7 +1311,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1540,7 +1540,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1630,7 +1630,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2119,7 +2119,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/zh_CN.po b/addons/mrp/i18n/zh_CN.po
index ebad1e0e44c..88629751eb7 100644
--- a/addons/mrp/i18n/zh_CN.po
+++ b/addons/mrp/i18n/zh_CN.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-07-02 15:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:16+0000\n"
"Last-Translator: Wei \"oldrev\" Li \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "产品名称"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "无效动作"
@@ -1245,7 +1245,7 @@ msgstr "系统存储成品的库位"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr "这是一张移库单的编号,是把产成品从生产线上移动到库房里"
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr "上个月"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "生产订单 '%s' 已创建,要生产的是 %s"
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "生产单号:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "生产订单 '%s' 已可以开始生产"
@@ -1543,7 +1543,7 @@ msgid "Manufacturing Orders To Start"
msgstr "未开始的生产订单"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "不能删除状态是 %s 的生产订单"
@@ -1633,7 +1633,7 @@ msgid "Production Analysis"
msgstr "生产分析"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "副本"
@@ -2132,7 +2132,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "产品类型是可库存或消耗品"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3111,6 +3111,11 @@ msgstr "年"
#~ msgid "Workcenter Usage"
#~ msgstr "使用的工作中心"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr "这是一张移库单的编号,是把产成品从生产线上移动到库房里"
+
#~ msgid ""
#~ "\n"
#~ " This is the base module to manage the manufacturing process in OpenERP.\n"
diff --git a/addons/mrp/i18n/zh_HK.po b/addons/mrp/i18n/zh_HK.po
index 5c395b63b99..484e6c7318c 100644
--- a/addons/mrp/i18n/zh_HK.po
+++ b/addons/mrp/i18n/zh_HK.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 13:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:26+0000\n"
"Last-Translator: qdp (OpenERP) \n"
"Language-Team: Chinese (Hong Kong) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "貨品名稱"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/zh_TW.po b/addons/mrp/i18n/zh_TW.po
index 7afc22bac08..866cc587475 100644
--- a/addons/mrp/i18n/zh_TW.po
+++ b/addons/mrp/i18n/zh_TW.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 13:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:25+0000\n"
"Last-Translator: qdp (OpenERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "貨品名稱"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 356a762c0c5..dea664f6fd6 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -176,7 +176,7 @@ class mrp_bom(osv.osv):
@param arg: User defined argument
@return: Dictionary of values
"""
- res = dict(map(lambda x: (x,''), ids))
+ res = dict.fromkeys(ids, False)
for line in self.browse(cr, uid, ids, context=context):
if line.type == 'phantom' and not line.bom_id:
res[line.id] = 'set'
@@ -467,7 +467,7 @@ class mrp_production(osv.osv):
'bom_id': fields.many2one('mrp.bom', 'Bill of Material', domain=[('bom_id','=',False)], readonly=True, states={'draft':[('readonly',False)]}),
'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', readonly=True, states={'draft':[('readonly',False)]}, help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification."),
'picking_id': fields.many2one('stock.picking', 'Picking list', readonly=True, ondelete="restrict",
- help="This is the internal picking list that brings the finished product to the production plan"),
+ help="This is the Internal Picking List that brings the finished product to the production plan"),
'move_prod_id': fields.many2one('stock.move', 'Move product', readonly=True),
'move_lines': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Products to Consume', domain=[('state','not in', ('done', 'cancel'))], states={'done':[('readonly',True)]}),
'move_lines2': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Consumed Products', domain=[('state','in', ('done', 'cancel'))]),
diff --git a/addons/mrp_repair/__openerp__.py b/addons/mrp_repair/__openerp__.py
index a1f060cf7c3..393b4428c81 100644
--- a/addons/mrp_repair/__openerp__.py
+++ b/addons/mrp_repair/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Repairs',
+ 'name': 'Repairs Management',
'version': '1.0',
'category': 'Manufacturing',
'description': """
@@ -51,6 +51,7 @@ The aim is to have a complete module to manage all products repairs. The followi
'demo_xml': [],
'test': ['test/test_mrp_repair.yml', 'test/mrp_repair_report.yml','test/mrp_repair_cancel.yml'],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0060814381277',
}
diff --git a/addons/mrp_repair/report/order.rml b/addons/mrp_repair/report/order.rml
index b72f3d7a130..ecec220edbb 100644
--- a/addons/mrp_repair/report/order.rml
+++ b/addons/mrp_repair/report/order.rml
@@ -189,21 +189,13 @@
Shipping address :[[ o.partner_id.name ]]
- [[ o.address_id.street ]]
- [[ o.address_id.street2 or removeParentNode('para') ]]
- [[ o.address_id.city or '' ]] [[ o.address_id.zip or '' ]]
- [[ (o.address_id.state_id and o.address_id.state_id.name) or removeParentNode('para') ]]
- [[ o.address_id.country_id and o.address_id.country_id.name or '' ]]
+ [[ o.address_id and display_address(o.address_id) ]] Invoice address :[[ o.partner_id and o.partner_id.property_payment_term.name ]]
- [[ o.partner_invoice_id.street ]]
- [[ o.partner_invoice_id.street2 or removeParentNode('para') ]]
- [[ o.partner_invoice_id.zip or '' ]] [[ o.partner_invoice_id.city or '' ]]
- [[ (o.partner_invoice_id.state_id and o.partner_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name or '' ]]
+ [[ o.partner_invoice_id and display_address(o.partner_invoice_id) ]]
diff --git a/addons/product_manufacturer/__openerp__.py b/addons/product_manufacturer/__openerp__.py
index d04d0724137..3b60b21979c 100644
--- a/addons/product_manufacturer/__openerp__.py
+++ b/addons/product_manufacturer/__openerp__.py
@@ -21,7 +21,7 @@
"name" : "Products Attributes & Manufacturers",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ 'category': 'Purchase Management',
'complexity': "easy",
"depends" : ["stock"],
"init_xml" : [],
diff --git a/addons/product_margin/__openerp__.py b/addons/product_margin/__openerp__.py
index b412e8b63eb..e484ddddff2 100644
--- a/addons/product_margin/__openerp__.py
+++ b/addons/product_margin/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Margins in Product',
+ 'name': 'Margins by Products',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
Adds a reporting menu in products that computes sales, purchases, margins and other interesting indicators based on invoices.
=============================================================================================================================
diff --git a/addons/product_visible_discount/__openerp__.py b/addons/product_visible_discount/__openerp__.py
index d05c3a82c11..c49565f8e29 100644
--- a/addons/product_visible_discount/__openerp__.py
+++ b/addons/product_visible_discount/__openerp__.py
@@ -18,10 +18,10 @@
#
##############################################################################
{
- "name": "Visible Discount",
+ "name": "Visible Discounts on SO",
"version": "1.0",
"author": "OpenERP SA",
- "category": "Hidden",
+ 'category': 'Sales Management',
'complexity': "easy",
"description": """
This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist.
diff --git a/addons/profile_tools/__openerp__.py b/addons/profile_tools/__openerp__.py
index bd8790d1496..3036b038d3f 100644
--- a/addons/profile_tools/__openerp__.py
+++ b/addons/profile_tools/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Miscellaneous Hidden",
+ "name" : "Miscellaneous Tools",
"version" : "1.0",
"depends" : ["base", "base_setup"],
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"description": """
Installer for extra Hidden like lunch, survey, idea, share, etc.
diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py
index 9132636b56f..84cde80e0a3 100644
--- a/addons/project/__openerp__.py
+++ b/addons/project/__openerp__.py
@@ -55,7 +55,8 @@ Dashboard for project members that includes:
"res_partner_view.xml",
"report/project_report_view.xml",
"board_project_view.xml",
- 'board_project_manager_view.xml'
+ 'board_project_manager_view.xml',
+ 'report/project_cumulative.xml'
],
'demo_xml': [
'project_demo.xml',
@@ -66,6 +67,7 @@ Dashboard for project members that includes:
],
'installable': True,
'active': False,
+ 'core': True,
'certificate': '0075116868317',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml
index a58557c94ba..50fa1b4f613 100644
--- a/addons/project/board_project_view.xml
+++ b/addons/project/board_project_view.xml
@@ -81,7 +81,7 @@
form
-
+
diff --git a/addons/project/project.py b/addons/project/project.py
index abebd2d35ff..5c234cf5e26 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -974,6 +974,24 @@ class task(osv.osv):
def prev_type(self, cr, uid, ids, *args):
return self._change_type(cr, uid, ids, False, *args)
+ def _store_history(self, cr, uid, ids, context=None):
+ for task in self.browse(cr, uid, ids, context=context):
+ self.pool.get('project.task.history').create(cr, uid, {
+ 'task_id': task.id,
+ 'remaining_hours': task.remaining_hours,
+ 'kanban_state': task.kanban_state,
+ 'type_id': task.type_id.id,
+ 'state': task.state,
+ 'user_id': task.user_id.id
+
+ }, context=context)
+ return True
+
+ def create(self, cr, uid, vals, context=None):
+ result = super(task, self).create(cr, uid, vals, context=context)
+ self._store_history(cr, uid, [result], context=context)
+ return result
+
# Overridden to reset the kanban_state to normal whenever
# the stage (type_id) of the task changes.
def write(self, cr, uid, ids, vals, context=None):
@@ -985,8 +1003,12 @@ class task(osv.osv):
for t in self.browse(cr, uid, ids, context=context):
write_vals = vals_reset_kstate if t.type_id != new_stage else vals
super(task,self).write(cr, uid, [t.id], write_vals, context=context)
- return True
- return super(task,self).write(cr, uid, ids, vals, context=context)
+ result = True
+ else:
+ result = super(task,self).write(cr, uid, ids, vals, context=context)
+ if ('type_id' in vals) or ('remaining_hours' in vals) or ('user_id' in vals) or ('state' in vals) or ('kanban_state' in vals):
+ self._store_history(cr, uid, ids, context=context)
+ return result
def unlink(self, cr, uid, ids, context=None):
if context == None:
@@ -1084,4 +1106,91 @@ class account_analytic_account(osv.osv):
account_analytic_account()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+#
+# Tasks History, used for cumulative flow charts (Lean/Agile)
+#
+
+class project_task_history(osv.osv):
+ _name = 'project.task.history'
+ _description = 'History of Tasks'
+ _rec_name = 'task_id'
+ _log_access = False
+ def _get_date(self, cr, uid, ids, name, arg, context=None):
+ result = {}
+ for history in self.browse(cr, uid, ids, context=context):
+ if history.state in ('done','cancelled'):
+ result[history.id] = history.date
+ continue
+ cr.execute('''select
+ date
+ from
+ project_task_history
+ where
+ task_id=%s and
+ id>%s
+ order by id limit 1''', (history.task_id.id, history.id))
+ res = cr.fetchone()
+ result[history.id] = res and res[0] or False
+ return result
+
+ def _get_related_date(self, cr, uid, ids, context=None):
+ result = []
+ for history in self.browse(cr, uid, ids, context=context):
+ cr.execute('''select
+ id
+ from
+ project_task_history
+ where
+ task_id=%s and
+ id<%s
+ order by id desc limit 1''', (history.task_id.id, history.id))
+ res = cr.fetchone()
+ if res:
+ result.append(res[0])
+ return result
+
+ _columns = {
+ 'task_id': fields.many2one('project.task', 'Task', ondelete='cascade', required=True, select=True),
+ 'type_id': fields.many2one('project.task.type', 'Stage'),
+ 'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State'),
+ 'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State', required=False),
+ 'date': fields.date('Date', select=True),
+ 'end_date': fields.function(_get_date, string='End Date', type="date", store={
+ 'project.task.history': (_get_related_date, None, 20)
+ }),
+ 'remaining_hours': fields.float('Remaining Hours', digits=(16,2)),
+ 'user_id': fields.many2one('res.users', 'Responsible'),
+ }
+ _defaults = {
+ 'date': lambda s,c,u,ctx: time.strftime('%Y-%m-%d')
+ }
+project_task_history()
+
+class project_task_history_cumulative(osv.osv):
+ _name = 'project.task.history.cumulative'
+ _table = 'project_task_history_cumulative'
+ _inherit = 'project.task.history'
+ _auto = False
+ _columns = {
+ 'end_date': fields.date('End Date'),
+ 'project_id': fields.related('task_id', 'project_id', string='Project', type='many2one', relation='project.project')
+ }
+ def init(self, cr):
+ cr.execute(""" CREATE OR REPLACE VIEW project_task_history_cumulative AS (
+ SELECT
+ history.date::varchar||'-'||history.history_id::varchar as id,
+ history.date as end_date,
+ *
+ FROM (
+ SELECT
+ id as history_id,
+ date+generate_series(0, CAST((coalesce(end_date,DATE 'tomorrow')::date - date)AS integer)-1) as date,
+ task_id, type_id, user_id, kanban_state, state,
+ remaining_hours
+ FROM
+ project_task_history
+ ) as history
+ )
+ """)
+project_task_history_cumulative()
+
diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml
index 7592d24a145..42da9fdefff 100644
--- a/addons/project/project_demo.xml
+++ b/addons/project/project_demo.xml
@@ -77,6 +77,7 @@
Prepare Requirements Document
+ 3
@@ -94,6 +95,7 @@
2Design Use Cases
+
@@ -103,6 +105,9 @@
2Budget Planning
+ Use the account_budget module
+
+ 3
@@ -112,6 +117,9 @@
2Quality Planning
+ done
+ 0
+
@@ -139,6 +147,7 @@
2Dataflow Design
+ 0
@@ -157,6 +166,7 @@
2Develop Module in Sale Management
+ blocked
@@ -220,6 +230,7 @@
2Performance Tuning
+ Test on Runbot
@@ -329,6 +340,7 @@
0Customer analysis + Architecture
+ 315
@@ -338,6 +350,7 @@
Internal testing + Software Install
+ 417
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 9f79b4ca95d..c8fe92f4194 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -313,7 +313,7 @@
-
+
project.task.kanban
@@ -350,8 +350,8 @@
-
-
+
+
@@ -526,13 +526,23 @@
Tasksproject.taskform
- tree,form,calendar,gantt,graph,kanban
+ kanban,tree,form,calendar,gantt,graph
-
+ {"search_default_draft": 1, "search_default_open":1, "search_default_project_id": project_id}A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.
+
+
+ kanban
+
+
+
+
+ tree
+
+
diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml
new file mode 100644
index 00000000000..aff90aea94e
--- /dev/null
+++ b/addons/project/report/project_cumulative.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+ project.task.history.cumulative.tree
+ project.task.history.cumulative
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ project.task.history.cumulative.graph
+ project.task.history.cumulative
+ graph
+
+
+
+
+
+
+
+
+
+
+ project.task.history.cumulative.search
+ project.task.history.cumulative
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cumulative Flow
+ project.task.history.cumulative
+ form
+ graph,tree
+
+ {"search_default_open":1, "search_default_this_month": 1}
+
+
+
+
+
+
diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml
index cfa667c7590..bf828d6b231 100644
--- a/addons/project/report/project_report_view.xml
+++ b/addons/project/report/project_report_view.xml
@@ -5,6 +5,8 @@
+
report.project.task.user.tree
@@ -152,7 +154,7 @@
This report allows you to analyse the performance of your projects and users. You can analyse the quantities of tasks, the hours spent compared to the planned hours, the average number of days to open or close a task, etc.
-
+
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
index dc0226ba50e..31c88377ddb 100644
--- a/addons/project/res_partner_view.xml
+++ b/addons/project/res_partner_view.xml
@@ -25,6 +25,9 @@
+
+
+
diff --git a/addons/project/security/ir.model.access.csv b/addons/project/security/ir.model.access.csv
index 659948bc4d0..955a6ef0c97 100644
--- a/addons/project/security/ir.model.access.csv
+++ b/addons/project/security/ir.model.access.csv
@@ -22,3 +22,5 @@
"access_project_task_sale_user","project.task salesman","model_project_task","base.group_sale_salesman",1,0,0,0
"access_project_project_sale_user","project.project salesman","model_project_project","base.group_sale_salesman",1,0,0,0
"access_account_analytic_line_project","account.analytic.line project","analytic.model_account_analytic_line","project.group_project_manager",1,1,1,1
+"access_project_task_history","project.task.history project","project.model_project_task_history","project.group_project_user",1,1,1,0
+"access_project_task_history_cumulative","project.task.history project","project.model_project_task_history_cumulative","project.group_project_manager",1,0,0,0
diff --git a/addons/project_caldav/__openerp__.py b/addons/project_caldav/__openerp__.py
index 6e716a2e9d0..6055a1f9f3d 100644
--- a/addons/project_caldav/__openerp__.py
+++ b/addons/project_caldav/__openerp__.py
@@ -23,7 +23,7 @@
"name": "CalDAV for Task Management",
"version": "1.1",
"author": "OpenERP SA",
- "category": "Hidden",
+ "category": "Project Management",
"description": """
Synchronization between Project Task and Caldav Vtodo.
======================================================
diff --git a/addons/project_gtd/__openerp__.py b/addons/project_gtd/__openerp__.py
index 761b2b44708..f0c50dbe553 100644
--- a/addons/project_gtd/__openerp__.py
+++ b/addons/project_gtd/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Todo List based on the GTD methodology',
+ 'name': 'Todo Lists',
'version': '1.0',
'category': 'Project Management',
'complexity': "easy",
@@ -60,6 +60,7 @@ performing those tasks.
'test/gtd_test.yml'
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0043525236301',
}
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
index e77499df3d0..4f06222d76c 100644
--- a/addons/project_issue/__openerp__.py
+++ b/addons/project_issue/__openerp__.py
@@ -59,6 +59,7 @@ and decide on their status as they evolve.
],
'installable': True,
'active': False,
+ 'core': True,
'certificate' : '001236490750848623845',
}
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index 5830fcb37fb..9d88418720b 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -8,13 +8,19 @@
Issuesproject.issueform
- tree,calendar,kanban
-
+ kanban,tree,calendar
+ {"search_default_user_id": uid, "search_default_draft": 1,"search_default_todo": 1, "search_default_project_id":project_id}Issues such as system bugs, customer complaints, and material breakdowns are collected here. You can define the stages assigned when solving the project issue (analysis, development, done). With the mailgateway module, issues can be integrated through an email address (example: support@mycompany.com)
-
+
+
+
+
+ kanban
+
+
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 51440e1cbff..d50501279fd 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -96,7 +96,7 @@
-
+
@@ -106,32 +106,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -327,7 +293,7 @@
-
+
diff --git a/addons/project_issue_sheet/__openerp__.py b/addons/project_issue_sheet/__openerp__.py
index 972245533ad..0914be9d335 100644
--- a/addons/project_issue_sheet/__openerp__.py
+++ b/addons/project_issue_sheet/__openerp__.py
@@ -21,9 +21,9 @@
##############################################################################
{
- 'name': 'Add the Timesheet support for Issue Management in Project Management',
+ 'name': 'Timesheet on Issues',
'version': '1.0',
- 'category': 'Hidden/Link',
+ "category": "Project Management",
'description': """
This module adds the Timesheet support for the Issues/Bugs Management in Project.
=================================================================================
diff --git a/addons/project_long_term/__openerp__.py b/addons/project_long_term/__openerp__.py
index f4b8ce34ad0..3f4eccfc574 100644
--- a/addons/project_long_term/__openerp__.py
+++ b/addons/project_long_term/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name": "Long Term Planning",
+ "name": "Long Term Projects",
"version": "1.1",
"author": "OpenERP SA",
"website": "http://www.openerp.com",
@@ -60,6 +60,7 @@ Features
"wizard/project_compute_tasks_view.xml",
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '001227470751077315069',
}
diff --git a/addons/project_mailgate/__openerp__.py b/addons/project_mailgate/__openerp__.py
index ba3e2e57ba5..7f55c580fb8 100644
--- a/addons/project_mailgate/__openerp__.py
+++ b/addons/project_mailgate/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name": "Project Tasks - Mail Integration",
+ "name": "Tasks Mail Integration",
"version": "1.1",
"author": "OpenERP SA",
"website": "http://www.openerp.com",
- "category": "Hidden",
+ "category": "Project Management",
'complexity': "easy",
"images": ["images/project_mailgate_task.jpeg"],
"depends": ["project", "mail"],
diff --git a/addons/project_mailgate/project_mailgate_view.xml b/addons/project_mailgate/project_mailgate_view.xml
index c3cd4bf9db2..6bf9855f98a 100644
--- a/addons/project_mailgate/project_mailgate_view.xml
+++ b/addons/project_mailgate/project_mailgate_view.xml
@@ -9,32 +9,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/project_messages/__openerp__.py b/addons/project_messages/__openerp__.py
index f7e50110784..a146056e921 100644
--- a/addons/project_messages/__openerp__.py
+++ b/addons/project_messages/__openerp__.py
@@ -26,7 +26,7 @@
"images": ["images/project_message.jpeg"],
"depends": ["project"],
"author": "OpenERP SA",
- "category": 'Hidden',
+ "category": "Project Management",
'complexity': "easy",
"description": """
This module provides the functionality to send messages within a project.
diff --git a/addons/project_messages/project_messages_view.xml b/addons/project_messages/project_messages_view.xml
index f8c98d15785..85e2c02f8ff 100644
--- a/addons/project_messages/project_messages_view.xml
+++ b/addons/project_messages/project_messages_view.xml
@@ -15,15 +15,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py
index 3cb2fb40179..e5722b92da9 100644
--- a/addons/project_mrp/__openerp__.py
+++ b/addons/project_mrp/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Automatic task creation from procurement lines',
+ 'name': 'Create Tasks on SO',
'version': '1.0',
- 'category': 'Hidden/Link',
+ "category": "Project Management",
'complexity': "easy",
'description': """
Automatically creates project tasks from procurement lines
diff --git a/addons/project_planning/__openerp__.py b/addons/project_planning/__openerp__.py
index 9ce5e8a2d9a..23d900d86ff 100644
--- a/addons/project_planning/__openerp__.py
+++ b/addons/project_planning/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Planning Management Module',
'version': '1.0',
- 'category': 'Hidden',
+ "category": "Project Management",
'complexity': "easy",
'description': """Keep track of your planning
This module helps you to manage your plannings.
diff --git a/addons/project_retro_planning/__openerp__.py b/addons/project_retro_planning/__openerp__.py
index 68ea9d5d78e..5ca01a3a0e1 100644
--- a/addons/project_retro_planning/__openerp__.py
+++ b/addons/project_retro_planning/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Project Retro planning',
+ 'name': 'Project Retro-planning',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Project Management',
'description': """
Changes dates according to change in project End Date.
======================================================
diff --git a/addons/project_scrum/board_project_scrum_view.xml b/addons/project_scrum/board_project_scrum_view.xml
index 2a9d3532b2d..dd01832b575 100644
--- a/addons/project_scrum/board_project_scrum_view.xml
+++ b/addons/project_scrum/board_project_scrum_view.xml
@@ -76,7 +76,7 @@
form
-
+
diff --git a/addons/project_scrum/test/sprint_process.yml b/addons/project_scrum/test/sprint_process.yml
index d3411204f2a..8c8f70b1188 100644
--- a/addons/project_scrum/test/sprint_process.yml
+++ b/addons/project_scrum/test/sprint_process.yml
@@ -53,9 +53,8 @@
ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
vals = self.default_get(cr, uid , [], context=ctx)
try:
- new_id = self.create(cr, uid, {'email_to': 'xyz@mycompany.com', 'subject': 'test'})
- # We don't actually send the email, since this could log an error due to config...
- # self.send_mail(cr, uid, [new_id], context=ctx)
+ new_id = self.create(cr, uid, {'email_from': 'test@openerp.com', 'email_to': 'xyz@mycompany.com', 'subject': 'test'})
+ self.send_mail(cr, uid, [new_id], context=ctx)
except Exception, e:
pass
-
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index de6d77a2fd9..8152862c448 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -108,6 +108,20 @@ the project form.
-
+
+
+
+ Customer Projects
+ account.analytic.account
+ form
+ tree,form,graph
+ {'search_default_has_partner':1, 'search_default_my_accounts':1, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1}
+ [('type','=','normal')]
+
+ You will find here the contracts related to your customer projects in order to track the invoicing progress.
+
+
+
diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py
index b4f3a9adf30..1a774ceb0ee 100644
--- a/addons/purchase/__openerp__.py
+++ b/addons/purchase/__openerp__.py
@@ -78,5 +78,6 @@ Dashboard for purchase management that includes:
'installable': True,
'active': False,
'certificate': '0057234283549',
+ 'core': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml
index a1201c7b452..dfd93f0d45a 100644
--- a/addons/purchase/report/order.rml
+++ b/addons/purchase/report/order.rml
@@ -167,11 +167,7 @@
Shipping address :[[ (o.dest_address_id and o.dest_address_id.partner_id.name) or (o.warehouse_id and o.warehouse_id.name) or '']]
- [[ (o.dest_address_id and o.dest_address_id and o.dest_address_id.street) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.street) or '']]
- [[ (o.dest_address_id and o.dest_address_id and o.dest_address_id.street2) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.street2) or removeParentNode('para') ]]
- [[ (o.dest_address_id and o.dest_address_id and o.dest_address_id.zip) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.zip) or '' ]] [[ (o.dest_address_id and o.dest_address_id and o.dest_address_id.city) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.city) or '' ]]
- [[ (o.dest_address_id and o.dest_address_id.state_id and o.dest_address_id.state_id.name) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.state_id and o.warehouse_id.partner_address_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.dest_address_id and o.dest_address_id.country_id and o.dest_address_id.country_id.name) or (o.warehouse_id and o.warehouse_id.partner_address_id and o.warehouse_id.partner_address_id.country_id and o.warehouse_id.partner_address_id.country_id.name) ]]
+ [[ (o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and displaye_address(o.warehouse_id.partner_address_id)) or '']]
@@ -186,11 +182,7 @@
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.partner_address_id and o.partner_address_id.street ) or '']]
- [[ (o.partner_address_id and o.partner_address_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_address_id and o.partner_address_id.zip) or '' ]] [[ (o.partner_address_id and o.partner_address_id.city) or '' ]]
- [[ (o.partner_address_id and o.partner_address_id.state_id and o.partner_address_id.state_id.name) or removeParentNode('para')]]
- [[ (o.partner_address_id and o.partner_address_id.country_id and o.partner_address_id.country_id.name) or '' ]]
+ [[ o.partner_address_id and display_address(o.partner_address_id) ]]
diff --git a/addons/purchase/report/request_quotation.rml b/addons/purchase/report/request_quotation.rml
index 27e4ac39602..866e3e9003b 100644
--- a/addons/purchase/report/request_quotation.rml
+++ b/addons/purchase/report/request_quotation.rml
@@ -92,11 +92,7 @@
Expected Delivery address:[[ (order.dest_address_id and order.dest_address_id.partner_id.name) or (order.warehouse_id and order.warehouse_id.name) or '']]
- [[ (order.dest_address_id and order.dest_address_id and order.dest_address_id.street) or (order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.street) or '']]
- [[ (order.dest_address_id and order.dest_address_id and order.dest_address_id.street2) or (order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.street2) or removeParentNode('para') ]]
- [[ (order.dest_address_id and order.dest_address_id and order.dest_address_id.zip) or (order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.zip) or '' ]][[ (order.dest_address_id and order.dest_address_id and order.dest_address_id.city) or (order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.city) or '' ]]
- [[(order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.state_id and order.warehouse_id.partner_address_id.state_id.name) or order.partner_address_id and order.partner_address_id.state_id and order.partner_address_id.state_id.name or removeParentNode('para') ]]
- [[(order.warehouse_id and order.warehouse_id.partner_address_id and order.warehouse_id.partner_address_id.country_id and order.warehouse_id.partner_address_id.country_id.name) or order.partner_address_id.country_id.name ]]
+ [[ order.dest_address_id and display_address(order.dest_address_id) ]]
@@ -105,11 +101,7 @@
[[ (order.partner_id and order.partner_id.title and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]
- [[ (order.partner_address_id and order.partner_address_id.street) or '']]
- [[ (order.partner_address_id.street2) or removeParentNode('para') ]]
- [[ (order.partner_address_id and order.partner_address_id.zip) or '' ]][[ (order.partner_address_id and order.partner_address_id.city) or '' ]]
- [[ (order.partner_address_id.state_id.name) or removeParentNode('para') ]]
- [[ (order.partner_address_id and order.partner_address_id.country_id and order.partner_address_id.country_id.name) or '' ]]
+ [[ order.partner_address_id and display_address(order.partner_address_id) ]]
diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py
index cd379afdb59..eda89e81aa8 100644
--- a/addons/purchase_double_validation/__openerp__.py
+++ b/addons/purchase_double_validation/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- "name" : "Double Validation for Purchase",
+ "name" : "Double Validation on Purchases",
"version" : "1.1",
- "category": 'Hidden',
+ 'category': 'Purchase Management',
'complexity': "easy",
"images" : ["images/purchase_validation.jpeg"],
"depends" : ["base","purchase"],
diff --git a/addons/report_designer/__openerp__.py b/addons/report_designer/__openerp__.py
index fd29d2b96ee..77b37fd507b 100644
--- a/addons/report_designer/__openerp__.py
+++ b/addons/report_designer/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Reporting Hidden Installer",
+ "name" : "Report Designer",
"version" : "1.0",
"depends" : ["base", "base_setup"],
"author" : "OpenERP SA",
- "category": "Hidden",
+ "category": "Tools",
"description": """
Installer for reporting Hidden.
==============================
diff --git a/addons/report_intrastat/__openerp__.py b/addons/report_intrastat/__openerp__.py
index 6c80e0f2b81..2f0bb6b46d9 100644
--- a/addons/report_intrastat/__openerp__.py
+++ b/addons/report_intrastat/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Intrastat Reporting',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'description': """
A module that adds intrastat reports.
=====================================
diff --git a/addons/report_intrastat/report/invoice.rml b/addons/report_intrastat/report/invoice.rml
index c66a39413ee..0c635a611c8 100644
--- a/addons/report_intrastat/report/invoice.rml
+++ b/addons/report_intrastat/report/invoice.rml
@@ -142,11 +142,7 @@
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]]
- [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]]
+ [[ o.address_invoice_id and display_address(o.address_invoice_id) ]]
diff --git a/addons/report_webkit/__openerp__.py b/addons/report_webkit/__openerp__.py
index 56496a2d130..5db184a8c58 100644
--- a/addons/report_webkit/__openerp__.py
+++ b/addons/report_webkit/__openerp__.py
@@ -84,7 +84,7 @@ TODO
"version" : "0.9",
"depends" : ["base"],
"author" : "Camptocamp",
- "category": "Hidden", # i.e a technical module, not shown in Application install menu
+ "category": "Tools", # i.e a technical module, not shown in Application install menu
"url": "http://http://www.camptocamp.com/",
"data": [ "security/ir.model.access.csv",
"data.xml",
diff --git a/addons/report_webkit_sample/__openerp__.py b/addons/report_webkit_sample/__openerp__.py
index 4e144736c24..9fb1f713d24 100644
--- a/addons/report_webkit_sample/__openerp__.py
+++ b/addons/report_webkit_sample/__openerp__.py
@@ -43,7 +43,7 @@ You have to create the print buttons by calling the wizard. For more details see
""",
"version" : "0.9",
"depends" : ["base", "account", "report_webkit"],
- "category": "Hidden",
+ "category": "Tools",
"author" : "Camptocamp SA - NBessi",
"url": "http://www.camptocamp.com/",
"data": ["report_webkit_html_view.xml",
diff --git a/addons/resource/__openerp__.py b/addons/resource/__openerp__.py
index f1e020215a6..2b8c27359d8 100644
--- a/addons/resource/__openerp__.py
+++ b/addons/resource/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "Resource",
"version" : "1.1",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category" : "Tools",
"website" : "http://www.openerp.com",
"description": """
Module for resource management.
diff --git a/addons/sale/board_sale_view.xml b/addons/sale/board_sale_view.xml
index c57ed5c6144..8944a0f3724 100644
--- a/addons/sale/board_sale_view.xml
+++ b/addons/sale/board_sale_view.xml
@@ -7,7 +7,7 @@
form
Shipping address :[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.street) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]
+ [[ o.partner_shipping_id and display_address(o.partner_shipping_id) ]]Invoice address :[[ (o.partner_invoice_id and o.partner_invoice_id.title and o.partner_invoice_id.title.name) or '' ]] [[ (o.partner_invoice_id and o.partner_invoice_id.name) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.street) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.zip) or '' ]] [[ (o.partner_invoice_id and o.partner_invoice_id.city) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.state_id and o.partner_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name) or '' ]]
+ [[ o.partner_invoice_id and display_address(o.partner_invoice_id) ]]
@@ -181,10 +173,7 @@
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.street) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_order_id and o.partner_order_id.zip) or '' ]] [[ (o.partner_order_id and o.partner_order_id.city) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.state_id and o.partner_order_id.state_id.name) or removeParentNode('para')]] [[ (o.partner_order_id and o.partner_order_id.country_id and o.partner_order_id.country_id.name) or '' ]]
+ [[ o.partner_order_id and display_address(o.partner_order_id) ]]
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 2188f6dee5f..48e51059cff 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -333,6 +333,16 @@ class sale_order(osv.osv):
}
return {'warning': warning}
+ def onchange_partner_order_id(self, cr, uid, ids, order_id, invoice_id=False, shipping_id=False, context={}):
+ if not order_id:
+ return {}
+ val = {}
+ if not invoice_id:
+ val['partner_invoice_id'] = order_id
+ if not shipping_id:
+ val['partner_shipping_id'] = order_id
+ return {'value': val}
+
def onchange_partner_id(self, cr, uid, ids, part):
if not part:
return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}}
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 72c231071ca..3610d2d5e9e 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -113,7 +113,7 @@
-
+
diff --git a/addons/sale_analytic_plans/__openerp__.py b/addons/sale_analytic_plans/__openerp__.py
index 1850fbf8b2a..453a51fc724 100644
--- a/addons/sale_analytic_plans/__openerp__.py
+++ b/addons/sale_analytic_plans/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Sales Analytic Distribution Management',
+ 'name': 'Sales Analytic Distribution',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The base module to manage analytic distribution and sales orders.
=================================================================
diff --git a/addons/sale_layout/report/report_sale_layout.rml b/addons/sale_layout/report/report_sale_layout.rml
index a0ccec0ab7b..c10279cc44b 100644
--- a/addons/sale_layout/report/report_sale_layout.rml
+++ b/addons/sale_layout/report/report_sale_layout.rml
@@ -140,21 +140,13 @@
Shipping address :[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.street) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.partner_shipping_id and o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]
+ [[ o.partner_shipping_id and display_address(o.partner_shipping_id) ]] Invoice address :[[ (o.partner_invoice_id and o.partner_invoice_id.title and o.partner_invoice_id.title.name) or '' ]] [[ (o.partner_invoice_id and o.partner_invoice_id.name) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.street) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.zip) or '' ]] [[ (o.partner_invoice_id and o.partner_invoice_id.city) or '' ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.state_id and o.partner_invoice_id.state_id.name) or removeParentNode('para') ]]
- [[ (o.partner_invoice_id and o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name) or '' ]]
+ [[ o.partner_invoice_id and display_address(o.partner_invoice_id) ]]
@@ -163,10 +155,7 @@
[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.street) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.street2) or removeParentNode('para') ]]
- [[ (o.partner_order_id and o.partner_order_id.zip) or '' ]] [[ (o.partner_order_id and o.partner_order_id.city) or '' ]]
- [[ (o.partner_order_id and o.partner_order_id.state_id and o.partner_order_id.state_id.name) or removeParentNode('para')]] [[ (o.partner_order_id and o.partner_order_id.country_id and o.partner_order_id.country_id.name) or '' ]]
+ [[ o.partner_order_id and display_address(o.partner_order_id) ]]
diff --git a/addons/sale_layout/sale_layout_view.xml b/addons/sale_layout/sale_layout_view.xml
index 79adefa32f3..27b8e4b4f96 100644
--- a/addons/sale_layout/sale_layout_view.xml
+++ b/addons/sale_layout/sale_layout_view.xml
@@ -18,10 +18,8 @@
-
+
-
-
-
+ , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-05 11:55+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Arabic \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-12-06 05:28+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_ref:0
+msgid "Indicate the Customer Reference from sales order."
+msgstr ""
+
+#. module: sale_mrp
+#: field:mrp.production,sale_ref:0
+msgid "Sales Reference"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.model,name:sale_mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.module.module,description:sale_mrp.module_meta_information
+msgid ""
+"\n"
+" This module provides facility to the user to install mrp and sales "
+"modules\n"
+" at a time. It is basically used when we want to keep track of "
+"production\n"
+" orders generated from sales order.\n"
+" It adds sales name and sales Reference on production order\n"
+" "
+msgstr ""
+
+#. module: sale_mrp
+#: field:mrp.production,sale_name:0
+msgid "Sales Name"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
+msgid "Sales and MRP Management"
+msgstr ""
+
+#. module: sale_mrp
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero !"
+msgstr ""
+
+#. module: sale_mrp
+#: help:mrp.production,sale_name:0
+msgid "Indicate the name of sales order."
+msgstr ""
diff --git a/addons/share/__openerp__.py b/addons/share/__openerp__.py
index b9077109c3c..7a78783348c 100644
--- a/addons/share/__openerp__.py
+++ b/addons/share/__openerp__.py
@@ -22,11 +22,11 @@
{
- "name" : "Web Share",
+ "name" : "Share any Document",
"version" : "2.0",
"depends" : ["base", "mail"],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Tools',
'complexity': "easy",
"description": """
This module adds generic sharing tools to your current OpenERP database.
diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py
index 5faf67b5e48..ba196339ebd 100644
--- a/addons/stock/__openerp__.py
+++ b/addons/stock/__openerp__.py
@@ -93,6 +93,7 @@ Thanks to the double entry management, the inventory controlling is powerful and
'test/cancel_stock.yml',
],
'installable': True,
+ 'core': True,
'active': False,
'certificate': '0055421559965',
}
diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml
index 3c645aecb5b..6a4e437bf3d 100644
--- a/addons/stock/board_warehouse_view.xml
+++ b/addons/stock/board_warehouse_view.xml
@@ -2,7 +2,7 @@
- Incoming Product
+ Incoming Shipmentsstock.moveir.actions.act_windowform
@@ -12,7 +12,7 @@
- Outgoing Product
+ Delivery Ordersstock.moveir.actions.act_windowform
@@ -28,7 +28,7 @@
graph,tree[('type','=','in'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]
- {'default_type':'in','search_default_month-1':1,'search_default_in':1,'group_by':['day'], 'group_by_no_leaf':1}
+ {'search_default_in':1}Outgoing Products Delay
@@ -37,7 +37,7 @@
graph,tree[('type','=','out'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]
- {'default_type':'out','search_default_month-1':1,'search_default_out':1,'group_by':['day'], 'group_by_no_leaf':1}
+ {'search_default_out':1}board.warehouse.form
@@ -45,10 +45,10 @@
form
-
+
-
-
+
+
diff --git a/addons/stock/i18n/ar.po b/addons/stock/i18n/ar.po
index fcc9d11f91c..867df8a22ca 100644
--- a/addons/stock/i18n/ar.po
+++ b/addons/stock/i18n/ar.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/bg.po b/addons/stock/i18n/bg.po
index 373159d3b9f..6224096db5e 100644
--- a/addons/stock/i18n/bg.po
+++ b/addons/stock/i18n/bg.po
@@ -2439,7 +2439,7 @@ msgstr "Преглед на склад с продукти"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/bs.po b/addons/stock/i18n/bs.po
index 0dce966cc34..b9e465eb193 100644
--- a/addons/stock/i18n/bs.po
+++ b/addons/stock/i18n/bs.po
@@ -2408,7 +2408,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/ca.po b/addons/stock/i18n/ca.po
index 55233026269..0e53e4eecb7 100644
--- a/addons/stock/i18n/ca.po
+++ b/addons/stock/i18n/ca.po
@@ -2621,7 +2621,7 @@ msgstr "Veure estoc de productes"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarà intern"
#. module: stock
diff --git a/addons/stock/i18n/cs.po b/addons/stock/i18n/cs.po
index c74ce13948f..59d910a70ab 100644
--- a/addons/stock/i18n/cs.po
+++ b/addons/stock/i18n/cs.po
@@ -2439,7 +2439,7 @@ msgstr "Zobrazit zásoby výrobků"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Vnitřní naváděcí seznam"
#. module: stock
diff --git a/addons/stock/i18n/da.po b/addons/stock/i18n/da.po
index 007c15baa00..5a4deba51cb 100644
--- a/addons/stock/i18n/da.po
+++ b/addons/stock/i18n/da.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/de.po b/addons/stock/i18n/de.po
index 9c60193d1f1..aaea5ee2691 100644
--- a/addons/stock/i18n/de.po
+++ b/addons/stock/i18n/de.po
@@ -2614,7 +2614,7 @@ msgstr "Zeige Lagerorte der Produkte"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Interne Lieferauftragsliste"
#. module: stock
diff --git a/addons/stock/i18n/el.po b/addons/stock/i18n/el.po
index 2de9e65b1bc..a4266fad473 100644
--- a/addons/stock/i18n/el.po
+++ b/addons/stock/i18n/el.po
@@ -2428,7 +2428,7 @@ msgstr "Προβολή Αποθέματος Προϊόντων"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/es.po b/addons/stock/i18n/es.po
index 3b030cfef80..b2e791189de 100644
--- a/addons/stock/i18n/es.po
+++ b/addons/stock/i18n/es.po
@@ -2631,7 +2631,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_AR.po b/addons/stock/i18n/es_AR.po
index abe5da9e081..d2a6279f8b7 100644
--- a/addons/stock/i18n/es_AR.po
+++ b/addons/stock/i18n/es_AR.po
@@ -2412,7 +2412,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/es_CL.po b/addons/stock/i18n/es_CL.po
index ea086475e65..d25cf3a883c 100644
--- a/addons/stock/i18n/es_CL.po
+++ b/addons/stock/i18n/es_CL.po
@@ -2629,7 +2629,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_EC.po b/addons/stock/i18n/es_EC.po
index 89adf47cf6e..5275452160b 100644
--- a/addons/stock/i18n/es_EC.po
+++ b/addons/stock/i18n/es_EC.po
@@ -2583,7 +2583,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista movimiento internos"
#. module: stock
diff --git a/addons/stock/i18n/es_MX.po b/addons/stock/i18n/es_MX.po
index 37a72b5d89f..0f3b4b96f30 100644
--- a/addons/stock/i18n/es_MX.po
+++ b/addons/stock/i18n/es_MX.po
@@ -2635,7 +2635,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_MX.po.moved b/addons/stock/i18n/es_MX.po.moved
index ddb33a01138..696ebe8e9a7 100644
--- a/addons/stock/i18n/es_MX.po.moved
+++ b/addons/stock/i18n/es_MX.po.moved
@@ -2282,7 +2282,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista de empaque interna"
#. module: stock
diff --git a/addons/stock/i18n/es_VE.po b/addons/stock/i18n/es_VE.po
index 37a72b5d89f..0f3b4b96f30 100644
--- a/addons/stock/i18n/es_VE.po
+++ b/addons/stock/i18n/es_VE.po
@@ -2635,7 +2635,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/et.po b/addons/stock/i18n/et.po
index f6955029f12..3577e185b16 100644
--- a/addons/stock/i18n/et.po
+++ b/addons/stock/i18n/et.po
@@ -2396,7 +2396,7 @@ msgstr "Vaata toodete laoseisu"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/fi.po b/addons/stock/i18n/fi.po
index 1d0d50b89a5..ecd82c8f78b 100644
--- a/addons/stock/i18n/fi.po
+++ b/addons/stock/i18n/fi.po
@@ -2490,7 +2490,7 @@ msgstr "Näytä tuotteiden varasto"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Sisäinen keräilylista"
#. module: stock
diff --git a/addons/stock/i18n/fr.po b/addons/stock/i18n/fr.po
index 92d99777e8e..ccc3725170c 100644
--- a/addons/stock/i18n/fr.po
+++ b/addons/stock/i18n/fr.po
@@ -2649,7 +2649,7 @@ msgstr "Voir les stocks produits"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Bon de transfert interne"
#. module: stock
diff --git a/addons/stock/i18n/gl.po b/addons/stock/i18n/gl.po
index a1341961104..c98825c2304 100644
--- a/addons/stock/i18n/gl.po
+++ b/addons/stock/i18n/gl.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/hr.po b/addons/stock/i18n/hr.po
index cb76c9fba0e..f0590e832b5 100644
--- a/addons/stock/i18n/hr.po
+++ b/addons/stock/i18n/hr.po
@@ -2411,7 +2411,7 @@ msgstr "Vidi zalihu proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/hu.po b/addons/stock/i18n/hu.po
index 4508ac3a2ea..b0b89b04192 100644
--- a/addons/stock/i18n/hu.po
+++ b/addons/stock/i18n/hu.po
@@ -2497,7 +2497,7 @@ msgstr "Termékek készletének megtekintése"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Belső kiszedési lista"
#. module: stock
diff --git a/addons/stock/i18n/id.po b/addons/stock/i18n/id.po
index db9fec8893d..7d32743d21a 100644
--- a/addons/stock/i18n/id.po
+++ b/addons/stock/i18n/id.po
@@ -2506,7 +2506,7 @@ msgstr "Lihat Stok Produk"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Daftar pengambilan internal"
#. module: stock
diff --git a/addons/stock/i18n/it.po b/addons/stock/i18n/it.po
index 0253e9048e3..919beb2ec4b 100644
--- a/addons/stock/i18n/it.po
+++ b/addons/stock/i18n/it.po
@@ -2495,7 +2495,7 @@ msgstr "Visualizza giacenza prodotti"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Picking list interna"
#. module: stock
diff --git a/addons/stock/i18n/ko.po b/addons/stock/i18n/ko.po
index 5aa17a9f249..455d0393c0e 100644
--- a/addons/stock/i18n/ko.po
+++ b/addons/stock/i18n/ko.po
@@ -2409,7 +2409,7 @@ msgstr "재고 보기"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/lt.po b/addons/stock/i18n/lt.po
index 5a7e42629cd..f18d4e7fac3 100644
--- a/addons/stock/i18n/lt.po
+++ b/addons/stock/i18n/lt.po
@@ -2412,7 +2412,7 @@ msgstr "Peržiūrėti produktų atsargas"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/lv.po b/addons/stock/i18n/lv.po
index ccefa9e0789..53bb4860baf 100644
--- a/addons/stock/i18n/lv.po
+++ b/addons/stock/i18n/lv.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/mn.po b/addons/stock/i18n/mn.po
index efb2c61166f..bae4978d770 100644
--- a/addons/stock/i18n/mn.po
+++ b/addons/stock/i18n/mn.po
@@ -2423,7 +2423,7 @@ msgstr "Барааны агуулах харах"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nb.po b/addons/stock/i18n/nb.po
index 49de8775c60..58b3f1521d6 100644
--- a/addons/stock/i18n/nb.po
+++ b/addons/stock/i18n/nb.po
@@ -2412,7 +2412,7 @@ msgstr "Vis lager med produkter"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nl.po b/addons/stock/i18n/nl.po
index 8abcaba9620..acca46679e6 100644
--- a/addons/stock/i18n/nl.po
+++ b/addons/stock/i18n/nl.po
@@ -2412,7 +2412,7 @@ msgstr "Beeld productenvoorraad"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nl_BE.po b/addons/stock/i18n/nl_BE.po
index 931aab77bb4..53fe39b40d5 100644
--- a/addons/stock/i18n/nl_BE.po
+++ b/addons/stock/i18n/nl_BE.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/pl.po b/addons/stock/i18n/pl.po
index c775b418ffb..e40a191271d 100644
--- a/addons/stock/i18n/pl.po
+++ b/addons/stock/i18n/pl.po
@@ -2592,7 +2592,7 @@ msgstr "Podgląd zapasów"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Pobranie wewnętrzne (MM)"
#. module: stock
diff --git a/addons/stock/i18n/pt.po b/addons/stock/i18n/pt.po
index 14080abf4e7..a8b20192939 100644
--- a/addons/stock/i18n/pt.po
+++ b/addons/stock/i18n/pt.po
@@ -2414,7 +2414,7 @@ msgstr "Ver Stock de Produtos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/pt_BR.po b/addons/stock/i18n/pt_BR.po
index 8fc6f64629d..a77385b8d61 100644
--- a/addons/stock/i18n/pt_BR.po
+++ b/addons/stock/i18n/pt_BR.po
@@ -2561,7 +2561,7 @@ msgstr "Ver Estoque dos Produtos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista de Separação Interna"
#. module: stock
diff --git a/addons/stock/i18n/ro.po b/addons/stock/i18n/ro.po
index 2180abf6baa..910ad8a8014 100644
--- a/addons/stock/i18n/ro.po
+++ b/addons/stock/i18n/ro.po
@@ -2432,7 +2432,7 @@ msgstr "Afişare stoc după produse"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Liste interne de preluare"
#. module: stock
diff --git a/addons/stock/i18n/ru.po b/addons/stock/i18n/ru.po
index 4b6157b6ce3..b8583613cc1 100644
--- a/addons/stock/i18n/ru.po
+++ b/addons/stock/i18n/ru.po
@@ -2564,7 +2564,7 @@ msgstr "Просмотр товаров на складах"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Внутренний комплектовочный лист"
#. module: stock
diff --git a/addons/stock/i18n/sl.po b/addons/stock/i18n/sl.po
index 5c6a2d6897c..176b60e5011 100644
--- a/addons/stock/i18n/sl.po
+++ b/addons/stock/i18n/sl.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sq.po b/addons/stock/i18n/sq.po
index 4578cf591c8..b1d48915c3d 100644
--- a/addons/stock/i18n/sq.po
+++ b/addons/stock/i18n/sq.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sr.po b/addons/stock/i18n/sr.po
index 11aa6fa3c22..d67021e15a3 100644
--- a/addons/stock/i18n/sr.po
+++ b/addons/stock/i18n/sr.po
@@ -2424,7 +2424,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sr@latin.po b/addons/stock/i18n/sr@latin.po
index 304232c90c9..c2381578db1 100644
--- a/addons/stock/i18n/sr@latin.po
+++ b/addons/stock/i18n/sr@latin.po
@@ -2424,7 +2424,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/stock.pot b/addons/stock/i18n/stock.pot
index e926d7d863b..6b1c0e51833 100644
--- a/addons/stock/i18n/stock.pot
+++ b/addons/stock/i18n/stock.pot
@@ -2268,7 +2268,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sv.po b/addons/stock/i18n/sv.po
index 48175389c27..5a056336832 100644
--- a/addons/stock/i18n/sv.po
+++ b/addons/stock/i18n/sv.po
@@ -2410,7 +2410,7 @@ msgstr "View Stock of Products"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/th.po b/addons/stock/i18n/th.po
index 07fec36da46..c6e2b3a3723 100644
--- a/addons/stock/i18n/th.po
+++ b/addons/stock/i18n/th.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/tlh.po b/addons/stock/i18n/tlh.po
index 64ff4690650..d2886f36ad9 100644
--- a/addons/stock/i18n/tlh.po
+++ b/addons/stock/i18n/tlh.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/tr.po b/addons/stock/i18n/tr.po
index b26cdf51fc6..63f840e7659 100644
--- a/addons/stock/i18n/tr.po
+++ b/addons/stock/i18n/tr.po
@@ -2599,7 +2599,7 @@ msgstr "Ürün Stoğunu Göster"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Dahili Alım listesi"
#. module: stock
diff --git a/addons/stock/i18n/uk.po b/addons/stock/i18n/uk.po
index 0a0d954763a..2fcce267038 100644
--- a/addons/stock/i18n/uk.po
+++ b/addons/stock/i18n/uk.po
@@ -2412,7 +2412,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/vi.po b/addons/stock/i18n/vi.po
index 856da579eb3..071225bd727 100644
--- a/addons/stock/i18n/vi.po
+++ b/addons/stock/i18n/vi.po
@@ -2412,7 +2412,7 @@ msgstr "Xem tồn kho của các sản phẩm"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/zh_CN.po b/addons/stock/i18n/zh_CN.po
index 6eeb8827879..57d5dc7d802 100644
--- a/addons/stock/i18n/zh_CN.po
+++ b/addons/stock/i18n/zh_CN.po
@@ -2466,7 +2466,7 @@ msgstr "查看库存产品"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "内部装箱单"
#. module: stock
diff --git a/addons/stock/i18n/zh_TW.po b/addons/stock/i18n/zh_TW.po
index 2663d8c7190..d2170ec09a6 100644
--- a/addons/stock/i18n/zh_TW.po
+++ b/addons/stock/i18n/zh_TW.po
@@ -2419,7 +2419,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "內部提貨清單"
#. module: stock
diff --git a/addons/stock/product.py b/addons/stock/product.py
index 5216314fa3c..3dd58d3ca78 100644
--- a/addons/stock/product.py
+++ b/addons/stock/product.py
@@ -482,11 +482,13 @@ class product_template(osv.osv):
'property_stock_account_input': fields.property('account.account',
type='many2one', relation='account.account',
string='Stock Input Account', view_load=True,
- help='When doing real-time inventory valuation, counterpart Journal Items for all incoming stock moves will be posted in this account. If not set on the product, the one from the product category is used.'),
+ help="When doing real-time inventory valuation, counterpart journal items for all incoming stock moves will be posted in this account, unless "
+ "there is a specific valuation account set on the source location. When not set on the product, the one from the product category is used."),
'property_stock_account_output': fields.property('account.account',
type='many2one', relation='account.account',
string='Stock Output Account', view_load=True,
- help='When doing real-time inventory valuation, counterpart Journal Items for all outgoing stock moves will be posted in this account. If not set on the product, the one from the product category is used.'),
+ help="When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless "
+ "there is a specific valuation account set on the destination location. When not set on the product, the one from the product category is used."),
}
product_template()
@@ -502,11 +504,15 @@ class product_category(osv.osv):
'property_stock_account_input_categ': fields.property('account.account',
type='many2one', relation='account.account',
string='Stock Input Account', view_load=True,
- help='When doing real-time inventory valuation, counterpart Journal Items for all incoming stock moves will be posted in this account. This is the default value for all products in this category, it can also directly be set on each product.'),
+ help="When doing real-time inventory valuation, counterpart journal items for all incoming stock moves will be posted in this account, unless "
+ "there is a specific valuation account set on the source location. This is the default value for all products in this category. It "
+ "can also directly be set on each product"),
'property_stock_account_output_categ': fields.property('account.account',
type='many2one', relation='account.account',
string='Stock Output Account', view_load=True,
- help='When doing real-time inventory valuation, counterpart Journal Items for all outgoing stock moves will be posted in this account. This is the default value for all products in this category, it can also directly be set on each product.'),
+ help="When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless "
+ "there is a specific valuation account set on the destination location. This is the default value for all products in this category. It "
+ "can also directly be set on each product"),
'property_stock_valuation_account_id': fields.property('account.account',
type='many2one',
relation='account.account',
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index cf960bfb8aa..9e8cc34813f 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -125,53 +125,42 @@
Shipping Address :[[ (picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.title.name) or '' ]] [[ picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.name ]]
- [[ picking.address_id and picking.address_id.street or '' ]]
- [[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]
- [[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]
- [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or removeParentNode('para') ]]
- [[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]
+ [[ picking.address_id and display_address(picking.address_id) ]]
Contact Address :[[ picking.address_id and picking.address_id.title.name or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]
- [[ picking.address_id and picking.address_id.street or '' ]]
- [[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]
- [[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]
- [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or removeParentNode('para') ]]
- [[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]
+ [[ picking.address_id and display_address(picking.address_id) ]]
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index e6adec76d32..461c863aaed 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -211,8 +211,16 @@ class stock_location(osv.osv):
'stock_virtual_value': fields.function(_product_value, type='float', string='Virtual Stock Value', multi="stock", digits_compute=dp.get_precision('Account')),
'company_id': fields.many2one('res.company', 'Company', select=1, help='Let this field empty if this location is shared between all companies'),
'scrap_location': fields.boolean('Scrap Location', help='Check this box to allow using this location to put scrapped/damaged goods.'),
- 'valuation_in_account_id': fields.many2one('account.account', 'Stock Input Account',domain = [('type','=','other')], help='This account will be used to value stock moves that have this location as destination, instead of the stock output account from the product.'),
- 'valuation_out_account_id': fields.many2one('account.account', 'Stock Output Account',domain = [('type','=','other')], help='This account will be used to value stock moves that have this location as source, instead of the stock input account from the product.'),
+ 'valuation_in_account_id': fields.many2one('account.account', 'Stock Valuation Account (Incoming)', domain = [('type','=','other')],
+ help="Used for real-time inventory valuation. When set on a virtual location (non internal type), "
+ "this account will be used to hold the value of products being moved from an internal location "
+ "into this location, instead of the generic Stock Output Account set on the product. "
+ "This has no effect for internal locations."),
+ 'valuation_out_account_id': fields.many2one('account.account', 'Stock Valuation Account (Outgoing)', domain = [('type','=','other')],
+ help="Used for real-time inventory valuation. When set on a virtual location (non internal type), "
+ "this account will be used to hold the value of products being moved out of this location "
+ "and into an internal location, instead of the generic Stock Output Account set on the product. "
+ "This has no effect for internal locations."),
}
_defaults = {
'active': True,
@@ -981,7 +989,6 @@ class stock_picking(osv.osv):
for picking in self.browse(cr, uid, ids, context=context):
if picking.invoice_state != '2binvoiced':
continue
- payment_term_id = False
partner = picking.address_id and picking.address_id.partner_id
if not partner:
raise osv.except_osv(_('Error, no partner !'),
@@ -992,10 +999,8 @@ class stock_picking(osv.osv):
if inv_type in ('out_invoice', 'out_refund'):
account_id = partner.property_account_receivable.id
- payment_term_id = self._get_payment_term(cr, uid, picking)
else:
account_id = partner.property_account_payable.id
-
address_contact_id, address_invoice_id = \
self._get_address_invoice(cr, uid, picking).values()
address = address_obj.browse(cr, uid, address_contact_id, context=context)
@@ -1022,7 +1027,7 @@ class stock_picking(osv.osv):
'address_invoice_id': address_invoice_id,
'address_contact_id': address_contact_id,
'comment': comment,
- 'payment_term': payment_term_id,
+ 'payment_term': self._get_payment_term(cr, uid, picking),
'fiscal_position': partner.property_account_position.id,
'date_invoice': context.get('date_inv',False),
'company_id': picking.company_id.id,
@@ -1803,7 +1808,7 @@ class stock_move(osv.osv):
def onchange_date(self, cr, uid, ids, date, date_expected, context=None):
""" On change of Scheduled Date gives a Move date.
- @param date_expected: Scheduled Date
+ @param date_expected: Scheduled Date
@param date: Move Date
@return: Move Date
"""
@@ -2698,7 +2703,7 @@ class stock_inventory_line(osv.osv):
return {'value': {'product_qty': 0.0, 'product_uom': False}}
obj_product = self.pool.get('product.product').browse(cr, uid, product)
uom = uom or obj_product.uom_id.id
- amount = self.pool.get('stock.location')._product_get(cr, uid, location_id, [product], {'uom': uom, 'to_date': to_date})[product]
+ amount = self.pool.get('stock.location')._product_get(cr, uid, location_id, [product], {'uom': uom, 'to_date': to_date, 'compute_child': False})[product]
result = {'product_qty': amount, 'product_uom': uom}
return {'value': result}
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 6cd9d61f6c4..aeb809330e7 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -692,7 +692,7 @@
form
-
+
@@ -1022,8 +1022,8 @@
-
-
+
+
@@ -1239,7 +1239,7 @@
-
+
@@ -1277,7 +1277,7 @@
[('type','=','in')]{'contact_display': 'partner_address',"search_default_available":1}
- The Incoming Shipments is the list of all orders you will receive from your supplier. An incoming shipment contains a list of products to be received according to the original purchase order. You can validate the shipment totally or partially.
+ The Incoming Shipments is the list of all orders you will receive from your suppliers. An incoming shipment contains a list of products to be received according to the original purchase order. You can validate the shipment totally or partially.
@@ -1305,8 +1305,8 @@
-
-
+
+
@@ -1670,7 +1670,8 @@
-
+
+
@@ -1702,7 +1703,7 @@
-
+
@@ -1735,7 +1736,7 @@
tree,form['|','&',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&',('picking_id','!=',False),('picking_id.type','=','in')]
-
+ Here you can receive individual products, no matter what purchase order or picking order they come from. You will find the list of all products you are waiting for. Once you receive an order, you can filter based on the name of the supplier or the purchase order reference. Then you can confirm all products received using the buttons on the right of each line.
@@ -1870,7 +1871,7 @@
tree,form['|','&',('picking_id','=',False),('location_dest_id.usage', 'in', ['customer','supplier']),'&',('picking_id','!=',False),('picking_id.type','=','out')]
-
+ You will find in this list all products you have to deliver to your customers. You can process the deliveries directly from this list using the buttons on the right of each line. You can filter the products to deliver by customer, products or sale order (using the Origin field).
diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py
index f4618249e37..46c55311045 100644
--- a/addons/stock/wizard/stock_invoice_onshipping.py
+++ b/addons/stock/wizard/stock_invoice_onshipping.py
@@ -30,7 +30,7 @@ class stock_invoice_onshipping(osv.osv_memory):
if res:
return res[0][0]
return False
-
+
def _get_journal_id(self, cr, uid, context=None):
if context is None:
context = {}
@@ -46,6 +46,8 @@ class stock_invoice_onshipping(osv.osv_memory):
browse_picking = model_pool.browse(cr, uid, res_ids, context=context)
for pick in browse_picking:
+ if not pick.move_lines:
+ continue
src_usage = pick.move_lines[0].location_id.usage
dest_usage = pick.move_lines[0].location_dest_id.usage
type = pick.type
@@ -75,11 +77,11 @@ class stock_invoice_onshipping(osv.osv_memory):
'group': fields.boolean("Group by partner"),
'invoice_date': fields.date('Invoiced date'),
}
-
+
_defaults = {
'journal_id' : _get_journal,
}
-
+
def view_init(self, cr, uid, fields_list, context=None):
if context is None:
context = {}
diff --git a/addons/stock/wizard/stock_move.py b/addons/stock/wizard/stock_move.py
index f8ef095fb01..a61784f7a6b 100644
--- a/addons/stock/wizard/stock_move.py
+++ b/addons/stock/wizard/stock_move.py
@@ -254,7 +254,7 @@ class stock_move_split_lines_exist(osv.osv_memory):
_name = "stock.move.split.lines"
_description = "Stock move Split lines"
_columns = {
- 'name': fields.char('Tracking serial', size=64),
+ 'name': fields.char('Production Lot', size=64),
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM')),
'wizard_id': fields.many2one('stock.move.split', 'Parent Wizard'),
'wizard_exist_id': fields.many2one('stock.move.split', 'Parent Wizard (for existing lines)'),
diff --git a/addons/stock/wizard/stock_partial_picking.py b/addons/stock/wizard/stock_partial_picking.py
index f6ecb6511eb..f666bf1e367 100644
--- a/addons/stock/wizard/stock_partial_picking.py
+++ b/addons/stock/wizard/stock_partial_picking.py
@@ -22,13 +22,14 @@
import time
from osv import fields, osv
from tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
+import decimal_precision as dp
class stock_partial_picking_line(osv.TransientModel):
_name = "stock.partial.picking.line"
_rec_name = 'product_id'
_columns = {
'product_id' : fields.many2one('product.product', string="Product", required=True, ondelete='CASCADE'),
- 'quantity' : fields.float("Quantity", required=True),
+ 'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product UoM'), required=True),
'product_uom': fields.many2one('product.uom', 'Unit of Measure', required=True, ondelete='CASCADE'),
'prodlot_id' : fields.many2one('stock.production.lot', 'Production Lot', ondelete='CASCADE'),
'location_id': fields.many2one('stock.location', 'Location', required=True, ondelete='CASCADE'),
diff --git a/addons/stock/wizard/stock_partial_picking_view.xml b/addons/stock/wizard/stock_partial_picking_view.xml
index be85d266673..39b993b7d7d 100644
--- a/addons/stock/wizard/stock_partial_picking_view.xml
+++ b/addons/stock/wizard/stock_partial_picking_view.xml
@@ -36,9 +36,6 @@
-
-
-
@@ -54,9 +51,6 @@
-
-
-
diff --git a/addons/stock/wizard/stock_return_picking.py b/addons/stock/wizard/stock_return_picking.py
index b7c8aa28354..689f17cd9b9 100644
--- a/addons/stock/wizard/stock_return_picking.py
+++ b/addons/stock/wizard/stock_return_picking.py
@@ -24,13 +24,14 @@ import time
from osv import osv,fields
from tools.translate import _
+import decimal_precision as dp
class stock_return_picking_memory(osv.osv_memory):
_name = "stock.return.picking.memory"
_rec_name = 'product_id'
_columns = {
'product_id' : fields.many2one('product.product', string="Product", required=True),
- 'quantity' : fields.float("Quantity", required=True),
+ 'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product UoM'), required=True),
'wizard_id' : fields.many2one('stock.return.picking', string="Wizard"),
'move_id' : fields.many2one('stock.move', "Move"),
}
diff --git a/addons/stock/wizard/stock_splitinto.py b/addons/stock/wizard/stock_splitinto.py
index 78396656389..68397cc98f1 100644
--- a/addons/stock/wizard/stock_splitinto.py
+++ b/addons/stock/wizard/stock_splitinto.py
@@ -27,7 +27,7 @@ class stock_split_into(osv.osv_memory):
_name = "stock.split.into"
_description = "Split into"
_columns = {
- 'quantity': fields.float('Quantity',digits_compute=dp.get_precision('Product UOM')),
+ 'quantity': fields.float('Quantity',digits_compute=dp.get_precision('Product UoM')),
}
_defaults = {
'quantity': lambda *x: 0,
diff --git a/addons/stock_invoice_directly/__openerp__.py b/addons/stock_invoice_directly/__openerp__.py
index 69acadeb8bd..072f7af2aa5 100644
--- a/addons/stock_invoice_directly/__openerp__.py
+++ b/addons/stock_invoice_directly/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Invoice Picking Directly',
'version': '1.0',
- 'category': 'Hidden',
+ "category" : "Warehouse Management",
'complexity': "easy",
'description': """
Invoice Wizard for Delivery.
diff --git a/addons/stock_no_autopicking/__openerp__.py b/addons/stock_no_autopicking/__openerp__.py
index bd5629579cc..8b3458e0f73 100644
--- a/addons/stock_no_autopicking/__openerp__.py
+++ b/addons/stock_no_autopicking/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Stock No Auto-Picking',
'version': '1.0',
- 'category': 'Hidden',
+ "category" : "Warehouse Management",
'description': """
This module allows an intermediate picking process to provide raw materials to production orders.
=================================================================================================
diff --git a/addons/stock_planning/__openerp__.py b/addons/stock_planning/__openerp__.py
index e3043758b94..1ccb8f93e19 100644
--- a/addons/stock_planning/__openerp__.py
+++ b/addons/stock_planning/__openerp__.py
@@ -23,7 +23,7 @@
"name": "Master Procurement Schedule",
"version": "1.2",
"author": "OpenERP SA and Grzegorz Grzelak (OpenGLOBE)",
- "category": "Hidden",
+ "category" : "Manufacturing",
"images": ["images/master_procurement_schedule.jpeg","images/sales_forecast.jpeg","images/stock_planning_line.jpeg","images/stock_sales_period.jpeg"],
"depends": ["crm", "stock","sale"],
"complexity": "expert",
diff --git a/addons/subscription/__openerp__.py b/addons/subscription/__openerp__.py
index 581d54c9c4b..a58d4453665 100644
--- a/addons/subscription/__openerp__.py
+++ b/addons/subscription/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Recurring Documents',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
Create recurring documents.
===========================
diff --git a/addons/survey/__openerp__.py b/addons/survey/__openerp__.py
index e9bd92f5840..d73ed9c7b33 100644
--- a/addons/survey/__openerp__.py
+++ b/addons/survey/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Survey',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module is used for surveying.
==================================
@@ -52,6 +52,7 @@ Partners are also sent mails with user name and password for the invitation of t
'test/survey_report.yml',
],
'installable': True,
+ 'core': True,
'active': False,
'certificate' : '001131639736864143245',
'images': ['images/survey_answers.jpeg','images/survey_pages.jpeg','images/surveys.jpeg'],
diff --git a/addons/survey/survey_demo.xml b/addons/survey/survey_demo.xml
index 2b96d3c17d2..1d8eae17fb6 100644
--- a/addons/survey/survey_demo.xml
+++ b/addons/survey/survey_demo.xml
@@ -30,7 +30,6 @@
single_textbox1
- 11
@@ -39,7 +38,6 @@
What is your company's size?multiple_choice_only_one_ans
- 11
@@ -95,7 +93,6 @@
Where are you located?multiple_choice_multiple_ans
- 1
@@ -139,7 +136,6 @@
When did you become an OpenERP official partner?multiple_choice_only_one_ans
- 1
@@ -181,7 +177,6 @@
What kind of solutions do you sell to your customers? multiple_choice_multiple_ans
- 1
@@ -215,7 +210,6 @@
What do you think about the partnership contract?multiple_choice_only_one_ans
- 1
@@ -253,7 +247,6 @@
multiple_choice_only_one_anstextWhy?
- 1True
@@ -284,7 +277,7 @@
Which maintenance contract do you sell to your customers.multiple_choice_only_one_ans
- 1
+
@@ -320,7 +313,7 @@
Give your opinion about Launchpad reporting :matrix_of_choices_only_one_ans
- 1
+
@@ -370,7 +363,7 @@
Leadsmatrix_of_choices_only_one_ans
- 1
+
1
@@ -420,7 +413,7 @@
How is OpenERP SA's communication with partners about...matrix_of_choices_only_one_ans
- 1
+
@@ -477,8 +470,6 @@
In your opinion, how could OpenERP SA better communicate with partners and on which subjects?comment
- 1
- 1
@@ -506,8 +497,6 @@
What is your company's name?single_textbox
- 1
- 1
@@ -516,7 +505,7 @@
What is your company's sector?multiple_choice_multiple_ans
- 1
+
@@ -644,7 +633,6 @@
Which activities do you plan to manage with Odoo ?multiple_choice_multiple_ans
- 1
@@ -706,7 +694,6 @@
How did you discover Odoo ?multiple_choice_multiple_ans
- 1
@@ -762,7 +749,6 @@
Why did you subscribe to Odoo?multiple_choice_only_one_ans
- 1
@@ -801,7 +787,6 @@
How much time did you spend to configure the application?matrix_of_choices_only_one_ans
- 1
@@ -872,7 +857,6 @@
multiple_choice_only_one_anstextNo...Why?
- 1True
@@ -902,7 +886,6 @@
Which interface would you prefer to use?multiple_choice_only_one_ans
- 1
@@ -932,7 +915,6 @@
Give your opinion :matrix_of_choices_only_one_ans
- 1
@@ -958,8 +940,6 @@
Is the Control Center user-friendly?
- 1
- 1No Opinion
@@ -1002,9 +982,7 @@
What do you think about ... matrix_of_choices_only_one_ans
- 11
- 1
@@ -1080,7 +1058,6 @@
single_textbox1
- 1
@@ -1096,7 +1073,6 @@
How often would you prefer to receive your prepaid bill?multiple_choice_only_one_ans
- 1
@@ -1128,7 +1104,6 @@
multiple_choice_only_one_anstextComment
- 1True
@@ -1153,7 +1128,6 @@
How satisfied are you with Odoo's support services :matrix_of_choices_only_one_ans
- 1
@@ -1209,7 +1183,7 @@
Give your opinion about Odoo'smatrix_of_choices_only_one_ans
- 1
+
@@ -1271,7 +1245,7 @@
If you have any additional comments, write them here :comment
- 1
+
@@ -1346,7 +1320,6 @@
- 1
@@ -1366,7 +1339,6 @@
- 1
@@ -1386,7 +1358,6 @@
- 1
@@ -1408,7 +1379,6 @@
1
- 1
@@ -1428,7 +1398,6 @@
- 1
@@ -1448,7 +1417,6 @@
- 1
@@ -1468,7 +1436,6 @@
- 1
@@ -1488,7 +1455,6 @@
- 1
@@ -1508,7 +1474,6 @@
- 1
@@ -1528,7 +1493,6 @@
- 1
@@ -1549,7 +1513,6 @@
1
- 1
@@ -1570,7 +1533,6 @@
1
- 1
@@ -1590,7 +1552,6 @@
- 1
@@ -1610,7 +1571,6 @@
- 1
@@ -2191,7 +2151,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2220,7 +2179,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2249,7 +2207,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2278,7 +2235,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2307,7 +2263,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2336,7 +2291,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2365,7 +2319,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2394,7 +2347,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2423,7 +2375,6 @@
The comment you entered is in an invalid format.
- at least
@@ -2452,7 +2403,6 @@
The comment you entered is in an invalid format.
- at least
diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml
index d5d0100534e..26b19eeccd9 100644
--- a/addons/survey/survey_view.xml
+++ b/addons/survey/survey_view.xml
@@ -37,6 +37,7 @@
+
diff --git a/addons/users_ldap/__openerp__.py b/addons/users_ldap/__openerp__.py
index adab3ff892c..1ed4e17ee64 100644
--- a/addons/users_ldap/__openerp__.py
+++ b/addons/users_ldap/__openerp__.py
@@ -19,7 +19,7 @@
##############################################################################
{
- "name" : "Authenticate users with LDAP server",
+ "name" : "Authentication via LDAP",
"version" : "1.0",
"depends" : ["base"],
"images" : ["images/ldap_configuration.jpeg"],
@@ -116,7 +116,7 @@ will disable LDAP authentication if installed at the same time.
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category" : "Tools",
"data" : [
"users_ldap_view.xml",
"user_ldap_installer.xml",
diff --git a/addons/users_ldap/user_ldap_installer.xml b/addons/users_ldap/user_ldap_installer.xml
index 94318f42097..4dd65807a4b 100644
--- a/addons/users_ldap/user_ldap_installer.xml
+++ b/addons/users_ldap/user_ldap_installer.xml
@@ -8,10 +8,13 @@
form
+
+
+
diff --git a/addons/warning/__openerp__.py b/addons/warning/__openerp__.py
index c299d830ed9..0d462529ced 100644
--- a/addons/warning/__openerp__.py
+++ b/addons/warning/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Display Warning Messages',
+ 'name': 'Warning Messages and Alerts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Module to trigger warnings in OpenERP objects.
diff --git a/addons/web_livechat/__openerp__.py b/addons/web_livechat/__openerp__.py
index 66d365b5636..c8ef0fe0b23 100644
--- a/addons/web_livechat/__openerp__.py
+++ b/addons/web_livechat/__openerp__.py
@@ -21,7 +21,7 @@
{
'name': 'Live Chat Support',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Enable live chat support for those who have a maintenance contract.
diff --git a/addons/web_livechat/publisher_warranty.py b/addons/web_livechat/publisher_warranty.py
index b0a7e793ecf..57b610500d2 100644
--- a/addons/web_livechat/publisher_warranty.py
+++ b/addons/web_livechat/publisher_warranty.py
@@ -26,7 +26,7 @@ def _gen_cache_clear(method):
def func(self, cr, *args, **kwargs):
s = super(publisher_warranty_contract, self)
r = getattr(s, method)(cr, *args, **kwargs)
- self.is_livechat_enable.clear_cache(cr.dbname)
+ self.is_livechat_enable.clear_cache(self)
return r
return func
diff --git a/addons/web_uservoice/__openerp__.py b/addons/web_uservoice/__openerp__.py
index 41f80d4f7d1..03e312179af 100644
--- a/addons/web_uservoice/__openerp__.py
+++ b/addons/web_uservoice/__openerp__.py
@@ -21,7 +21,7 @@
{
'name': 'Receive User Feedback',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Add Feedback button in header.