Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#18537 closed Bug (fixed)

Error in calculation of check digit in ARCUITField

Reported by: mmoya@… Owned by: foxyNinja7
Component: contrib.localflavor Version: 1.4
Severity: Normal Keywords: ARCUITField, localflavor.ar
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: yes Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

There is a bug in the calculation of check digit on forms.py from django.contrib.localflavor.ar.

When using ARCUITField and enter a valid CUIT terminated (that is, check digit) in 0 or 9, the clean method raise a Validation error message.

To replicate the bug, just enter a valid cuit number with the format XX-XXXXXXXX-0, and you will see the error "Invalid CUIT".

The problem is in the _calc_cd(self, cuit) method, that not take care of this two special cases. More info in http://es.wikipedia.org/wiki/C%C3%B3digo_%C3%9Anico_de_Identificaci%C3%B3n_Tributaria

A quick fix for this could be:

    def _calc_cd(self, cuit):
        mults = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2)
        tmp = sum([m * int(cuit[idx]) for idx, m in enumerate(mults)])
        aux_cd = 11 - tmp % 11
        if aux_cd == 11:
            aux_cd = 0
        elif aux_cd == 10:
            aux_cd = 9
        return str(aux_cd)


Thanks,

Change History (9)

comment:1 by Claude Paroz, 12 years ago

Component: Formscontrib.localflavor
Easy pickings: set
Needs tests: set
Triage Stage: UnreviewedAccepted

comment:2 by foxyNinja7, 12 years ago

Owner: changed from nobody to foxyNinja7
Status: newassigned

comment:3 by foxyNinja7, 12 years ago

Local git branch for this change: https://github.com/kevinschaul/django

comment:4 by foxyNinja7, 12 years ago

Has patch: set

comment:5 by Claude Paroz <claude@…>, 12 years ago

Resolution: fixed
Status: assignedclosed

In [1d2982362df1dbd9b08ffcc1d2506b2e3789250e]:

Fixed #18537 -- Fixed CUIT calculation in ar localflavor

Thanks mmoya at 8ksoft.com.ar for the report and Kevin Shaul for the
initial patch.

comment:6 by Claude Paroz <claude@…>, 12 years ago

In [1d2982362df1dbd9b08ffcc1d2506b2e3789250e]:

Fixed #18537 -- Fixed CUIT calculation in ar localflavor

Thanks mmoya at 8ksoft.com.ar for the report and Kevin Shaul for the
initial patch.

comment:7 by Claude Paroz <claude@…>, 12 years ago

In [1d2982362df1dbd9b08ffcc1d2506b2e3789250e]:

Fixed #18537 -- Fixed CUIT calculation in ar localflavor

Thanks mmoya at 8ksoft.com.ar for the report and Kevin Shaul for the
initial patch.

comment:8 by Claude Paroz <claude@…>, 12 years ago

In [1d2982362df1dbd9b08ffcc1d2506b2e3789250e]:

Fixed #18537 -- Fixed CUIT calculation in ar localflavor

Thanks mmoya at 8ksoft.com.ar for the report and Kevin Shaul for the
initial patch.

comment:9 by Aymeric Augustin, 12 years ago

Oops -- sorry for the repeated notifications, this is my fault.

Note: See TracTickets for help on using tickets.
Back to Top