1
2 """
3 AR-specific Form helpers.
4 """
5
6 from django.newforms import ValidationError
7 from django.newforms.fields import RegexField, CharField, Select, EMPTY_VALUES
8 from django.utils.encoding import smart_unicode
9 from django.utils.translation import ugettext
10
12 """
13 A Select widget that uses a list of Argentinean provinces/autonomous cities
14 as its choices.
15 """
19
20 -class ARPostalCodeField(RegexField):
21 """
22 A field that accepts a 'classic' NNNN Postal Code or a CPA.
23
24 See http://www.correoargentino.com.ar/consulta_cpa/home.php
25 """
26 default_error_messages = {
27 'invalid': ugettext("Enter a postal code in the format NNNN or ANNNNAAA."),
28 }
29
30 - def __init__(self, *args, **kwargs):
31 super(ARPostalCodeField, self).__init__(r'^\d{4}$|^[A-HJ-NP-Za-hj-np-z]\d{4}\D{3}$',
32 min_length=4, max_length=8, *