app/django/contrib/localflavor/pe/forms.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
equal deleted inserted replaced
322:6641e941ef1e 323:ff1a9aa48cfd
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 """
     2 """
     3 PE-specific Form helpers.
     3 PE-specific Form helpers.
     4 """
     4 """
     5 
     5 
     6 from django.newforms import ValidationError
     6 from django.forms import ValidationError
     7 from django.newforms.fields import RegexField, CharField, Select, EMPTY_VALUES
     7 from django.forms.fields import RegexField, CharField, Select, EMPTY_VALUES
     8 from django.utils.translation import ugettext
     8 from django.utils.translation import ugettext_lazy as _
     9 
     9 
    10 class PEDepartmentSelect(Select):
    10 class PERegionSelect(Select):
    11     """
    11     """
    12     A Select widget that uses a list of Peruvian Departments as its choices.
    12     A Select widget that uses a list of Peruvian Regions as its choices.
    13     """
    13     """
    14     def __init__(self, attrs=None):
    14     def __init__(self, attrs=None):
    15         from pe_department import DEPARTMENT_CHOICES
    15         from pe_region import REGION_CHOICES
    16         super(PEDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_CHOICES)
    16         super(PERegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
    17 
    17 
    18 class PEDNIField(CharField):
    18 class PEDNIField(CharField):
    19     """
    19     """
    20     A field that validates `Documento Nacional de IdentidadŽ (DNI) numbers.
    20     A field that validates `Documento Nacional de IdentidadŽ (DNI) numbers.
    21     """
    21     """
    22     default_error_messages = {
    22     default_error_messages = {
    23         'invalid': ugettext("This field requires only numbers."),
    23         'invalid': _("This field requires only numbers."),
    24         'max_digits': ugettext("This field requires 8 digits."),
    24         'max_digits': _("This field requires 8 digits."),
    25     }
    25     }
    26 
    26 
    27     def __init__(self, *args, **kwargs):
    27     def __init__(self, *args, **kwargs):
    28         super(PEDNIField, self).__init__(max_length=8, min_length=8, *args,
    28         super(PEDNIField, self).__init__(max_length=8, min_length=8, *args,
    29                 **kwargs)
    29                 **kwargs)
    46     """
    46     """
    47     This field validates a RUC (Registro Unico de Contribuyentes). A RUC is of
    47     This field validates a RUC (Registro Unico de Contribuyentes). A RUC is of
    48     the form XXXXXXXXXXX.
    48     the form XXXXXXXXXXX.
    49     """
    49     """
    50     default_error_messages = {
    50     default_error_messages = {
    51         'invalid': ugettext("This field requires only numbers."),
    51         'invalid': _("This field requires only numbers."),
    52         'max_digits': ugettext("This field requires 11 digits."),
    52         'max_digits': _("This field requires 11 digits."),
    53     }
    53     }
    54 
    54 
    55     def __init__(self, *args, **kwargs):
    55     def __init__(self, *args, **kwargs):
    56         super(PERUCField, self).__init__(max_length=11, min_length=11, *args,
    56         super(PERUCField, self).__init__(max_length=11, min_length=11, *args,
    57             **kwargs)
    57             **kwargs)