Author: jezdez Date: 2011-05-03 04:52:04 -0700 (Tue, 03 May 2011) New Revision: 16146
Modified: django/trunk/django/contrib/localflavor/ar/forms.py django/trunk/django/contrib/localflavor/at/forms.py django/trunk/django/contrib/localflavor/au/forms.py django/trunk/django/contrib/localflavor/be/forms.py django/trunk/django/contrib/localflavor/br/forms.py django/trunk/django/contrib/localflavor/ca/forms.py django/trunk/django/contrib/localflavor/ch/forms.py django/trunk/django/contrib/localflavor/cz/forms.py django/trunk/django/contrib/localflavor/de/forms.py django/trunk/django/contrib/localflavor/es/forms.py django/trunk/django/contrib/localflavor/fi/forms.py django/trunk/django/contrib/localflavor/fr/forms.py django/trunk/django/contrib/localflavor/hr/forms.py django/trunk/django/contrib/localflavor/in_/forms.py django/trunk/django/contrib/localflavor/is_/forms.py django/trunk/django/contrib/localflavor/it/forms.py django/trunk/django/contrib/localflavor/jp/forms.py django/trunk/django/contrib/localflavor/no/forms.py django/trunk/django/contrib/localflavor/pe/forms.py django/trunk/django/contrib/localflavor/pl/forms.py django/trunk/django/contrib/localflavor/pt/forms.py django/trunk/django/contrib/localflavor/ro/forms.py django/trunk/django/contrib/localflavor/ru/forms.py django/trunk/django/contrib/localflavor/sk/forms.py django/trunk/django/contrib/localflavor/tr/forms.py django/trunk/django/contrib/localflavor/us/forms.py django/trunk/django/contrib/localflavor/za/forms.py django/trunk/tests/regressiontests/forms/localflavor/utils.py Log: Fixed #12595 -- Fixed bad arguments handling in localflavor form fields. Modified: django/trunk/django/contrib/localflavor/ar/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/ar/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/ar/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -28,9 +28,9 @@ 'invalid': _("Enter a postal code in the format NNNN or ANNNNAAA."), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=8, min_length=4, *args, **kwargs): super(ARPostalCodeField, self).__init__(r'^\d{4}$|^[A-HJ-NP-Za-hj-np-z]\d{4}\D{3}$', - min_length=4, max_length=8, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): value = super(ARPostalCodeField, self).clean(value) @@ -51,8 +51,8 @@ 'max_digits': _("This field requires 7 or 8 digits."), } - def __init__(self, *args, **kwargs): - super(ARDNIField, self).__init__(max_length=10, min_length=7, *args, + def __init__(self, max_length=10, min_length=7, *args, **kwargs): + super(ARDNIField, self).__init__(max_length, min_length, *args, **kwargs) def clean(self, value): @@ -81,9 +81,9 @@ 'checksum': _("Invalid CUIT."), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ARCUITField, self).__init__(r'^\d{2}-?\d{8}-?\d$', - *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ Modified: django/trunk/django/contrib/localflavor/at/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/at/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/at/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -21,9 +21,9 @@ default_error_messages = { 'invalid': _('Enter a zip code in the format XXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ATZipCodeField, self).__init__(r'^\d{4}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class ATStateSelect(Select): """ Modified: django/trunk/django/contrib/localflavor/au/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/au/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/au/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -21,11 +21,9 @@ 'invalid': _('Enter a 4 digit postcode.'), } - def __init__(self, *args, **kwargs): - if 'max_length' in kwargs: - kwargs.pop('max_length') + def __init__(self, max_length=4, min_length=None, *args, **kwargs): super(AUPostCodeField, self).__init__(r'^\d{4}$', - max_length=4, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class AUPhoneNumberField(Field): Modified: django/trunk/django/contrib/localflavor/be/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/be/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/be/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -23,9 +23,9 @@ 'Enter a valid postal code in the range and format 1XXX - 9XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(BEPostalCodeField, self).__init__(r'^[1-9]\d{3}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class BEPhoneNumberField(RegexField): """ @@ -50,9 +50,9 @@ '0xxxxxxxx or 04xxxxxxxx.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(BEPhoneNumberField, self).__init__(r'^[0]\d{1}[/. ]?\d{3}[. ]\d{2}[. ]?\d{2}$|^[0]\d{2}[/. ]?\d{2}[. ]?\d{2}[. ]?\d{2}$|^[0][4]\d{2}[/. ]?\d{2}[. ]?\d{2}[. ]?\d{2}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class BERegionSelect(Select): """ Modified: django/trunk/django/contrib/localflavor/br/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/br/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/br/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -17,9 +17,9 @@ 'invalid': _('Enter a zip code in the format XXXXX-XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(BRZipCodeField, self).__init__(r'^\d{5}-\d{3}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class BRPhoneNumberField(Field): default_error_messages = { @@ -92,8 +92,8 @@ 'digits_only': _("This field requires only numbers."), } - def __init__(self, *args, **kwargs): - super(BRCPFField, self).__init__(max_length=14, min_length=11, *args, **kwargs) + def __init__(self, max_length=14, min_length=11, *args, **kwargs): + super(BRCPFField, self).__init__(max_length, min_length, *args, **kwargs) def clean(self, value): """ Modified: django/trunk/django/contrib/localflavor/ca/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/ca/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/ca/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -25,9 +25,9 @@ 'invalid': _(u'Enter a postal code in the format XXX XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(CAPostalCodeField, self).__init__(r'^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] \d[ABCEGHJKLMNPRSTVWXYZ]\d$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class CAPhoneNumberField(Field): """Canadian phone number field.""" Modified: django/trunk/django/contrib/localflavor/ch/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/ch/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/ch/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -17,9 +17,9 @@ 'invalid': _('Enter a zip code in the format XXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(CHZipCodeField, self).__init__(r'^\d{4}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class CHPhoneNumberField(Field): """ Modified: django/trunk/django/contrib/localflavor/cz/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/cz/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/cz/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -28,9 +28,9 @@ 'invalid': _(u'Enter a postal code in the format XXXXX or XXX XX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(CZPostalCodeField, self).__init__(r'^\d{5}$|^\d{3} \d{2}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ Modified: django/trunk/django/contrib/localflavor/de/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/de/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/de/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -14,9 +14,9 @@ default_error_messages = { 'invalid': _('Enter a zip code in the format XXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(DEZipCodeField, self).__init__(r'^\d{5}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class DEStateSelect(Select): """ Modified: django/trunk/django/contrib/localflavor/es/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/es/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/es/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -20,10 +20,10 @@ 'invalid': _('Enter a valid postal code in the range and format 01XXX - 52XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ESPostalCodeField, self).__init__( r'^(0[1-9]|[1-4][0-9]|5[0-2])\d{3}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class ESPhoneNumberField(RegexField): """ @@ -40,9 +40,9 @@ 'invalid': _('Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ESPhoneNumberField, self).__init__(r'^(6|7|8|9)\d{8}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class ESIdentityCardNumberField(RegexField): """ @@ -71,14 +71,14 @@ 'invalid_cif': _('Invalid checksum for CIF.'), } - def __init__(self, only_nif=False, *args, **kwargs): + def __init__(self, only_nif=False, max_length=None, min_length=None, *args, **kwargs): self.only_nif = only_nif self.nif_control = 'TRWAGMYFPDXBNJZSQVHLCKE' self.cif_control = 'JABCDEFGHI' self.cif_types = 'ABCDEFGHKLMNPQS' self.nie_types = 'XT' id_card_re = re.compile(r'^([%s]?)[ -]?(\d+)[ -]?([%s]?)$' % (self.cif_types + self.nie_types, self.nif_control + self.cif_control), re.IGNORECASE) - super(ESIdentityCardNumberField, self).__init__(id_card_re, max_length=None, min_length=None, + super(ESIdentityCardNumberField, self).__init__(id_card_re, max_length, min_length, error_message=self.default_error_messages['invalid%s' % (self.only_nif and '_only_nif' or '')], *args, **kwargs) @@ -144,9 +144,9 @@ 'checksum': _('Invalid checksum for bank account number.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ESCCCField, self).__init__(r'^\d{4}[ -]?\d{4}[ -]?\d{2}[ -]?\d{10}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): super(ESCCCField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/fi/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/fi/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/fi/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -12,9 +12,9 @@ default_error_messages = { 'invalid': _('Enter a zip code in the format XXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(FIZipCodeField, self).__init__(r'^\d{5}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class FIMunicipalitySelect(Select): """ Modified: django/trunk/django/contrib/localflavor/fr/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/fr/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/fr/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -16,9 +16,9 @@ 'invalid': _('Enter a zip code in the format XXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(FRZipCodeField, self).__init__(r'^\d{5}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class FRPhoneNumberField(Field): """ Modified: django/trunk/django/contrib/localflavor/hr/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/hr/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/hr/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -120,9 +120,9 @@ 'invalid': _('Enter a valid 11 digit OIB'), } - def __init__(self, *args, **kwargs): + def __init__(self, min_length=11, max_length=11, *args, **kwargs): super(HROIBField, self).__init__(r'^\d{11}$', - min_length=11, max_length=11, *args, **kwargs) + min_length, max_length, *args, **kwargs) def clean(self, value): super(HROIBField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/in_/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/in_/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/in_/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -15,9 +15,9 @@ 'invalid': gettext(u'Enter a zip code in the format XXXXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(INZipCodeField, self).__init__(r'^\d{6}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class INStateField(Field): """ Modified: django/trunk/django/contrib/localflavor/is_/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/is_/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/is_/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -19,9 +19,9 @@ 'checksum': _(u'The Icelandic identification number is not valid.'), } - def __init__(self, *args, **kwargs): - kwargs['min_length'],kwargs['max_length'] = 10,11 - super(ISIdNumberField, self).__init__(r'^\d{6}(-| )?\d{4}$', *args, **kwargs) + def __init__(self, max_length=11, min_length=10, *args, **kwargs): + super(ISIdNumberField, self).__init__(r'^\d{6}(-| )?\d{4}$', + max_length, min_length, *args, **kwargs) def clean(self, value): value = super(ISIdNumberField, self).clean(value) @@ -61,9 +61,9 @@ Icelandic phone number. Seven digits with an optional hyphen or space after the first three digits. """ - def __init__(self, *args, **kwargs): - kwargs['min_length'], kwargs['max_length'] = 7,8 - super(ISPhoneNumberField, self).__init__(r'^\d{3}(-| )?\d{4}$', *args, **kwargs) + def __init__(self, max_length=8, min_length=7, *args, **kwargs): + super(ISPhoneNumberField, self).__init__(r'^\d{3}(-| )?\d{4}$', + max_length, min_length, *args, **kwargs) def clean(self, value): value = super(ISPhoneNumberField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/it/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/it/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/it/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -14,9 +14,9 @@ default_error_messages = { 'invalid': _('Enter a valid zip code.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ITZipCodeField, self).__init__(r'^\d{5}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class ITRegionSelect(Select): """ @@ -44,9 +44,9 @@ 'invalid': _(u'Enter a valid Social Security number.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ITSocialSecurityNumberField, self).__init__(r'^\w{3}\s*\w{3}\s*\w{5}\s*\w{5}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): value = super(ITSocialSecurityNumberField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/jp/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/jp/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/jp/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -16,9 +16,9 @@ 'invalid': _('Enter a postal code in the format XXXXXXX or XXX-XXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(JPPostalCodeField, self).__init__(r'^\d{3}-\d{4}$|^\d{7}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ Modified: django/trunk/django/contrib/localflavor/no/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/no/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/no/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -13,9 +13,9 @@ 'invalid': _('Enter a zip code in the format XXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(NOZipCodeField, self).__init__(r'^\d{4}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class NOMunicipalitySelect(Select): """ Modified: django/trunk/django/contrib/localflavor/pe/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/pe/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/pe/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -25,8 +25,8 @@ 'max_digits': _("This field requires 8 digits."), } - def __init__(self, *args, **kwargs): - super(PEDNIField, self).__init__(max_length=8, min_length=8, *args, + def __init__(self, max_length=8, min_length=8, *args, **kwargs): + super(PEDNIField, self).__init__(max_length, min_length, *args, **kwargs) def clean(self, value): @@ -53,8 +53,8 @@ 'max_digits': _("This field requires 11 digits."), } - def __init__(self, *args, **kwargs): - super(PERUCField, self).__init__(max_length=11, min_length=11, *args, + def __init__(self, max_length=11, min_length=11, *args, **kwargs): + super(PERUCField, self).__init__(max_length, min_length, *args, **kwargs) def clean(self, value): Modified: django/trunk/django/contrib/localflavor/pl/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/pl/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/pl/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -40,9 +40,9 @@ 'checksum': _(u'Wrong checksum for the National Identification Number.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PLPESELField, self).__init__(r'^\d{11}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): super(PLPESELField, self).clean(value) @@ -77,9 +77,9 @@ 'checksum': _(u'Wrong checksum for the National ID Card Number.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PLNationalIDCardNumberField, self).__init__(r'^[A-Za-z]{3}\d{6}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self,value): super(PLNationalIDCardNumberField, self).clean(value) @@ -129,9 +129,9 @@ 'checksum': _(u'Wrong checksum for the Tax Number (NIP).'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PLNIPField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{2}-\d{2}-\d{3}-\d{3}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self,value): super(PLNIPField, self).clean(value) @@ -169,9 +169,9 @@ 'checksum': _(u'Wrong checksum for the National Business Register Number (REGON).'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PLREGONField, self).__init__(r'^\d{9,14}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self,value): super(PLREGONField, self).clean(value) @@ -209,7 +209,7 @@ 'invalid': _(u'Enter a postal code in the format XX-XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PLPostalCodeField, self).__init__(r'^\d{2}-\d{3}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) Modified: django/trunk/django/contrib/localflavor/pt/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/pt/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/pt/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -17,9 +17,9 @@ 'invalid': _('Enter a zip code in the format XXXX-XXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(PTZipCodeField, self).__init__(r'^(\d{4}-\d{3}|\d{7})$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self,value): cleaned = super(PTZipCodeField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/ro/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/ro/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/ro/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -19,9 +19,9 @@ 'invalid': _("Enter a valid CIF."), } - def __init__(self, *args, **kwargs): - super(ROCIFField, self).__init__(r'^(RO)?[0-9]{2,10}', max_length=10, - min_length=2, *args, **kwargs) + def __init__(self, max_length=10, min_length=2, *args, **kwargs): + super(ROCIFField, self).__init__(r'^(RO)?[0-9]{2,10}', max_length, + min_length, *args, **kwargs) def clean(self, value): """ @@ -56,9 +56,9 @@ 'invalid': _("Enter a valid CNP."), } - def __init__(self, *args, **kwargs): - super(ROCNPField, self).__init__(r'^[1-9][0-9]{12}', max_length=13, - min_length=13, *args, **kwargs) + def __init__(self, max_length=13, min_length=13, *args, **kwargs): + super(ROCNPField, self).__init__(r'^[1-9][0-9]{12}', max_length, + min_length, *args, **kwargs) def clean(self, value): """ @@ -143,9 +143,9 @@ 'invalid': _('Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=40, min_length=24, *args, **kwargs): super(ROIBANField, self).__init__(r'^[0-9A-Za-z\-\s]{24,40}$', - max_length=40, min_length=24, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ @@ -175,9 +175,9 @@ 'invalid': _('Phone numbers must be in XXXX-XXXXXX format.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=20, min_length=10, *args, **kwargs): super(ROPhoneNumberField, self).__init__(r'^[0-9\-\(\)\s]{10,20}$', - max_length=20, min_length=10, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ @@ -200,7 +200,7 @@ 'invalid': _('Enter a valid postal code in the format XXXXXX'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=6, min_length=6, *args, **kwargs): super(ROPostalCodeField, self).__init__(r'^[0-9][0-8][0-9]{4}$', - max_length=6, min_length=6, *args, **kwargs) + max_length, min_length, *args, **kwargs) Modified: django/trunk/django/contrib/localflavor/ru/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/ru/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/ru/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -37,9 +37,9 @@ default_error_messages = { 'invalid': _(u'Enter a postal code in the format XXXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(RUPostalCodeField, self).__init__(r'^\d{6}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class RUPassportNumberField(RegexField): @@ -50,9 +50,9 @@ default_error_messages = { 'invalid': _(u'Enter a passport number in the format XXXX XXXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(RUPassportNumberField, self).__init__(r'^\d{4} \d{6}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class RUAlienPassportNumberField(RegexField): @@ -63,6 +63,6 @@ default_error_messages = { 'invalid': _(u'Enter a passport number in the format XX XXXXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(RUAlienPassportNumberField, self).__init__(r'^\d{2} \d{7}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) Modified: django/trunk/django/contrib/localflavor/sk/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/sk/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/sk/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -30,9 +30,9 @@ 'invalid': _(u'Enter a postal code in the format XXXXX or XXX XX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(SKPostalCodeField, self).__init__(r'^\d{5}$|^\d{3} \d{2}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): """ Modified: django/trunk/django/contrib/localflavor/tr/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/tr/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/tr/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -16,9 +16,9 @@ 'invalid': _(u'Enter a postal code in the format XXXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=5, min_length=5, *args, **kwargs): super(TRPostalCodeField, self).__init__(r'^\d{5}$', - max_length=5, min_length=5, *args, **kwargs) + max_length, min_length, *args, **kwargs) def clean(self, value): value = super(TRPostalCodeField, self).clean(value) Modified: django/trunk/django/contrib/localflavor/us/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/us/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/us/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -17,9 +17,9 @@ 'invalid': _('Enter a zip code in the format XXXXX or XXXXX-XXXX.'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(USZipCodeField, self).__init__(r'^\d{5}(?:-\d{4})?$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) class USPhoneNumberField(CharField): default_error_messages = { Modified: django/trunk/django/contrib/localflavor/za/forms.py =================================================================== --- django/trunk/django/contrib/localflavor/za/forms.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/django/contrib/localflavor/za/forms.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -4,7 +4,7 @@ from django.core.validators import EMPTY_VALUES from django.forms import ValidationError -from django.forms.fields import Field, RegexField +from django.forms.fields import CharField, RegexField from django.utils.checksums import luhn from django.utils.translation import gettext as _ import re @@ -12,7 +12,7 @@ id_re = re.compile(r'^(?P<yy>\d\d)(?P<mm>\d\d)(?P<dd>\d\d)(?P<mid>\d{4})(?P<end>\d{3})') -class ZAIDField(Field): +class ZAIDField(CharField): """A form field for South African ID numbers -- the checksum is validated using the Luhn checksum, and uses a simlistic (read: not entirely accurate) check for the birthdate @@ -55,6 +55,6 @@ 'invalid': _(u'Enter a valid South African postal code'), } - def __init__(self, *args, **kwargs): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): super(ZAPostCodeField, self).__init__(r'^\d{4}$', - max_length=None, min_length=None, *args, **kwargs) + max_length, min_length, *args, **kwargs) Modified: django/trunk/tests/regressiontests/forms/localflavor/utils.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/utils.py 2011-05-03 11:51:37 UTC (rev 16145) +++ django/trunk/tests/regressiontests/forms/localflavor/utils.py 2011-05-03 11:52:04 UTC (rev 16146) @@ -1,5 +1,6 @@ from django.core.exceptions import ValidationError from django.core.validators import EMPTY_VALUES +from django.forms.fields import CharField from django.test.utils import get_warnings_state, restore_warnings_state from django.utils.unittest import TestCase @@ -13,8 +14,8 @@ def restore_warnings_state(self): restore_warnings_state(self._warnings_state) - def assertFieldOutput(self, fieldclass, valid, invalid, field_args=[], - field_kwargs={}, empty_value=u''): + def assertFieldOutput(self, fieldclass, valid, invalid, field_args=None, + field_kwargs=None, empty_value=u''): """ Asserts that a field behaves correctly with various inputs. @@ -29,6 +30,10 @@ empty_value: the expected clean output for inputs in EMPTY_VALUES """ + if field_args is None: + field_args = [] + if field_kwargs is None: + field_kwargs = {} required = fieldclass(*field_args, **field_kwargs) optional = fieldclass(*field_args, **dict(field_kwargs, required=False)) # test valid inputs @@ -49,3 +54,7 @@ self.assertRaisesRegexp(ValidationError, error_required, required.clean, e) self.assertEqual(optional.clean(e), empty_value) + # test that max_length and min_length are always accepted + if issubclass(fieldclass, CharField): + field_kwargs.update({'min_length':2, 'max_length':20}) + self.assertTrue(isinstance(fieldclass(*field_args, **field_kwargs), fieldclass)) -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.