1 """ |
1 """ |
2 Iceland specific form helpers. |
2 Iceland specific form helpers. |
3 """ |
3 """ |
4 |
4 |
5 from django.newforms import ValidationError |
5 from django.forms import ValidationError |
6 from django.newforms.fields import RegexField, EMPTY_VALUES |
6 from django.forms.fields import RegexField, EMPTY_VALUES |
7 from django.newforms.widgets import Select |
7 from django.forms.widgets import Select |
8 from django.utils.translation import ugettext |
8 from django.utils.translation import ugettext_lazy as _ |
9 from django.utils.encoding import smart_unicode |
9 from django.utils.encoding import smart_unicode |
10 |
10 |
11 class ISIdNumberField(RegexField): |
11 class ISIdNumberField(RegexField): |
12 """ |
12 """ |
13 Icelandic identification number (kennitala). This is a number every citizen |
13 Icelandic identification number (kennitala). This is a number every citizen |
14 of Iceland has. |
14 of Iceland has. |
15 """ |
15 """ |
16 default_error_messages = { |
16 default_error_messages = { |
17 'invalid': ugettext('Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.'), |
17 'invalid': _('Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.'), |
18 'checksum': ugettext(u'The Icelandic identification number is not valid.'), |
18 'checksum': _(u'The Icelandic identification number is not valid.'), |
19 } |
19 } |
20 |
20 |
21 def __init__(self, *args, **kwargs): |
21 def __init__(self, *args, **kwargs): |
22 kwargs['min_length'],kwargs['max_length'] = 10,11 |
22 kwargs['min_length'],kwargs['max_length'] = 10,11 |
23 super(ISIdNumberField, self).__init__(r'^\d{6}(-| )?\d{4}$', *args, **kwargs) |
23 super(ISIdNumberField, self).__init__(r'^\d{6}(-| )?\d{4}$', *args, **kwargs) |