diff --git a/addons/account/res_config.py b/addons/account/res_config.py
index bd7d1b3e711..3a3d247769d 100644
--- a/addons/account/res_config.py
+++ b/addons/account/res_config.py
@@ -37,14 +37,14 @@ class account_config_settings(osv.osv_memory):
'company_id': fields.many2one('res.company', 'Company', required=True),
'has_default_company': fields.boolean('Has default company', readonly=True),
'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean',
- string='Chart of Accounts for this Company',
+ string='This Company Has its Own Chart of Accounts',
help="""Check this box if this company is a legal entity."""),
'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True,
string='Default Company Currency', help="Main currency of the company."),
'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128,
- string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.)"),
+ string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."),
'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True,
- string='Bank Accounts on Reports', help="Bank accounts as printed on footer of reports."),
+ string='Bank Accounts on Reports', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."),
'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'),
'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', domain="[('visible','=', True)]"),
@@ -77,12 +77,12 @@ class account_config_settings(osv.osv_memory):
help="""This allows you to check writing and printing.
This installs the module account_check_writing."""),
'module_account_accountant': fields.boolean('Accountant Features',
- help="""If you do not check this box, you will be able to do Invoicing & Payments, but not accounting (Journal Items, Chart of Accounts, ...)."""),
+ help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
'module_account_asset': fields.boolean('Assets Management',
help="""This allows you to manage the assets owned by a company or a person.
It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.
- This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
- but not accounting (Journal Items, Chart of Accounts, ...) """),
+ This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
+ but not accounting (Journal Items, Chart of Accounts, ...)"""),
'module_account_budget': fields.boolean('Budget Management',
help="""This allows accountants to manage analytic and crossovered budgets.
Once the master budgets and the budgets are defined,
@@ -110,10 +110,12 @@ class account_config_settings(osv.osv_memory):
'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
implied_group='account.group_proforma_invoices',
help="Allows you to put invoices in pro-forma state."),
- 'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax'),
- 'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax'),
- 'decimal_precision': fields.integer('Decimal Precision',
- help="""Set the decimal precision for rounding results in accounting."""),
+ 'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax',
+ help="This sale tax will be assigned by default on new products."),
+ 'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax',
+ help="This purchase tax will be assigned by default on new products."),
+ 'decimal_precision': fields.integer('Decimal Precision on Journal Entries',
+ help="""As an example, a decimal precision of 2 will allow journal entries like: 9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: 0.0231 EUR."""),
}
def _default_company(self, cr, uid, context=None):
diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml
index 04e83b324bc..7c4e6a4a314 100644
--- a/addons/account/res_config_view.xml
+++ b/addons/account/res_config_view.xml
@@ -17,51 +17,65 @@
diff --git a/addons/anonymous/static/src/js/anonymous.js b/addons/anonymous/static/src/js/anonymous.js
index a28c56ac411..0e33998cd90 100644
--- a/addons/anonymous/static/src/js/anonymous.js
+++ b/addons/anonymous/static/src/js/anonymous.js
@@ -18,6 +18,9 @@ openerp.anonymous = function(instance) {
}
});
},
+ restart: function() {
+ return this.start();
+ }
});
@@ -35,8 +38,9 @@ openerp.anonymous = function(instance) {
this.$element.find('.oe_topbar_anonymous_login').click(function() {
var p = self.getParent();
var am = p.action_manager;
+ p.$element.find('.oe_leftbar').hide();
am.do_action({type:'ir.actions.client', tag:'login'});
- am.client_widget.on('login', p, p.show_application);
+ am.client_widget.on('login', p, p.restart);
});
}
});
diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py
index 7a048a50eb4..9c1d7d9fa8e 100644
--- a/addons/base_setup/base_setup.py
+++ b/addons/base_setup/base_setup.py
@@ -97,27 +97,4 @@ class specify_partner_terminology(osv.osv_memory):
self.make_translations(cr, uid, ids, act_ref, 'model', act_id.help, _case_insensitive_replace(act_id.help,'Customer',o.partner), res_id=act_id.id, context=context)
return {}
-# Preferences wizard for Sales & CRM.
-# It is defined here because it is inherited independently in modules sale, crm,
-# plugin_outlook and plugin_thunderbird.
-class sale_config_settings(osv.osv_memory):
- _name = 'sale.config.settings'
- _inherit = 'res.config.settings'
- _columns = {
- 'module_crm': fields.boolean('CRM'),
- 'module_plugin_thunderbird': fields.boolean('Thunderbird Plugin',
- help="""The plugin allows you archive email and its attachments to the selected
- OpenERP objects. You can select a partner, a task, a project, an analytical
- account, or any other object and attach the selected mail as a .eml file in
- the attachment of a selected record. You can create documents for CRM Lead,
- HR Applicant and Project Issue from the selected emails.
- This installs the module plugin_thunderbird."""),
- 'module_plugin_outlook': fields.boolean('Outlook Plugin',
- help="""The Outlook plugin allows you to select an object that you would like to add
- to your email and its attachments from MS Outlook. You can select a partner, a task,
- a project, an analytical account, or any other object and archive a selected
- email into an OpenERP mail message with attachments.
- This installs the module plugin_outlook."""),
- }
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml
index f6275f8567b..eb59d918681 100644
--- a/addons/base_setup/base_setup_views.xml
+++ b/addons/base_setup/base_setup_views.xml
@@ -43,42 +43,5 @@
new
-
- sale settings
- sale.config.settings
- form
-
-
-
-
-
-
-
- Configure Sales
- ir.actions.act_window
- sale.config.settings
-
- form
- inline
-
-
diff --git a/addons/base_setup/i18n/ja.po b/addons/base_setup/i18n/ja.po
index 5cc2296cbcf..92290c2dd95 100644
--- a/addons/base_setup/i18n/ja.po
+++ b/addons/base_setup/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-23 09:07+0000\n"
+"PO-Revision-Date: 2012-06-25 05:03+0000\n"
"Last-Translator: Tomomi Mengelberg \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
-"X-Generator: Launchpad (build 15288)\n"
+"X-Launchpad-Export-Date: 2012-06-25 05:14+0000\n"
+"X-Generator: Launchpad (build 15482)\n"
#. module: base_setup
#: field:user.preferences.config,menu_tips:0
@@ -122,7 +122,7 @@ msgstr "Salesforceのインポート"
#. module: base_setup
#: help:migrade.application.installer.modules,quickbooks_ippids:0
msgid "For Quickbooks Ippids"
-msgstr ""
+msgstr "Quickbooksのlppidsの為に"
#. module: base_setup
#: help:user.preferences.config,view:0
@@ -131,6 +131,8 @@ msgid ""
"simplified interface, which has less features but is easier. You can always "
"switch later from the user preferences."
msgstr ""
+"初めてopenERPを利用する場合は、簡素化されたインターフェイスを選択されることをお勧めします。設定後いつでもユーザープリファレンスから設定変更ができま"
+"す。"
#. module: base_setup
#: view:base.setup.terminology:0
@@ -187,16 +189,18 @@ msgid ""
"ones. Afterwards, users are free to change those values on their own user "
"preference form."
msgstr ""
+"これは新規ユーザーのデフォルトのプリファレンスを設定し、既存のすべてのものを更新します。 その後に、ユーザーはユーザー設定フォームで自由に設定変更ができま"
+"す。"
#. module: base_setup
#: field:base.setup.terminology,partner:0
msgid "How do you call a Customer"
-msgstr ""
+msgstr "どのように顧客を呼びますか"
#. module: base_setup
#: field:migrade.application.installer.modules,quickbooks_ippids:0
msgid "Quickbooks Ippids"
-msgstr ""
+msgstr "Quickbooks lppids"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
diff --git a/addons/base_setup/res_config.py b/addons/base_setup/res_config.py
index 92914f8f7a3..f6fdcefe8fe 100644
--- a/addons/base_setup/res_config.py
+++ b/addons/base_setup/res_config.py
@@ -28,13 +28,44 @@ class base_config_settings(osv.osv_memory):
'module_multi_company': fields.boolean('Multi Company',
help="""Work in multi-company environments, with appropriate security access between companies.
This installs the module multi_company."""),
- 'module_portal': fields.boolean('Portal',
- help="""Define a portal for your customers or suppliers. The portal is a group of
- external users that has specific access rights and rules.
- This installs the module portal."""),
- 'module_share': fields.boolean('Share',
- help="""Share OpenERP documents (records) with external users.
- This installs the module share."""),
+ 'module_portal': fields.boolean('Activate Customer Portal',
+ help="""The portal will give access to a series of documents for your customers; his quotations, his invoices, his projects, etc."""),
+ 'module_share': fields.boolean('Allow Sharing Resources to External Users',
+ help="""As an example, you will be able to share a project or some tasks to your customers, or quotes/sales to several persons at your customer company, or your agenda availabilities to your contacts."""),
+ }
+
+ def open_company(self, cr, uid, ids, context=None):
+ user = self.pool.get('res.users').browse(cr, uid, uid, context)
+ return {
+ 'type': 'ir.actions.act_window',
+ 'name': 'Your Company',
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'res.company',
+ 'res_id': user.company_id.id,
+ }
+
+# Preferences wizard for Sales & CRM.
+# It is defined here because it is inherited independently in modules sale, crm,
+# plugin_outlook and plugin_thunderbird.
+class sale_config_settings(osv.osv_memory):
+ _name = 'sale.config.settings'
+ _inherit = 'res.config.settings'
+ _columns = {
+ 'module_crm': fields.boolean('CRM'),
+ 'module_plugin_thunderbird': fields.boolean('Thunderbird Plugin',
+ help="""The plugin allows you archive email and its attachments to the selected
+ OpenERP objects. You can select a partner, or a lead and
+ attach the selected mail as a .eml file in
+ the attachment of a selected record. You can create documents for CRM Lead,
+ Partner from the selected emails.
+ This installs the module plugin_thunderbird."""),
+ 'module_plugin_outlook': fields.boolean('Outlook Plugin',
+ help="""The Outlook plugin allows you to select an object that you would like to add
+ to your email and its attachments from MS Outlook. You can select a partner,
+ or a lead object and archive a selected
+ email into an OpenERP mail message with attachments.
+ This installs the module plugin_outlook."""),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml
index e63e71b7f09..3c795b547df 100644
--- a/addons/base_setup/res_config_view.xml
+++ b/addons/base_setup/res_config_view.xml
@@ -8,23 +8,31 @@
@@ -38,5 +46,38 @@
+
+
+ sale settings
+ sale.config.settings
+ form
+
+
+
+
+
+
+ Configure Sales
+ ir.actions.act_window
+ sale.config.settings
+
+ form
+ inline
+
+
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index b765d347021..f2c90049f65 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -245,7 +245,7 @@
-
+
i
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index b40ed78bb16..563da4bd137 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -26,7 +26,7 @@ class crm_configuration(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_lead': fields.boolean("Create Leads from Incoming Mails", readonly=True,
+ 'fetchmail_lead': fields.boolean("Create Leads from Incoming Mails",
fetchmail_model='crm.lead', fetchmail_name='Incoming Leads',
help="""Allows you to configure your incoming mail server, and create leads from incoming emails."""),
'module_crm_caldav': fields.boolean("Caldav Synchronization",
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index a09f333076f..38c8c2db2e4 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -6,30 +6,37 @@
crm settingssale.config.settingsform
-
+
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
+
+
+
-
-
+
+
+
+ sequence="1" action="base_setup.action_sale_config"/>
diff --git a/addons/crm_claim/res_config.py b/addons/crm_claim/res_config.py
index 0dca243890b..05f7962e18b 100644
--- a/addons/crm_claim/res_config.py
+++ b/addons/crm_claim/res_config.py
@@ -26,7 +26,7 @@ class crm_claim_settings(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_claim': fields.boolean("Create Claims from Incoming Mails", readonly=True,
+ 'fetchmail_claim': fields.boolean("Create Claims from Incoming Mails",
fetchmail_model='crm.claim', fetchmail_name='Incoming Claims',
help="""Allows you to configure your incoming mail server, and create claims from incoming emails."""),
}
diff --git a/addons/crm_claim/res_config_view.xml b/addons/crm_claim/res_config_view.xml
index 72632c1afef..ba9e75ba7c0 100644
--- a/addons/crm_claim/res_config_view.xml
+++ b/addons/crm_claim/res_config_view.xml
@@ -6,12 +6,16 @@
crm_claim settingssale.config.settingsform
-
-
+
+
-
-
-
+
+
+
+
+
+
diff --git a/addons/fetchmail/res_config.py b/addons/fetchmail/res_config.py
index f7dade6ae33..6655b95ac0e 100644
--- a/addons/fetchmail/res_config.py
+++ b/addons/fetchmail/res_config.py
@@ -32,7 +32,7 @@ class fetchmail_config_settings(osv.osv_memory):
_inherit = ['res.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_stuff': fields.boolean(..., readonly=True,
+ 'fetchmail_stuff': fields.boolean(...,
fetchmail_model='my.stuff', fetchmail_name='Incoming Stuff'),
}
@@ -67,6 +67,18 @@ class fetchmail_config_settings(osv.osv_memory):
res[f] = bool(server_ids)
return res
+ def set_fetchmail(self, cr, uid, ids, context=None):
+ """ deactivate fetchmail servers for all fields like 'fetchmail_XXX' that are False """
+ config = self.browse(cr, uid, ids[0], context)
+ fetchmail_fields = [f for f in self._columns if f.startswith('fetchmail_')]
+ # determine which models should not have active fetchmail servers, and
+ # deactivate all active servers for those models
+ models = [self._columns[f].fetchmail_model for f in fetchmail_fields if not config[f]]
+ if models:
+ fetchmail_server = self.pool.get('fetchmail.server')
+ server_ids = fetchmail_server.search(cr, uid, [('object_id.model', 'in', models), ('state', '=', 'done')])
+ fetchmail_server.set_draft(cr, uid, server_ids, context)
+
def configure_fetchmail(self, cr, uid, field, context=None):
""" open the form view of the fetchmail.server to configure """
action = {
diff --git a/addons/hr/res_config.py b/addons/hr/res_config.py
index fb48f020f24..c9e5b7a8628 100644
--- a/addons/hr/res_config.py
+++ b/addons/hr/res_config.py
@@ -31,7 +31,7 @@ class hr_config_settings(osv.osv_memory):
'module_hr_attendance': fields.boolean('Track Attendances',
help ="""This installs the module hr_attendance."""),
'module_hr_timesheet': fields.boolean('Manage Timesheets',
- help ="""This installs the module hr_timesheet."""),
+ help ="""This installs the module hr_timesheet."""),
'module_hr_holidays': fields.boolean('Leaves & Holidays',
help ="""This installs the module hr_holidays."""),
'module_hr_expense': fields.boolean('Expenses',
@@ -46,4 +46,16 @@ class hr_config_settings(osv.osv_memory):
help ="""This installs the module hr_payroll."""),
}
+ def onchange_hr_timesheet(self, cr, uid, ids, timesheet, context=None):
+ """ module_hr_timesheet implies module_hr_attendance """
+ if timesheet:
+ return {'value': {'module_hr_attendance': True}}
+ return {}
+
+ def onchange_hr_attendance(self, cr, uid, ids, attendance, context=None):
+ """ module_hr_timesheet implies module_hr_attendance """
+ if not attendance:
+ return {'value': {'module_hr_timesheet': False}}
+ return {}
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/res_config_view.xml b/addons/hr/res_config_view.xml
index 8d258441d20..1234f462f99 100644
--- a/addons/hr/res_config_view.xml
+++ b/addons/hr/res_config_view.xml
@@ -16,27 +16,36 @@
diff --git a/addons/hr_payroll/res_config.py b/addons/hr_payroll/res_config.py
index 23ae902148b..d1e33173f77 100644
--- a/addons/hr_payroll/res_config.py
+++ b/addons/hr_payroll/res_config.py
@@ -25,5 +25,5 @@ class human_resources_configuration(osv.osv_memory):
_inherit = 'hr.config.settings'
_columns = {
'module_hr_payroll_account': fields.boolean('Manage Account Payroll',
- help ="""This installs the module hr_payroll_account."""),
+ help ="""Create Journal Entries from Payslips"""),
}
diff --git a/addons/hr_payroll/res_config_view.xml b/addons/hr_payroll/res_config_view.xml
index c2f760d8864..051c720667b 100644
--- a/addons/hr_payroll/res_config_view.xml
+++ b/addons/hr_payroll/res_config_view.xml
@@ -7,9 +7,10 @@
form
-
+
+
-
+
diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py
index 6fe0a7b88dd..4818d280879 100644
--- a/addons/hr_recruitment/res_config.py
+++ b/addons/hr_recruitment/res_config.py
@@ -28,9 +28,9 @@ class hr_applicant_settings(osv.osv_memory):
_columns = {
'module_document_ftp': fields.boolean('Automatic Indexation of Resumes',
help="""Manage your CV's and motivation letter related to all applicants.
- This installs the module document_ftp."""),
- 'fetchmail_applicants': fields.boolean('Create Applicants from Incoming Mails', readonly=True,
- fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
+ This installs the module document_ftp. This will install the knowledge management module in order to allow you to search using specific keywords through the content of all documents (PDF, .DOCx...)"""),
+ 'fetchmail_applicants': fields.boolean('Create Applicants from Incoming Mails',
+ fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
help ="""Allow applicants to send their job application to an email address (jobs@mycompany.com),
and create automatically application documents in the system."""),
}
diff --git a/addons/hr_recruitment/res_config_view.xml b/addons/hr_recruitment/res_config_view.xml
index 659aa586d56..011e3816c2c 100644
--- a/addons/hr_recruitment/res_config_view.xml
+++ b/addons/hr_recruitment/res_config_view.xml
@@ -7,12 +7,16 @@
form
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/addons/hr_timesheet_sheet/res_config_view.xml b/addons/hr_timesheet_sheet/res_config_view.xml
index 6d8c998eec7..61ebee2412b 100644
--- a/addons/hr_timesheet_sheet/res_config_view.xml
+++ b/addons/hr_timesheet_sheet/res_config_view.xml
@@ -8,9 +8,8 @@
-
-
-
+
+
diff --git a/addons/knowledge/res_config_view.xml b/addons/knowledge/res_config_view.xml
index 58132f3b314..c1a11239fb9 100644
--- a/addons/knowledge/res_config_view.xml
+++ b/addons/knowledge/res_config_view.xml
@@ -8,22 +8,21 @@
diff --git a/addons/marketing/res_config_view.xml b/addons/marketing/res_config_view.xml
index 491117231c3..795529107f3 100644
--- a/addons/marketing/res_config_view.xml
+++ b/addons/marketing/res_config_view.xml
@@ -8,9 +8,9 @@
diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.py b/addons/purchase_double_validation/purchase_double_validation_installer.py
index 9bf03474e86..cff984c473f 100644
--- a/addons/purchase_double_validation/purchase_double_validation_installer.py
+++ b/addons/purchase_double_validation/purchase_double_validation_installer.py
@@ -24,7 +24,7 @@ from osv import fields, osv
class purchase_config_settings(osv.osv_memory):
_inherit = 'purchase.config.settings'
_columns = {
- 'limit_amount': fields.integer('Double Validation Limit',required=True,
+ 'limit_amount': fields.integer('Limit to Require a Second Approval',required=True,
help="Amount after which validation of purchase is required."),
}
diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py
index 1007107f1a0..79837df3bf9 100644
--- a/addons/sale/res_config.py
+++ b/addons/sale/res_config.py
@@ -27,7 +27,7 @@ class sale_configuration(osv.osv_memory):
_inherit = 'sale.config.settings'
_columns = {
- 'group_invoice_so_lines': fields.boolean('Based on Sales Orders',
+ 'group_invoice_so_lines': fields.boolean('Based on Sale Orders',
implied_group='sale.group_invoice_so_lines',
help="To allow your salesman to make invoices for sale order lines using the menu 'Lines to Invoice'."),
'group_invoice_deli_orders': fields.boolean('Based on Delivery Orders',
@@ -44,24 +44,24 @@ class sale_configuration(osv.osv_memory):
This installs the module account_analytic_analysis."""),
'module_account_analytic_analysis': fields.boolean('Manage Customer Contracts',
help = """Allows to define your customer contracts conditions: invoicing
- method (fixed price, on timesheet, advance invoice), the exact pricing
- (650€/day for a developer), the duration (one year support contract).
- You will be able to follow the progress of the contract and invoice automatically.
+ method (fixed price, on timesheet, advance invoice), the exact pricing
+ (650€/day for a developer), the duration (one year support contract).
+ You will be able to follow the progress of the contract and invoice automatically.
It installs the account_analytic_analysis module."""),
'default_order_policy': fields.selection(
[('manual', 'Invoice Based on Sales Orders'), ('picking', 'Invoice Based on Deliveries')],
'Default Method', default_model='sale.order',
help="You can generate invoices based on sales orders or based on shippings."),
- 'module_delivery': fields.boolean('Charge Shipping Cost',
+ 'module_delivery': fields.boolean('Allow Charging Shipping Costs',
help ="""Allows you to add delivery methods in sale orders and delivery orders.
You can define your own carrier and delivery grids for prices.
This installs the module delivery."""),
'time_unit': fields.many2one('product.uom', 'Working Time Unit'),
- 'default_picking_policy' : fields.boolean("Deliver all Products at Once",
- help = "You can set picking policy on sale order that will allow you to deliver all products at once."),
+ 'default_picking_policy' : fields.boolean("Configurable Shipping Policy",
+ help = "You will be able to configure, per sale order, if you deliver all products at once or if you deliver each product when it is available. This may have an impact on the shipping price."),
'group_sale_pricelist':fields.boolean("Pricelist per Customer",
implied_group='product.group_sale_pricelist',
- help="""Allows to manage different prices based on rules per category of customers.
+ help="""Allows to manage different prices based on rules per category of customers.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
'group_uom':fields.boolean("Allow Different Units of Measure",
implied_group='product.group_uom',
@@ -74,12 +74,12 @@ class sale_configuration(osv.osv_memory):
help="Allows you to apply some discount per sale order line."),
'group_multiple_shops': fields.boolean("Manage Multiple Shops",
implied_group='stock.group_locations',
- help="This allows to configure and use multiple shops."),
+ help="This allows to configure and use multiple shops."),
'module_sale_layout': fields.boolean("Notes & Subtotals per Line",
help="""Allows to format sale order lines using notes, separators, titles and subtotals.
This installs the module sale_layout."""),
'module_warning': fields.boolean("Alerts by Products or Customers",
- help="""Allow to configure warnings on products and trigger them when a user wants to sale a given product or a given customer.
+ help="""Allow to configure warnings on products and trigger them when a user wants to sale a given product or a given customer.
Example: Product: this product is deprecated, do not purchase more than 5.
Supplier: don't forget to ask for an express delivery."""),
'module_sale_margin': fields.boolean("Display Margins on Sale Orders",
@@ -101,8 +101,17 @@ class sale_configuration(osv.osv_memory):
'module_project_timesheet': fields.boolean("Project Timesheet"),
'module_project_mrp': fields.boolean("Project MRP"),
'module_project': fields.boolean("Project"),
- 'decimal_precision': fields.integer('Decimal Precision on Price'),
+ 'decimal_precision': fields.integer('Decimal Precision on Price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
}
+ def _check_decimal(self, cr, uid, ids, context=None):
+ for decimal in self.browse(cr, uid, ids, context=context):
+ if decimal.decimal_precision > 20:
+ return False
+ return True
+
+ _constraints = [
+ (_check_decimal, 'Digits must be between 0 to 20 ', ['decimal_precision']),
+ ]
def default_get(self, cr, uid, fields, context=None):
ir_model_data = self.pool.get('ir.model.data')
@@ -185,10 +194,14 @@ class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
'module_sale_analytic_plans': fields.boolean('Several Analytic Accounts on Sales',
- help="""This allows install module sale_analytic_plans."""),
+ help="""This allows install module sale_analytic_plans."""),
'group_analytic_account_for_sales': fields.boolean('Analytic Accounting for Sales',
implied_group='sale.group_analytic_accounting',
help="Allows you to specify an analytic account on sale orders."),
}
+ def onchange_sale_analytic_plans(self, cr, uid, ids, module_sale_analytic_plans, context=None):
+ """ change group_analytic_account_for_sales following module_sale_analytic_plans """
+ return {'value': {'group_analytic_account_for_sales': module_sale_analytic_plans}}
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index fa8aa2baa8e..d05759d742c 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -6,47 +6,55 @@
sale settingssale.config.settingsform
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+ sequence="1" action="base_setup.action_sale_config"/>
account settings
@@ -60,7 +68,7 @@
-
+
diff --git a/addons/stock/i18n/ja.po b/addons/stock/i18n/ja.po
index 00201cf4959..d73bbf6d106 100644
--- a/addons/stock/i18n/ja.po
+++ b/addons/stock/i18n/ja.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: 2012-06-24 05:28+0000\n"
-"X-Generator: Launchpad (build 15461)\n"
+"X-Launchpad-Export-Date: 2012-06-25 05:14+0000\n"
+"X-Generator: Launchpad (build 15482)\n"
#. module: stock
#: field:product.product,track_outgoing:0
diff --git a/addons/stock/res_config.py b/addons/stock/res_config.py
index 7e18809fc1a..3ad4b8e5914 100644
--- a/addons/stock/res_config.py
+++ b/addons/stock/res_config.py
@@ -65,15 +65,15 @@ class stock_config_settings(osv.osv_memory):
help="""Allows you to get the upstream or downstream traceability of the products contained in lot."""),
'group_stock_inventory_valuation': fields.boolean("Generate Accounting Entries per Stock Movement",
implied_group='stock.group_inventory_valuation',
- help="""This allows to split stock inventory lines according to serial numbers."""),
+ help="""Allows to configure inventory valuations on products and product categories."""),
'group_stock_multiple_locations': fields.boolean("Manage Multiple Locations and Warehouses",
implied_group='stock.group_locations',
help="""This allows to configure and use multiple stock locations and warehouses,
instead of having a single default one."""),
- 'group_product_variant': fields.boolean("Product Variant",
+ 'group_product_variant': fields.boolean("Support Multiple Variants per Product",
implied_group='product.group_product_variant',
- help="""This allows to configure and use Product Variant."""),
- 'decimal_precision': fields.integer('Decimal Precision on Weight'),
+ help="""Allow to manage several variants per product. As an example, if you sell T-Shirts, for the same "Linux T-Shirt", you may have variants on sizes or colors; S, M, L, XL, XXL."""),
+ 'decimal_precision': fields.integer('Decimal Precision on Weights', help="As an example, a decimal precision of 2 will allow weights like: 9.99 kg, whereas a decimal precision of 4 will allow weights like: 0.0231 kg."),
}
def get_default_dp(self, cr, uid, fields, context=None):
diff --git a/addons/stock/res_config_view.xml b/addons/stock/res_config_view.xml
index 58c32eb1bb9..30a963bb429 100644
--- a/addons/stock/res_config_view.xml
+++ b/addons/stock/res_config_view.xml
@@ -9,32 +9,40 @@