new person fields salutation and (academic) title
This commit is contained in:
parent
0bb012a9c6
commit
e1ba407209
4 changed files with 82 additions and 28 deletions
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2011 Helmut Merz helmutm@cy55.de
|
||||
# Copyright (c) 2013 Helmut Merz helmutm@cy55.de
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -18,8 +18,6 @@
|
|||
|
||||
"""
|
||||
Interfaces for organizational stuff like persons, addresses, tasks, services...
|
||||
|
||||
$Id$
|
||||
"""
|
||||
|
||||
from zope import schema
|
||||
|
@ -30,6 +28,7 @@ from zope.i18nmessageid import MessageFactory
|
|||
from cybertools.composer.schema.factory import Email
|
||||
from cybertools.tracking.interfaces import ITrack
|
||||
from cybertools.util.jeep import Jeep, Term
|
||||
from cybertools.util import KeywordVocabulary
|
||||
|
||||
_ = MessageFactory('cybertools.organize')
|
||||
|
||||
|
@ -43,31 +42,48 @@ class LinesList(schema.List): pass
|
|||
|
||||
# persons, addresses, ...
|
||||
|
||||
salutations = ((None, u''),
|
||||
('m', _(u'Mr')),
|
||||
('f', _(u'Mrs')))
|
||||
|
||||
|
||||
class IPerson(Interface):
|
||||
""" Resembles a human being with a name (first and last name),
|
||||
a birth date, and a set of addresses.
|
||||
"""
|
||||
|
||||
salutation = schema.Choice(
|
||||
title=_(u'Salutation'),
|
||||
description=_(u'Salutation in letter.'),
|
||||
vocabulary=KeywordVocabulary(salutations),
|
||||
default=None,
|
||||
required=False)
|
||||
|
||||
academicTitle = schema.TextLine(
|
||||
title=_(u'Academic Title'),
|
||||
description=_(u'Academic title or name affix.'),
|
||||
required=False)
|
||||
|
||||
firstName = schema.TextLine(
|
||||
title=_(u'First name'),
|
||||
description=_(u'The first name'),
|
||||
title=_(u'First Name'),
|
||||
description=_(u'The first name.'),
|
||||
required=False,)
|
||||
lastName = schema.TextLine(
|
||||
title=_(u'Last name'),
|
||||
description=_(u'The last name or surname'),)
|
||||
email = Email(title=_(u'E-Mail address'),
|
||||
description=_(u'The standard email address of the person'),)
|
||||
title=_(u'Last Name'),
|
||||
description=_(u'The last name or surname.'),)
|
||||
email = Email(title=_(u'E-Mail Address'),
|
||||
description=_(u'The standard email address of the person.'),)
|
||||
#phoneNumbers = SimpleList(
|
||||
phoneNumbers = schema.List(
|
||||
value_type=schema.TextLine(),
|
||||
default=[],
|
||||
title=_(u'Phone numbers'),
|
||||
description=_(u'Note one or more phone numbers here'),
|
||||
title=_(u'Phone Numbers'),
|
||||
description=_(u'Note one or more phone numbers here.'),
|
||||
required=False,)
|
||||
birthDate = schema.Date(
|
||||
title=_(u'Date of birth'),
|
||||
title=_(u'Date of Birth'),
|
||||
description=_(u'The date of birth - should be a '
|
||||
'datetime.date object'),
|
||||
'datetime.date object.'),
|
||||
required=False,)
|
||||
|
||||
age = schema.Int(
|
||||
|
|
Binary file not shown.
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
|
||||
"Project-Id-Version: $Id$\n"
|
||||
"POT-Creation-Date: 2008-12-01 12:00 CET\n"
|
||||
"PO-Revision-Date: 2010-02-20 12:00 CET\n"
|
||||
"PO-Revision-Date: 2013-05-17 12:00 CET\n"
|
||||
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
|
||||
"Language-Team: loops developers <helmutm@cy55.de>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -11,31 +11,49 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: kwrite\n"
|
||||
|
||||
msgid "First name"
|
||||
msgid "Salutation"
|
||||
msgstr "Anrede"
|
||||
|
||||
msgid "Salutation in letter."
|
||||
msgstr "Bitte Anrede auswählen."
|
||||
|
||||
msgid "Academic Title"
|
||||
msgstr "Titel/Namenszusatz"
|
||||
|
||||
msgid "Academic title or name affix."
|
||||
msgstr "Akademischer Titel oder Namenszusatz."
|
||||
|
||||
msgid "Mr"
|
||||
msgstr "Herr"
|
||||
|
||||
msgid "Mrs"
|
||||
msgstr "Frau"
|
||||
|
||||
msgid "First Name"
|
||||
msgstr "Vorname"
|
||||
|
||||
msgid "The first name"
|
||||
msgstr "Bitte den oder die Vornamen eingeben"
|
||||
msgid "The first name."
|
||||
msgstr "Bitte den Vornamen eingeben."
|
||||
|
||||
msgid "Last name"
|
||||
msgid "Last Name"
|
||||
msgstr "Nachname"
|
||||
|
||||
msgid "The last name or surname"
|
||||
msgstr "Bitte den Nachnamen eingeben"
|
||||
msgid "The last name or surname."
|
||||
msgstr "Bitte den Nachnamen eingeben."
|
||||
|
||||
msgid "E-Mail address"
|
||||
msgid "E-Mail Address"
|
||||
msgstr "E-Mail-Adresse"
|
||||
|
||||
msgid "The standard email address of the person"
|
||||
msgstr "Bitte eine gültige E-Mail-Adresse eingeben"
|
||||
msgid "The standard email address of the person."
|
||||
msgstr "Bitte eine gültige E-Mail-Adresse eingeben."
|
||||
|
||||
msgid "Phone numbers"
|
||||
msgid "Phone Numbers"
|
||||
msgstr "Telefonnummern"
|
||||
|
||||
msgid "Note one or more phone numbers here"
|
||||
msgstr "Bitte eine oder mehrere Telefonnummern (je Zeile eine) eingeben"
|
||||
msgid "Note one or more phone numbers here."
|
||||
msgstr "Bitte eine oder mehrere Telefonnummern (je Zeile eine) eingeben."
|
||||
|
||||
msgid "Date of birth"
|
||||
msgid "Date of Birth"
|
||||
msgstr "Geburtsdatum"
|
||||
|
||||
msgid "Age"
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
"""
|
||||
$Id$
|
||||
common utilities
|
||||
"""
|
||||
|
||||
from zope.schema import vocabulary
|
||||
|
||||
|
||||
class KeywordVocabulary(vocabulary.SimpleVocabulary):
|
||||
|
||||
def __init__(self, items, *interfaces):
|
||||
""" ``items`` may be a tuple of (token, title) or a dictionary
|
||||
with corresponding elements named 'token' and 'title'.
|
||||
"""
|
||||
terms = []
|
||||
for t in items:
|
||||
if type(t) is dict:
|
||||
token, title = t['token'], t['title']
|
||||
else:
|
||||
token, title = t
|
||||
terms.append(vocabulary.SimpleTerm(token, token, title))
|
||||
super(KeywordVocabulary, self).__init__(terms, *interfaces)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue