_order = 'member_ident,name asc'
+ def _check_member_ident_length(self, cr, uid, ids, context=None):
+ # Check if member ident length is equal to sequence padding.
+ sequences = self.pool.get('ir.sequence')
+ id_mb_seq = sequences.search(cr, uid,
+ [('name', '=', 'Member identifier')],
+ limit=1, context=context)
+ mb_sequences = sequences.browse(cr, uid, id_mb_seq, context=context)
+
+ partners = self.browse(cr, uid, ids, context=context)
+ for mb_seq in mb_sequences:
+ padding = mb_seq.padding
+
+ for partner in partners:
+ if partner.member_ident:
+ mb_ident_length = len(partner.member_ident)
+ if not mb_ident_length == padding:
+ return False
+
+ return True
+
+ _constraints = [
+ (_check_member_ident_length,
+ 'This member indentifier has not a good length.', ['member_ident']),
+ ]
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: