Loading django/contrib/localflavor/ar/forms.py +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class ARCUITField(RegexField): default_error_messages = { 'invalid': _('Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format.'), 'checksum': _("Invalid CUIT."), 'legal_type': _('Invalid legal type. Type must be 27, 20, 23 or 30.'), } def __init__(self, max_length=None, min_length=None, *args, **kwargs): Loading @@ -96,6 +97,8 @@ class ARCUITField(RegexField): if value in EMPTY_VALUES: return '' value, cd = self._canon(value) if not value[:2] in ['27', '20', '23', '30']: raise ValidationError(self.error_messages['legal_type']) if self._calc_cd(value) != cd: raise ValidationError(self.error_messages['checksum']) return self._format(value, cd) Loading tests/regressiontests/localflavor/ar/tests.py +5 −3 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class ARLocalFlavorTests(SimpleTestCase): def test_ARCUITField(self): error_format = ['Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format.'] error_invalid = ['Invalid CUIT.'] error_legal_type = [u'Invalid legal type. Type must be 27, 20, 23 or 30.'] valid = { '20-10123456-9': '20-10123456-9', '20-10123456-9': '20-10123456-9', Loading @@ -97,5 +98,6 @@ class ARLocalFlavorTests(SimpleTestCase): '20-10123456-5': error_invalid, '27-10345678-1': error_invalid, '27-10345678-1': error_invalid, '11211111110': error_legal_type, } self.assertFieldOutput(ARCUITField, valid, invalid) Loading
django/contrib/localflavor/ar/forms.py +3 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class ARCUITField(RegexField): default_error_messages = { 'invalid': _('Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format.'), 'checksum': _("Invalid CUIT."), 'legal_type': _('Invalid legal type. Type must be 27, 20, 23 or 30.'), } def __init__(self, max_length=None, min_length=None, *args, **kwargs): Loading @@ -96,6 +97,8 @@ class ARCUITField(RegexField): if value in EMPTY_VALUES: return '' value, cd = self._canon(value) if not value[:2] in ['27', '20', '23', '30']: raise ValidationError(self.error_messages['legal_type']) if self._calc_cd(value) != cd: raise ValidationError(self.error_messages['checksum']) return self._format(value, cd) Loading
tests/regressiontests/localflavor/ar/tests.py +5 −3 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class ARLocalFlavorTests(SimpleTestCase): def test_ARCUITField(self): error_format = ['Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format.'] error_invalid = ['Invalid CUIT.'] error_legal_type = [u'Invalid legal type. Type must be 27, 20, 23 or 30.'] valid = { '20-10123456-9': '20-10123456-9', '20-10123456-9': '20-10123456-9', Loading @@ -97,5 +98,6 @@ class ARLocalFlavorTests(SimpleTestCase): '20-10123456-5': error_invalid, '27-10345678-1': error_invalid, '27-10345678-1': error_invalid, '11211111110': error_legal_type, } self.assertFieldOutput(ARCUITField, valid, invalid)