← Back to team overview

openerp-dev-web team mailing list archive

lp:~openerp-dev/openobject-server/trunk-configuration-rework-company-imp-rpa into lp:~openerp-dev/openobject-server/trunk-configuration-rework

 

Rucha (Open ERP) has proposed merging lp:~openerp-dev/openobject-server/trunk-configuration-rework-company-imp-rpa into lp:~openerp-dev/openobject-server/trunk-configuration-rework.

Requested reviews:
  qdp (OpenERP) (qdp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-configuration-rework-company-imp-rpa/+merge/60784

Improvement in company view, Added function fields for address information
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-configuration-rework-company-imp-rpa/+merge/60784
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/trunk-configuration-rework.
=== modified file 'openerp/addons/base/base_update.xml'
--- openerp/addons/base/base_update.xml	2011-04-13 10:49:07 +0000
+++ openerp/addons/base/base_update.xml	2011-05-12 13:44:07 +0000
@@ -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"/>

=== modified file 'openerp/addons/base/res/res_company.py'
--- openerp/addons/base/res/res_company.py	2011-04-13 10:49:07 +0000
+++ openerp/addons/base/res/res_company.py	2011-05-12 13:44:07 +0000
@@ -72,6 +72,26 @@
     _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 @@
         '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,


Follow ups