Beispiel #1
0
    def write(cls, *args):
        actions = iter(args)
        args = []
        for numbers, values in zip(actions, actions):
            values = values.copy()
            if values.get('type') == 'iban' and 'number' in values:
                values['number'] = iban.format(values['number'])
                values['number_compact'] = iban.compact(values['number'])
            args.extend((numbers, values))

        super(BankAccountNumber, cls).write(*args)

        to_write = []
        for number in sum(args[::2], []):
            if number.type == 'iban':
                formated_number = iban.format(number.number)
                compacted_number = iban.compact(number.number)
                if ((formated_number != number.number)
                        or (compacted_number != number.number_compact)):
                    to_write.extend(([number], {
                                'number': formated_number,
                                'number_compact': compacted_number,
                                }))
        if to_write:
            cls.write(*to_write)
Beispiel #2
0
    def write(cls, *args):
        actions = iter(args)
        args = []
        for numbers, values in zip(actions, actions):
            values = values.copy()
            if values.get('type') == 'iban' and 'number' in values:
                values['number'] = iban.format(values['number'])
                values['number_compact'] = iban.compact(values['number'])
            args.extend((numbers, values))

        super(BankAccountNumber, cls).write(*args)

        to_write = []
        for number in sum(args[::2], []):
            if number.type == 'iban':
                formated_number = iban.format(number.number)
                compacted_number = iban.compact(number.number)
                if ((formated_number != number.number)
                        or (compacted_number != number.number_compact)):
                    to_write.extend(([number], {
                                'number': formated_number,
                                'number_compact': compacted_number,
                                }))
        if to_write:
            cls.write(*to_write)
Beispiel #3
0
 def create(cls, vlist):
     vlist = [v.copy() for v in vlist]
     for values in vlist:
         if values.get('type') == 'iban' and 'number' in values:
             values['number'] = iban.format(values['number'])
             values['number_compact'] = iban.compact(values['number'])
     return super(BankAccountNumber, cls).create(vlist)
Beispiel #4
0
 def create(cls, vlist):
     vlist = [v.copy() for v in vlist]
     for values in vlist:
         if values.get('type') == 'iban' and 'number' in values:
             values['number'] = iban.format(values['number'])
             values['number_compact'] = iban.compact(values['number'])
     return super(BankAccountNumber, cls).create(vlist)
Beispiel #5
0
 def pre_validate(self):
     super(BankAccountNumber, self).pre_validate()
     '''
     Check the Bank number depending of the country.
     '''
     if self.type == 'iban' and self.number and HAS_BANKNUMBER:
         bban = iban.compact(self.number)[4:]
         if not getattr(banknumber,
                        'check_code_' + self.number[:2].lower())(bban):
             self.raise_user_error('invalid_bban', bban)
Beispiel #6
0
 def compact_iban(self):
     return (iban.compact(self.number) if self.type == 'iban'
         else self.number)
Beispiel #7
0
 def compact_iban(self):
     return (iban.compact(self.number) if self.type == 'iban'
         else self.number)