﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18537	Error in calculation of check digit in ARCUITField	mmoya@…	foxyNinja7	"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, "	Bug	closed	contrib.localflavor	1.4	Normal	fixed	ARCUITField, localflavor.ar		Accepted	1	0	1	0	1	0
