[IMP]: base: Improvement in company view, Added function fields for address information
bzr revid: rpa@tinyerp.com-20110512134015-8naikq64nabar4vy
This commit is contained in:
parent
b81b440c2b
commit
eb11bcb933
|
@ -199,6 +199,16 @@
|
|||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="General Information">
|
||||
<separator string="Address Information" colspan="4"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
<field name="city"/>
|
||||
<!--field name="country_id"/>
|
||||
<!NOT WORKING field name="state_id"/-->
|
||||
<field name="phone"/>
|
||||
<field name="email"/>
|
||||
<separator string="Reporting Information" colspan="4"/>
|
||||
<field name="rml_header1" colspan="4"/>
|
||||
<field name="rml_footer1" colspan="4"/>
|
||||
<field name="rml_footer2" colspan="4"/>
|
||||
|
|
|
@ -72,6 +72,26 @@ class res_company(osv.osv):
|
|||
_name = "res.company"
|
||||
_description = 'Companies'
|
||||
_order = 'name'
|
||||
|
||||
def _get_address_data(self, cr, uid, ids, name, arg, context=None):
|
||||
result = {}
|
||||
name = name[0]
|
||||
for company in self.browse(cr, uid, ids, context=context):
|
||||
result[company.id] = {}
|
||||
if company.partner_id and company.partner_id.address:
|
||||
address = company.partner_id.address[0]
|
||||
result[company.id][name] = address[name] or False
|
||||
else:
|
||||
result[company.id][name] = False
|
||||
return result
|
||||
|
||||
def _set_address_data(self, cr, uid, company_id, name, value, arg, context=None):
|
||||
company = self.browse(cr, uid, company_id, context=context)
|
||||
address = company.partner_id and company.partner_id.address and company.partner_id.address[0].id
|
||||
address_obj = self.pool.get('res.partner.address')
|
||||
address_obj.write(cr, uid, [address], {name: value or False})
|
||||
return True
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Company Name', size=64, required=True),
|
||||
'parent_id': fields.many2one('res.company', 'Parent Company', select=True),
|
||||
|
@ -88,6 +108,14 @@ class res_company(osv.osv):
|
|||
'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'),
|
||||
'user_ids': fields.many2many('res.users', 'res_company_users_rel', 'cid', 'user_id', 'Accepted Users'),
|
||||
'account_no':fields.char('Account No.', size=64),
|
||||
'street' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', method=True, string="Street", multi='street'),
|
||||
'street2' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=128, type='char', method=True, string="Street2", multi='street2'),
|
||||
'zip' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', method=True, string="Zip", multi='zip'),
|
||||
'city' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=24, type='char', method=True, string="City", multi='city'),
|
||||
# 'state_id' : fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', method=True, string="State", multi='state_id'),
|
||||
# 'country_id' : fields.function(_get_address_data, fnct_inv=_set_address_data, type='many2one', method=True, string="Country", multi='country_id'),
|
||||
'email' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', method=True, string="Email", multi='email'),
|
||||
'phone' : fields.function(_get_address_data, fnct_inv=_set_address_data, size=64, type='char', method=True, string="Phone", multi='phone'),
|
||||
}
|
||||
|
||||
def _search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
|
|
Loading…
Reference in New Issue