Remove custom Field class, add more validation to fields
This commit is contained in:
parent
858be22d56
commit
220d044522
|
@ -1,31 +1,13 @@
|
|||
import authentic.identities as auth_id
|
||||
from authentic.identities import Field
|
||||
import qommon.form as form
|
||||
|
||||
class Field:
|
||||
def __init__(self, key, title, on_register = True,
|
||||
widget_class = 'StringWidget', read_only = False, **keywords):
|
||||
self.key = key
|
||||
self.title = title
|
||||
self.widget_class = getattr(form, widget_class)
|
||||
self.on_register = on_register
|
||||
self.keywords = keywords
|
||||
self.read_only = read_only
|
||||
|
||||
def add_to_form(self, form, value = None, admin = False):
|
||||
keywords = dict(self.keywords)
|
||||
if value:
|
||||
keywords['value'] = value
|
||||
if not self.read_only or admin:
|
||||
form.add(self.widget_class, self.key, title = _(self.title),
|
||||
**keywords)
|
||||
return form.get_widget(self.key)
|
||||
|
||||
auth_id.fields = [
|
||||
Field('sn', N_('Nom'), required = True),
|
||||
Field('givenName', N_('Prenom'), required = True),
|
||||
Field('sn', N_('Nom'), required = True, admin_required = True),
|
||||
Field('givenName', N_('Prenom'), required = True, admin_required = True),
|
||||
Field('street', N_('Adresse'), required = True),
|
||||
Field('postalCode', N_('Code postal'), widget_class = 'ValidatedStringWidget',
|
||||
regex = r'[0-9]{5}', required = True),
|
||||
regex = r'[0-9]{5}', required = True, hint = _('Ce champ doit contenir cinq chiffres')),
|
||||
Field('l', N_('Ville pro'), required = True),
|
||||
Field('email', N_('Adresse email'), required=True, ldap_field = 'mail'),
|
||||
Field('personalTitle', N_('Personal Title'),
|
||||
|
@ -35,18 +17,25 @@ auth_id.fields = [
|
|||
('M.', N_('Monsieur'), '1'),
|
||||
('Mme', N_('Madame'), '2'),
|
||||
('Mlle', N_('Mademoiselle'), '3')]),
|
||||
Field('mobile', N_('Telephone mobile'), on_register = False),
|
||||
Field('mobile', N_('Telephone mobile'),
|
||||
hint = _('Ce champ ne doit contenir que des chiffres, des points ou des espaces.'),
|
||||
widget_class = 'ValidatedStringWidget',
|
||||
regex = r'^ *(|[0-9][0-9. ]*) *$', on_register = False),
|
||||
Field('dateOfBirth', N_('Date de naissance'), on_register = False, widget_class = 'DateWidget'),
|
||||
# Field('placeOfBirth', N_('Lieu de naissance')),
|
||||
Field('st', N_('Region pro'), on_register = False),
|
||||
Field('department', N_('Departement pro'), on_register = False),
|
||||
Field('telephoneNumber', N_('Telephone pro'), on_register = False),
|
||||
Field('telephoneNumber', N_('Telephone pro'),
|
||||
hint = _('Ce champ ne doit contenir que des chiffres, des points ou des espaces.'),
|
||||
widget_class = 'ValidatedStringWidget',
|
||||
regex = r'^ *(|[0-9][0-9. ]*) *$', on_register = False),
|
||||
Field('homeStreetAddress', N_('Adresse perso'), on_register = False),
|
||||
Field('homePostalCode', N_('Code postal perso'), widget_class = 'ValidatedStringWidget',
|
||||
regex = r'[0-9]{5}', on_register = False),
|
||||
regex = r'[0-9]{5}', on_register = False, hint = _('Ce champ doit contenir cinq chiffres')),
|
||||
Field('homeLocalityName', N_('Ville perso'), on_register = False),
|
||||
Field('homeStateOrProvinceName', N_('Region perso'), on_register = False),
|
||||
Field('homeDepartment', N_('Departement perso'), on_register = False),
|
||||
Field('homeDepartment', N_('Departement perso'),
|
||||
on_register = False),
|
||||
Field('homePhone', N_('Telephone perso'), on_register = False),
|
||||
Field('userClass', N_('Classe d\'utilisateur'), read_only = True, value = 'GRAND.PUBLIC',
|
||||
required = True, size = 4, widget_class = 'SingleSelectWidget',
|
||||
|
|
Reference in New Issue