[IMP]: Improved views. Moved common code to server.

bzr revid: uco@tinyerp.com-20120301114915-m73sfjekk1wgpj2q
This commit is contained in:
Ujjvala Collins (OpenERP)
2012-03-01 17:19:15 +05:30
parent b4d57024d6
commit b1e58116a6
4 changed files with 17 additions and 102 deletions
+1 -1
View File
@@ -59,7 +59,7 @@
<field name="action_id" ref="action_account_configuration_installer"/>
<field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
<field name="type">manual</field>
</record>
<record id="action_view_financial_accounts_installer" model="ir.actions.act_window">
+5 -25
View File
@@ -37,7 +37,7 @@ class account_configuration(osv.osv_memory):
_defaults = {
'tax_policy': 'global_on_order',
}
def get_default_tax_policy(self, cr, uid, ids, context=None):
applied_groups = self.get_default_applied_groups(cr, uid, ids, context=context)
if applied_groups.get('group_sale_taxes_global_on_order'):
@@ -47,14 +47,14 @@ class account_configuration(osv.osv_memory):
else:
applied_groups.update({'tax_policy': 'no_tax'})
return applied_groups
def _check_default_tax(self, cr, uid, context=None):
ir_values_obj = self.pool.get('ir.values')
for tax in ir_values_obj.get(cr, uid, 'default', False, ['product.product']):
if tax[1] == 'taxes_id':
return tax[2]
return False
def default_get(self, cr, uid, fields_list, context=None):
ir_values_obj = self.pool.get('ir.values')
res = super(account_configuration, self).default_get(cr, uid, fields_list, context=context)
@@ -70,7 +70,7 @@ class account_configuration(osv.osv_memory):
if self._check_default_tax(cr, uid, context) and res['fields'].get('tax_value'):
res['fields']['tax_value'] = {'domain': [], 'views': {}, 'context': {}, 'selectable': True, 'type': 'many2one', 'relation': 'account.tax', 'string': 'Value'}
return res
def set_tax_policy(self, cr, uid, ids, vals, context=None):
data_obj = self.pool.get('ir.model.data')
users_obj = self.pool.get('res.users')
@@ -98,30 +98,10 @@ 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, remove_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)]})
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,group_id)])
def set_tax_value(self, cr, uid, ids, vals, context=None):
chart_account_obj = self.pool.get('wizard.multi.charts.accounts')
acc_installer_obj = self.pool.get('account.installer')
chart_template_obj = self.pool.get('account.chart.template')
tax_obj = self.pool.get('account.tax')
chart_template_ids = chart_template_obj.search(cr, uid, [('visible', '=', True)], context=context)
taxes = []
if chart_template_ids:
name = _('Tax %.2f%%') % vals.get('tax_value')
taxes = tax_obj.search(cr, uid, [('name', '=', name)], context=context)
check_default_taxes = self._check_default_tax(cr, uid, context)
if not check_default_taxes and not taxes:
installer_id = acc_installer_obj.create(cr, uid, {}, context=context)
acc_installer_obj.execute(cr, uid, [installer_id], context=context)
if chart_template_ids:
code_digits = chart_account_obj.onchange_chart_template_id(cr, uid, [], chart_template_ids[0], context=context)['value']['code_digits']
object_id = chart_account_obj.create(cr, uid, {'code_digits': code_digits}, context=context)
chart_account_obj.execute(cr, uid, [object_id], context=context)
return check_default_taxes
account_configuration()
+10 -71
View File
@@ -77,31 +77,8 @@ class sale_configuration(osv.osv_memory):
help="Install account_analytic_analysis module: This module is for modifying account analytic view to show important data to project manager of services companies."),
}
def get_default_applied_groups(self, cr, uid, ids, context=None):
applied_groups = {}
user_obj = self.pool.get('res.users')
dataobj = self.pool.get('ir.model.data')
groups = []
user_group_ids = user_obj.browse(cr, uid, uid, context=context).groups_id
for group_id in user_group_ids:
groups.append(group_id.id)
for id in groups:
key_id = dataobj.search(cr, uid,[('res_id','=',id),('model','=','res.groups')],context=context)
key = dataobj.browse(cr, uid, key_id[0], context=context).name
applied_groups[key] = True
return applied_groups
def get_default_installed_modules(self, cr, uid, ids, context=None):
module_obj = self.pool.get('ir.module.module')
module_ids = module_obj.search(cr, uid,
[('name','in',MODULE_LIST),
('state','in',['to install', 'installed', 'to upgrade'])],
context=context)
installed_modules = dict([(mod.name,True) for mod in module_obj.browse(cr, uid, module_ids, context=context)])
installed_modules = {}
if installed_modules.get('project_mrp') and installed_modules.get('project_timesheet'):
installed_modules['task_work'] = True
if installed_modules.get('account_analytic_analysis'):
@@ -126,13 +103,6 @@ class sale_configuration(osv.osv_memory):
result[res[1]] = res[2]
return result
def get_default_groups(self, cr, uid, ids, context=None):
ir_values_obj = self.pool.get('ir.values')
result = {}
for res in ir_values_obj.get(cr, uid, 'default', False, ['res.users']):
result[res[1]] = res[2]
return result
def default_get(self, cr, uid, fields_list, context=None):
result = super(sale_configuration, self).default_get(
cr, uid, fields_list, context=context)
@@ -163,23 +133,13 @@ class sale_configuration(osv.osv_memory):
getattr(self, method)(cr, uid, ids, vals, context)
return True
def set_modules(self, cr, uid, ids, vals, context=None):
module_obj = self.pool.get('ir.module.module')
MODULE_LIST = vals.get('modules')
if vals.get('task_work'):
vals.update({'project_timesheet': True,'project_mrp': True})
if vals.get('timesheet'):
vals.update({'account_analytic_analysis': True})
for k, v in vals.items():
if k in MODULE_LIST:
installed = self.get_default_installed_modules(cr, uid, [k], context)
if v == True and not installed.get(k):
module_id = module_obj.search(cr, uid, [('name','=',k)])
module_obj.button_immediate_install(cr, uid, module_id, context)
elif v == False and installed.get(k):
module_id = module_obj.search(cr, uid, [('name','=',k)])
module_obj.button_uninstall(self, cr, uid, module_id, context=None)
module_obj.button_upgrade(self, cr, uid, module_id, context=None)
# def set_installed_modules(self, cr, uid, ids, vals, context=None):
# module_obj = self.pool.get('ir.module.module')
# MODULE_LIST = vals.get('modules')
# if vals.get('task_work'):
# vals.update({'project_timesheet': True,'project_mrp': True})
# if vals.get('timesheet'):
# vals.update({'account_analytic_analysis': True})
def set_sale_defaults(self, cr, uid, ids, vals, context=None):
ir_values_obj = self.pool.get('ir.values')
@@ -216,30 +176,9 @@ class sale_configuration(osv.osv_memory):
return res
def set_groups(self, cr, uid, ids, vals, context=None):
data_obj = self.pool.get('ir.model.data')
users_obj = self.pool.get('res.users')
groups_obj = self.pool.get('res.groups')
ir_values_obj = self.pool.get('ir.values')
dummy,user_group_id = data_obj.get_object_reference(cr, uid, 'base', 'group_user')
for group in vals.keys():
if group.startswith('group_'):
dummy,group_id = data_obj.get_object_reference(cr, uid, 'base', group)
if vals[group]:
groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(4,group_id)]})
users_obj.write(cr, uid, [uid], {'groups_id': [(4,group_id)]})
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(4,group_id)])
else:
groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,group_id)]})
users_obj.write(cr, uid, [uid], {'groups_id': [(3,group_id)]})
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,group_id)])
def onchange_tax_policy(self, cr, uid, ids, tax_policy, tax_value, context=None):
res = {'value': {}}
if isinstance(tax_value, (int)):
self.set_default_taxes(cr, uid, ids, {'tax_value': [tax_value]}, context=context)
def onchange_tax_policy(self, cr, uid, ids, tax_policy, context=None):
self.set_tax_policy(cr, uid, ids, {'tax_policy': tax_policy}, context=context)
return res
return {'value': {}}
def set_default_taxes(self, cr, uid, ids, vals, context=None):
ir_values_obj = self.pool.get('ir.values')
+1 -5
View File
@@ -37,11 +37,7 @@
<group colspan="4" col="4">
<field name="group_sale_pricelist_per_customer"/>
<newline/>
<group colspan="4" col="4">
<field name="tax_policy" on_change="onchange_tax_policy(tax_policy,tax_value)"/>
<field name="tax_value" nolabel="1" attrs="{'invisible':[('tax_policy','=','no_tax')]}"
on_change="onchange_tax_policy(tax_policy,tax_value)"/>
</group>
<field name="tax_policy" on_change="onchange_tax_policy(tax_policy)"/>
<newline/>
<field name="sale_margin"/>
<newline/>