~openerp-commiter/openobject-addons/extra-6.0

« back to all changes in this revision

Viewing changes to base_partner_relation/partner_relation.py

 new modules for EO2 :
* sale_delivery : Deliveries Planning at Sale Order Level
* sale_margin : Better margin control
* sale_margin_delivery : margin control on delivery planing
* Stock Planning: compute procurement based on sales previsions 

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
            result.update(super(res_partner, self).address_get(cr, uid, ids, todo))
79
79
        return result
80
80
 
 
81
    def property_get(self, cr, uid, ids,property_pref=[],rel_name=["'invoice'"]):
 
82
        result = {}
 
83
        cr.execute('select name,relation_id,partner_id from res_partner_relation where name in ('+",".join(map(str,rel_name))+') and partner_id in ('+','.join(map(str,ids))+')')
 
84
        rels = cr.fetchall()
 
85
        result= super(res_partner, self).property_get(cr, uid, ids,property_pref)
 
86
        for res in result:
 
87
            for (rel_name,rel_id,part_id) in rels:
 
88
                if res['id']==part_id:
 
89
                    prps=self.read(cr,uid,rel_id,property_pref)
 
90
                    for prt in property_pref:
 
91
                        res[prt] = prps[prt] and prps[prt][0] or False
 
92
        return result
 
93
 
81
94
res_partner()
82
95
 
83
96
 
85
98
    _inherit = 'res.partner.address'
86
99
 
87
100
    def _where_calc(self, cursor, user, args, active_test=True, context=None):
 
101
        if not args:
 
102
            args=[]
88
103
        partner_obj = self.pool.get('res.partner')
89
104
 
90
105
        args = args[:]
91
106
 
92
107
        i = 0
93
108
        while i < len(args):
 
109
            if type(arg)==tuple:
 
110
                continue
94
111
            if args[i][0] == 'partner_id' and args[i][1] == '=':
95
112
                partner = partner_obj.browse(cursor, user, args[i][2],
96
113
                        context=context)