source: consulta_publica/base/fields.py

baseconstituyenteestudiantesgeneralplan_patriasala
Last change on this file was bf6bc0b, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Agregada la permisología de roles al sistema

  • Propiedad mode establecida a 100644
File size: 2.0 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema de Consulta Pública
4
5Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017
6"""
7## @package base.fields
8#
9# Contiene las clases, atributos y métodos para los campos personalizados a implementar en los formularios
10# @author Rodrigo Boet (rboet at cenditel.gob.ve)
11# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
12# (CENDITEL) nodo Mérida - Venezuela</a>
13# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
14# @version 1.0
15from __future__ import unicode_literals
16
17from django.forms import MultiValueField, ChoiceField, CharField
18
19from .constant import SHORT_NACIONALIDAD
20from .widgets import CedulaWidget
21
22class CedulaField(MultiValueField):
23    """!
24    Clase que agrupa los campos de la nacionalidad y número de cédula de identidad en un solo campo del formulario
25
26    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
27    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
28    @date 26-04-2016
29    @version 2.0.0
30    """
31    widget = CedulaWidget
32    default_error_messages = {
33        'invalid_choices': "Debe seleccionar una nacionalidad válida"
34    }
35
36    def __init__(self, *args, **kwargs):
37
38        error_messages = {
39            'required': "Debe indicar un número de Cédula",
40            'invalid': "El valor indicado no es válido",
41            'incomplete': "El número de Cédula esta incompleto"
42        }
43
44        fields = (
45            ChoiceField(choices=SHORT_NACIONALIDAD),
46            CharField(max_length=8)
47        )
48
49        label = "Cedula de Identidad:"
50
51        super(CedulaField, self).__init__(
52            error_messages=error_messages, fields=fields, label=label, require_all_fields=True, *args, **kwargs
53        )
54
55    def compress(self, data_list):
56        if data_list:
57            return ''.join(data_list)
58        return ''
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.