diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index 2d0ab3ae092..6007d45ba10 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -59,7 +59,7 @@
3
- manual
+ automatic
diff --git a/addons/account/res_config.py b/addons/account/res_config.py
index 2c6208bd570..75fb624e4d8 100644
--- a/addons/account/res_config.py
+++ b/addons/account/res_config.py
@@ -30,12 +30,16 @@ class account_configuration(osv.osv_memory):
('no_tax', 'No Tax'),
('global_on_order', 'Global On Order'),
('on_order_line', 'On Order Lines'),
- ], 'Taxes', required=True),
+ ], 'Taxes', required=True,
+ help="""
+ If you want to apply global tax on sale order then select 'Global On Order' it will add 'Global On Order' group to employees.
+ If you want to apply different taxes for sale order lines then select 'On Order Lines' it will add 'On Order Lines' group to employees.
+ """),
'tax_value': fields.float('Value'),
}
_defaults = {
- 'tax_policy': 'global_on_order',
+ 'tax_policy': 'global_on_order',
}
def get_default_tax_policy(self, cr, uid, ids, context=None):
@@ -98,7 +102,7 @@ class account_configuration(osv.osv_memory):
users_obj.write(cr, uid, [uid], {'groups_id': [(3,remove_group_id)]})
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,remove_group_id)])
else:
- groups = [order_group_id, remove_group_id]
+ groups = [order_group_id, order_line_group_id]
for group_id in groups:
groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,group_id)]})
users_obj.write(cr, uid, [uid], {'groups_id': [(3,group_id)]})
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index 5558d5f3323..347c6c0c0c9 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -117,11 +117,13 @@
form
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index 1082052344c..fa92752ecdd 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -26,8 +26,11 @@ class crm_configuration(osv.osv_memory):
_columns = {
'module_crm_caldav' : fields.boolean("Use caldav to synchronize Meetings",
- help="Install crm_caldav module: Caldav features in Meeting"),
- 'fetchmail_crm': fields.boolean("Lead/Opportunity mail gateway"),
+ help="""This allows you Caldav features in Meeting, Share meeting with other calendar clients like sunbird.
+ It installs crm_caldav module."""),
+ 'module_fetchmail_crm': fields.boolean("Lead/Opportunity mail gateway", help="""
+ This allows you to configure your incoming mail server,
+ It installs fetchmail_crm module."""),
'server' : fields.char('Server Name', size=256),
'port' : fields.integer('Port'),
'type': fields.selection([
@@ -92,7 +95,7 @@ class crm_configuration(osv.osv_memory):
ir_values_obj = self.pool.get('ir.values')
result = {}
installed_modules = self.get_default_installed_modules(cr, uid, ids, context=context)
- if 'fetchmail_crm' in installed_modules.keys():
+ if 'module_fetchmail_crm' in installed_modules.keys():
for val in ir_values_obj.get(cr, uid, 'default', False, ['fetchmail.server']):
result.update({val[1]: val[2]})
return result
@@ -113,11 +116,11 @@ class crm_configuration(osv.osv_memory):
model_obj = self.pool.get('ir.model')
fetchmail_obj = self.pool.get('fetchmail.server')
ir_values_obj = self.pool.get('ir.values')
- if vals.get('fetchmail_crm'):
- object_id = model_obj.search(cr, uid, [('model','=','crm.lead')])[0]
+ object_id = model_obj.search(cr, uid, [('model','=','crm.lead')])
+ if vals.get('module_fetchmail_crm') and object_id:
fetchmail_vals = {
'name': 'Incoming Leads',
- 'object_id': object_id,
+ 'object_id': object_id[0],
'server': vals.get('server'),
'port': vals.get('port'),
'is_ssl': vals.get('is_ssl'),
@@ -126,7 +129,7 @@ class crm_configuration(osv.osv_memory):
'password': vals.get('password')
}
server_ids = fetchmail_obj.search(cr, uid, [])
- if not self.get_default_installed_modules(cr, uid, ['fetchmail_crm'], context) or not server_ids:
+ if not self.get_default_installed_modules(cr, uid, ids, context) or not server_ids:
tt = fetchmail_obj.create(cr, uid, fetchmail_vals, context=context)
else:
fetchmail_ids = fetchmail_obj.search(cr, uid, [('name','=','Incoming Leads')], context=context)
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index 66130eae4a8..46b3447c673 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -5,34 +5,34 @@
Sales Applicationres.configform
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,8 +59,11 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/addons/plugin_outlook/plugin_outlook.xml b/addons/plugin_outlook/plugin_outlook.xml
index 27fd8d6d11f..33a94dc2b42 100644
--- a/addons/plugin_outlook/plugin_outlook.xml
+++ b/addons/plugin_outlook/plugin_outlook.xml
@@ -52,9 +52,9 @@
Sales Applicationres.configform
-
+
-
+
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.xml b/addons/plugin_thunderbird/plugin_thunderbird.xml
index 92da206d4b3..619f26aa9d2 100644
--- a/addons/plugin_thunderbird/plugin_thunderbird.xml
+++ b/addons/plugin_thunderbird/plugin_thunderbird.xml
@@ -59,9 +59,9 @@
Sales Applicationres.configform
-
+
-
+
diff --git a/addons/product/res_config.py b/addons/product/res_config.py
index 5211f302bb9..7e549b5fb1c 100644
--- a/addons/product/res_config.py
+++ b/addons/product/res_config.py
@@ -25,8 +25,15 @@ class product_groups_configuration(osv.osv_memory):
_inherit = 'res.config'
_columns = {
- 'group_sale_pricelist_per_customer':fields.boolean("Pricelist per customer ",help="Group to Activate pricelist to manage prices per customer"),
- 'group_sale_uom_per_product':fields.boolean("UOM per product",help="Group to Allow different unit of measure per product"),
+ 'group_sale_pricelist_per_customer':fields.boolean("Pricelist per customer",
+ 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.
+ It assigns the "Pricelist" group to all employees."""),
+ 'group_sale_uom_per_product':fields.boolean("UOM per product",
+ help="""
+ Allows you to select and maintain different unit of measures per product.
+ It assigns the "UOM per product" group to all employees.
+ """),
}
product_groups_configuration()
\ No newline at end of file
diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py
index aedbfa021b3..9e66becdf8e 100644
--- a/addons/sale/res_config.py
+++ b/addons/sale/res_config.py
@@ -27,18 +27,19 @@ class sale_configuration(osv.osv_memory):
_inherit = 'res.config'
_columns = {
- 'sale_orders': fields.boolean('Based on Sales Orders',),
- 'deli_orders': fields.boolean('Based on Delivery Orders'),
+ 'sale_orders': fields.boolean('Based on Sales Orders',
+ help="To allow your salesman to make invoices for sale order lines using 'Lines to Invoice' menu."),
+ 'deli_orders': fields.boolean('Based on Delivery Orders',
+ help="To allow your salesman to make invoices for Delivery Orders using 'Deliveries to Invoice' menu."),
'task_work': fields.boolean('Based on Tasks\' Work',
- help="""
- It installs the project_timesheet and project_mrp module
- project_timesheet :lets you transfer the entries under tasks defined for Project Management to
+ help="""Lets you transfer the entries under tasks defined for Project Management to
the Timesheet line entries for particular date and particular user with the effect of creating, editing and deleting either ways.
- project_mrp : Automatically creates project tasks from procurement lines"""),
- 'timesheet': fields.boolean('Based on Timesheet',
- help = """for modifying account analytic view to show important data to project manager of services companies,
- You can also view the report of account analytic summary user-wise as well as month wise
- ,It installs the account_analytic_analysis module."""),
+ and to automatically creates project tasks from procurement lines.
+ It installs the project_timesheet and project_mrp module"""),
+ 'module_account_analytic_analysis': fields.boolean('Based on Timesheet',
+ help = """For modifying account analytic view to show important data to project manager of services companies,
+ You can also view the report of account analytic summary user-wise as well as month wise.
+ It installs the account_analytic_analysis module."""),
'order_policy': fields.selection([
('manual', 'Invoice Based on Sales Orders'),
('picking', 'Invoice Based on Deliveries'),
@@ -50,9 +51,9 @@ class sale_configuration(osv.osv_memory):
It installs the delivery module.
"""),
'time_unit': fields.many2one('product.uom','Working Time Unit'),
- 'picking_policy' : fields.boolean("Deliver all products at once?", help = ""),
- 'group_sale_delivery_address':fields.boolean("Multiple Address",help="Group To Allow delivery address different from invoice address"),
- 'group_sale_disc_per_sale_order_line':fields.boolean("Discounts per sale order lines ",help="Group to apply discounts per sale order lines"),
+ '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."),
+ 'group_sale_delivery_address':fields.boolean("Multiple Address",help="This allows you to set different delivery address and picking address,it assigns Multiple Address group to all employees."),
+ 'group_sale_disc_per_sale_order_line':fields.boolean("Discounts per sale order lines ",help="This allows you to apply discounts per sale order lines, it assigns Discounts per sale order lines group to all employees."),
'module_sale_layout':fields.boolean("Notes & subtotals per line",help="Allows to format sale order lines using notes, separators, titles and subtotals. It installs the sale_layout module."),
'module_warning': fields.boolean("Alerts by products or customers",
help="""To trigger warnings in OpenERP objects.
@@ -73,19 +74,12 @@ class sale_configuration(osv.osv_memory):
help=""" This allows you to define what is the default invoicing rate for a specific journal on a given account.
It installs analytic_journal_billing_rate module.
"""),
- 'module_account_analytic_analysis': fields.boolean('Contracts',
- help = """
- For modifying account analytic view to show important data to project manager of services companies,
- You can also view the report of account analytic summary user-wise as well as month wise
- ,It installs the account_analytic_analysis module."""),
}
-
+
def get_default_installed_modules(self, cr, uid, ids, context=None):
installed_modules = super(sale_configuration, self).get_default_installed_modules(cr, uid, ids, context=context)
- if installed_modules.get('project_mrp') and installed_modules.get('project_timesheet'):
+ if installed_modules.get('module_project_mrp') and installed_modules.get('module_project_timesheet'):
installed_modules['task_work'] = True
- if installed_modules.get('account_analytic_analysis'):
- installed_modules['timesheet'] = True
return installed_modules
def get_default_sale_configs(self, cr, uid, ids, context=None):
@@ -136,11 +130,6 @@ class sale_configuration(osv.osv_memory):
return True
def set_installed_modules(self, cr, uid, ids, vals, context=None):
- if vals.get('timesheet'):
- vals.update({'module_account_analytic_analysis': True})
- else:
- vals.update({'module_account_analytic_analysis': False})
-
if vals.get('task_work'):
vals.update({'module_project_timesheet': True, 'module_project_mrp': True})
else:
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index 1011ddb31dd..04cf914feca 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -5,83 +5,65 @@
Sales Applicationres.configform
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- Configure Sales Application
- ir.actions.act_window
- res.config
-
- form
- form
-
-
-
+
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 76b2f6d4bcb..a99377c6289 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -270,7 +270,7 @@ class sale_order(osv.osv):
'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
'company_id': fields.related('shop_id','company_id',type='many2one',relation='res.company',string='Company',store=True,readonly=True),
- 'tax_id': fields.many2one('account.tax','Global Tax'),
+ 'tax_id': fields.many2one('account.tax', 'Tax'),
}
_defaults = {
'picking_policy': 'direct',
@@ -310,6 +310,14 @@ class sale_order(osv.osv):
if shop.pricelist_id.id:
v['pricelist_id'] = shop.pricelist_id.id
return {'value': v}
+
+ def onchange_taxes(self, cr, uid, ids, tax_id, context=None):
+ sol_obj = self.pool.get('sale.order.line')
+ res = {'value': {}}
+ for order in self.browse(cr, uid, ids, context=context):
+ for line in order.order_line:
+ sol_obj.write(cr, uid, line.id, {'tax_id': [(4,tax_id)]})
+ return res
def action_cancel_draft(self, cr, uid, ids, *args):
if not len(ids):
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 4cdacbfc505..541bdf79f68 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -155,7 +155,8 @@
-
+
@@ -195,7 +196,7 @@
-
+