Django

Code

Changeset 8405

Show
Ignore:
Timestamp:
08/16/08 02:00:30 (4 months ago)
Author:
russellm
Message:

Fixed #8229: Added handling for a special case in the validation of Spanish ID numbers. Thanks to Marc Garcia for the patch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/localflavor/es/forms.py

    r7971 r8405  
    109109                number, letter2 = number[:-1], int(number[-1]) 
    110110            checksum = cif_get_checksum(number) 
    111             if letter2 in [checksum, self.cif_control[checksum]]
     111            if letter2 in (checksum, self.cif_control[checksum])
    112112                return value 
    113113            else: 
     
    181181    s1 = sum([int(digit) for pos, digit in enumerate(number) if int(pos) % 2]) 
    182182    s2 = sum([sum([int(unit) for unit in str(int(digit) * 2)]) for pos, digit in enumerate(number) if not int(pos) % 2]) 
    183     return 10 - ((s1 + s2) % 10) 
     183    return (10 - ((s1 + s2) % 10)) % 10 
    184184 
  • django/trunk/tests/regressiontests/forms/localflavor/es.py

    r7294 r8405  
    168168>>> f.clean('B38790911') 
    169169'B38790911' 
     170>>> f.clean('B31234560') 
     171'B31234560' 
    170172>>> f.clean('B-3879091A') 
    171173'B3879091A'