Naresh(OpenERP) has proposed merging
lp:~openerp-dev/openobject-server/trunk-bug-863221-nch into
lp:openobject-server.
Requested reviews:
Vo Minh Thu (OpenERP) (vmt-openerp)
Olivier Dony (OpenERP) (odo-openerp)
Related bugs:
Bug #863221 in OpenERP Server: "sequence might use a child company's sequence
by error under certain circumstances"
https://bugs.launchpad.net/openobject-server/+bug/863221
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-863221-nch/+merge/82124
--
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-863221-nch/+merge/82124
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-server/trunk-bug-863221-nch.
=== modified file 'openerp/addons/base/ir/ir_sequence.py'
--- openerp/addons/base/ir/ir_sequence.py 2011-10-07 14:54:06 +0000
+++ openerp/addons/base/ir/ir_sequence.py 2011-11-14 11:13:11 +0000
@@ -189,7 +189,14 @@
def _next(self, cr, uid, seq_ids, context=None):
if not seq_ids:
return False
- seq = self.read(cr, uid, seq_ids[:1], ['implementation','number_next','prefix','suffix','padding'])[0]
+ if context is None:
+ context = {}
+ force_company = context.get('force_company')
+ if force_company is None:
+ force_company = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
+ sequences = self.read(cr, uid, seq_ids, ['company_id', 'implementation','number_next','prefix','suffix','padding'])
+ preferred_sequences = [s for s in sequences if s['company_id'] and s['company_id'][0] == force_company ]
+ seq = preferred_sequences[0] if preferred_sequences else sequences[0]
if seq['implementation'] == 'standard':
cr.execute("SELECT nextval('ir_sequence_%03d')" % seq['id'])
seq['number_next'] = cr.fetchone()
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp