Browse Source

[FIX] base_partner_sequence: shortened long lines + bug in copy

pull/531/head
Thomas Rehn 11 years ago
committed by Pedro M. Baeza
parent
commit
22c5283e4d
  1. 21
      base_partner_sequence/partner.py

21
base_partner_sequence/partner.py

@ -31,15 +31,20 @@ class ResPartner(orm.Model):
def create(self, cr, uid, vals, context=None): def create(self, cr, uid, vals, context=None):
context = context or {} context = context or {}
if not vals.get('ref') and self._needsRef(cr, uid, vals=vals, context=context):
vals['ref'] = self.pool.get('ir.sequence').next_by_code(cr, uid, 'res.partner')
if not vals.get('ref') and self._needsRef(cr, uid, vals=vals,
context=context):
vals['ref'] = self.pool.get('ir.sequence')\
.next_by_code(cr, uid, 'res.partner')
return super(ResPartner, self).create(cr, uid, vals, context) return super(ResPartner, self).create(cr, uid, vals, context)
def copy(self, cr, uid, id, default=None, context=None): def copy(self, cr, uid, id, default=None, context=None):
default = default or {} default = default or {}
if not default.get('ref') and self._needsRef(cr, uid, id=id, context=context):
default['ref'] = self.pool.get('ir.sequence').next_by_code(cr, uid, 'res.partner', context=context)
return super(ResPartner, self).copy(cr, uid, id, default, context=context)
if self._needsRef(cr, uid, id=id, context=context):
default['ref'] = self.pool.get('ir.sequence')\
.next_by_code(cr, uid, 'res.partner',
context=context)
return super(ResPartner, self).copy(cr, uid, id, default,
context=context)
def _needsRef(self, cr, uid, id=None, vals=None, context=None): def _needsRef(self, cr, uid, id=None, vals=None, context=None):
""" """
@ -49,13 +54,15 @@ class ResPartner(orm.Model):
:param uid: current user id :param uid: current user id
:param id: id of the partner object :param id: id of the partner object
:param vals: known field values of the partner object :param vals: known field values of the partner object
:return: true iff a sequence value should be assigned to the partner's 'ref'
:return: true iff a sequence value should be assigned to the\
partner's 'ref'
""" """
if not vals and not id: if not vals and not id:
raise Exception('Either field values or an id must be provided.') raise Exception('Either field values or an id must be provided.')
# only assign a 'ref' to commercial partners # only assign a 'ref' to commercial partners
if id: if id:
vals = self.read(cr, uid, id, ['parent_id', 'is_company'], context=context)
vals = self.read(cr, uid, id, ['parent_id', 'is_company'],
context=context)
return vals.get('is_company') or not vals.get('parent_id') return vals.get('is_company') or not vals.get('parent_id')
_columns = { _columns = {

Loading…
Cancel
Save