app/soc/models/person.py
author Todd Larsen <tlarsen@google.com>
Mon, 29 Sep 2008 15:31:50 +0000
changeset 206 832335761384
parent 181 fdd29818a954
child 207 8ecc2e4198cd
permissions -rw-r--r--
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of the missing Models related to Documents. Refactor site settings to be useful for any "/home" page view. Make the resulting home settings store a reference to the Document, rather than looking up the Document by a hard-code key name. This is to set the stage for Document editing being generic, and then being able to select from some existing documents which one to use as the "/home" static content. This makes it possible to pre-edit several Documents, have them Reviewed, and then quickly change the "/home" page content as a setting, rather than editing the Document in the settings form (though settings forms might still embed the current document into their form for convenience). Patch by: Todd Larsen Review by: Pawel Solyga Review URL: http://codereviews.googleopensourceprograms.com/1001
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     2
#
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     4
#
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
     8
#
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    10
#
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    15
# limitations under the License.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    16
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    17
"""This module contains the Person Model."""
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    18
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    19
__authors__ = [
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    20
  '"Todd Larsen" <tlarsen@google.com>',
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    21
  '"Sverre Rabbelier" <sverre@rabbelier.nl>',
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    22
]
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    23
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    24
from google.appengine.ext import db
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    25
from django.utils.translation import ugettext_lazy
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    26
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    27
from soc import models
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    28
from soc.models import base
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    29
from soc.models import countries
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    30
import soc.models.user
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    31
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    32
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    33
class Person(base.ModelWithFieldAttributes):
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    34
  """Common data fields for all Roles.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    35
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    36
  A Person can only participate in a single Program.  To avoid duplication of
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    37
  data entry, facilities will be available for selecting an existing Person
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    38
  associated with a particular User to be duplicated for participation in a
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    39
  new Program.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    40
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    41
  Some details of a Person are considered "public" information, and nearly
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    42
  all of these are optional (except for given_name, surname, and email).
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    43
  Other details of a Person are kept "private" and are only provided to
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    44
  other Persons in roles that "need to know" this information.  How these
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    45
  fields are revealed is usually covered by Program terms of service.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    46
13
7947bd33ebbf Clarify back-reference relations the same way that they are documented for
Todd Larsen <tlarsen@google.com>
parents: 8
diff changeset
    47
  A Person entity participates in the following relationships implemented
7947bd33ebbf Clarify back-reference relations the same way that they are documented for
Todd Larsen <tlarsen@google.com>
parents: 8
diff changeset
    48
  as a db.ReferenceProperty elsewhere in another db.Model:
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    49
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    50
   docs) a 1:many relationship of documents (Documentation) associated
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    51
     with the Person by Administrators.  This relation is implemented as
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    52
     the 'docs' back-reference Query of the Documentation model 'person'
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    53
     reference.
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    54
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    55
   works) a many:many relationship with Works, stored in a separate
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    56
     WorksPersons model.  See the WorksPersons model class for details.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    57
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    58
   contributor) a 1:1 relationship associating a Contributor with generic
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    59
     Person details and capabilities.  This relation is implemented as the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    60
     'contributor' back-reference Query of the Contributor model 'person'
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    61
     reference.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    62
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    63
   reviewer) a 1:1 relationship associating a Reviewer with generic
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    64
     Person details and capabilities.  This relation is implemented as the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    65
     'reviewer' back-reference Query of the Reviewer model 'person' reference.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    66
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    67
   admin) a 1:1 relationship associating an Administrator with specific
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    68
     Person details and capabilities.  This relation is implemented as the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    69
     'admin' back-reference Query of the Administrator model 'person'
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    70
     reference.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    71
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    72
   host) a 1:1 relationship accociating a Host with specific Person
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    73
     Person details and capabilities. This relation is implemented as the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 78
diff changeset
    74
     'host' back-reference Query of the Host model 'person' reference.
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    75
  """
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    76
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    77
  #: A required many:1 relationship that ties (possibly multiple
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    78
  #: entities of) Person details to a unique User.  A Person cannot
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    79
  #: exist unassociated from a login identity and credentials.  The
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    80
  #: back-reference in the User model is a Query named 'persons'.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    81
  user = db.ReferenceProperty(reference_class=models.user.User,
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    82
                              required=True, collection_name='persons')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    83
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    84
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    85
  #  (public) name information
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    86
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    87
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    88
  #: Required field storing the parts of the Person's name
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    89
  #: corresponding to the field names; displayed publicly.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    90
  #: given_name can only be lower ASCII, not UTF-8 text, because it is
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    91
  #: used, for example, as part of the shipping (mailing) address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    92
  given_name = db.StringProperty(required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    93
      verbose_name=ugettext_lazy('First (given) name'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    94
  given_name.help_text = ugettext_lazy('lower ASCII characters only')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    95
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    96
  #: Required field storing the parts of the Person's name
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    97
  #: corresponding to the field names; displayed publicly.
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    98
  #: Surname can only be lower ASCII, not UTF-8 text, because it is
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
    99
  #: used, for example, as part of the shipping (mailing) address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   100
  surname = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   101
      required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   102
      verbose_name=ugettext_lazy('Last (family) name'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   103
  surname.help_text = ugettext_lazy('lower ASCII characters only')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   104
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   105
  #: Optional field used as a display name, such as for awards
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   106
  #: certificates. Should be the entire display name in the format
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   107
  #: the Person would like it displayed (could be surname followed by
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   108
  #: given name in some cultures, for example). Display names can be
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   109
  #: any valid UTF-8 text.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   110
  display_name = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   111
      verbose_name=ugettext_lazy('Display Name'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   112
  display_name.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   113
      'Optional field used as a display name, such as for awards '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   114
      'certificates. Should be the entire display name in the format '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   115
      'the person would like it displayed (could be family name followed '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   116
      'by given name in some cultures, for example). Display names can be '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   117
      'any valid UTF-8 text.')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   118
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   119
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   120
  #  (public) contact information
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   121
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   122
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   123
  #: Required field used as the 'public' contact mechanism for the
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   124
  #: Person (as opposed to the user.id email address which is
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   125
  #: kept secret).
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   126
  email = db.EmailProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   127
      required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   128
      verbose_name=ugettext_lazy('Email Address'))
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   129
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   130
  #: Optional field storing Instant Messaging network; displayed publicly.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   131
  im_network = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   132
      verbose_name=ugettext_lazy('IM Network'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   133
  im_network.help_text=ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   134
      'examples: irc:irc.freenode.org xmpp:gmail.com/Home')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   135
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   136
  #: Optional field storing Instant Messaging handle; displayed publicly.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   137
  im_handle = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   138
      verbose_name=ugettext_lazy('IM Handle'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   139
  im_handle.help_text=ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   140
      'personal identifier, such as: screen name, IRC nick, user name')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   141
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   142
  #: Optional field storing a home page URL; displayed publicly.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   143
  home_page = db.LinkProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   144
      verbose_name=ugettext_lazy('Home Page URL'))
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   145
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   146
  #: Optional field storing a blog URL; displayed publicly.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   147
  blog = db.LinkProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   148
      verbose_name=ugettext_lazy('Blog URL'))
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   149
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   150
  #: Optional field storing a URL to an image, expected to be a
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   151
  #: personal photo (or cartoon avatar, perhaps); displayed publicly.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   152
  photo_url = db.LinkProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   153
      verbose_name=ugettext_lazy('Thumbnail Photo URL'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   154
  photo_url.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   155
      'URL of 64x64 pixel thumbnail image')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   156
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   157
  #: Optional field storing the latitude provided by the Person; displayed
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   158
  #: publicly.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   159
  latitude = db.FloatProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   160
      verbose_name=ugettext_lazy('Latitude'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   161
  latitude.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   162
      'decimal degrees northerly (N), use minus sign (-) for southerly (S)')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   163
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   164
  #: Optional field storing the longitude provided by the Person; displayed
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   165
  #: publicly.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   166
  longitude = db.FloatProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   167
      verbose_name=ugettext_lazy('Longitude'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   168
  longitude.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   169
      'decimal degrees easterly (E), use minus sign (-) for westerly (W)')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   170
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   171
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   172
  # (private) contact information
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   173
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   174
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   175
  #: Required field containing residence street address; kept private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   176
  #: Residence street address can only be lower ASCII, not UTF-8 text, because
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   177
  #: it may be used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   178
  res_street = db.StringProperty(required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   179
      verbose_name=ugettext_lazy('Street address'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   180
  res_street.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   181
      'street number and name, lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   182
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   183
  #: Required field containing residence address city; kept private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   184
  #: Residence city can only be lower ASCII, not UTF-8 text, because it
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   185
  #: may be used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   186
  res_city = db.StringProperty(required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   187
      verbose_name=ugettext_lazy('City'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   188
  res_city.help_text = ugettext_lazy('lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   189
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   190
  #: Required field containing residence address state or province; kept
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   191
  #: private.  Residence state/province can only be lower ASCII, not UTF-8
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   192
  #: text, because it may be used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   193
  res_state = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   194
      verbose_name=ugettext_lazy('State/Province'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   195
  res_state.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   196
      'optional if country/territory does not have states or provinces, '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   197
      'lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   198
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   199
  #: Required field containing residence address country or territory; kept
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   200
  #: private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   201
  res_country = db.StringProperty(required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   202
      verbose_name=ugettext_lazy('Country/Territory'),
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   203
      choices=countries.COUNTRIES_AND_TERRITORIES)
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   204
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   205
  #: Required field containing residence address postal code (ZIP code in
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   206
  #: the United States); kept private.  Residence postal code can only be
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   207
  #: lower ASCII, not UTF-8 text, because it may be used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   208
  res_postalcode = db.StringProperty(required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   209
      verbose_name=ugettext_lazy('ZIP/Postal Code'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   210
  res_postalcode.help_text=ugettext_lazy('lower ASCII characters only')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   211
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   212
  #: Optional field containing a separate shipping street address; kept
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   213
  #: private.  If shipping address is not present in its entirety, the
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   214
  #: residence address will be used instead.  Shipping street address can only
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   215
  #: be lower ASCII, not UTF-8 text, because, if supplied, it is used as a
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   216
  #: shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   217
  ship_street = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   218
      verbose_name=ugettext_lazy('Street address'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   219
  ship_street.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   220
      'street number and name, lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   221
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   222
  #: Optional field containing shipping address city; kept private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   223
  #: Shipping city can only be lower ASCII, not UTF-8 text, because, if
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   224
  #: supplied, it is used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   225
  ship_city = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   226
      verbose_name=ugettext_lazy('City'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   227
  ship_city.help_text = ugettext_lazy('lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   228
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   229
  #: Optional field containing shipping address state or province; kept
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   230
  #: private.  Shipping state/province can only be lower ASCII, not UTF-8
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   231
  #: text, because, if supplied, it is used as a shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   232
  ship_state = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   233
      verbose_name=ugettext_lazy('State/Province'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   234
  ship_state.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   235
      'optional if country/territory does not have states or provinces, '
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   236
      'lower ASCII characters only')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   237
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   238
  #: Optional field containing shipping address country or territory; kept
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   239
  #: private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   240
  ship_country = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   241
      verbose_name=ugettext_lazy('Country/Territory'),
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   242
      choices=countries.COUNTRIES_AND_TERRITORIES)
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   243
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   244
  #: Optional field containing shipping address postal code (ZIP code in
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   245
  #: the United States); kept private.  Shipping postal code can only be
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   246
  #: lower ASCII, not UTF-8 text, because, if supplied, it is used as a
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   247
  #: shipping address.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   248
  ship_postalcode = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   249
      verbose_name=ugettext_lazy('ZIP/Postal Code'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   250
  ship_postalcode.help_text=ugettext_lazy('lower ASCII characters only')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   251
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   252
  #: Required field containing a phone number that will be supplied
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   253
  #: to shippers; kept private.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   254
  phone = db.PhoneNumberProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   255
      required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   256
      verbose_name=ugettext_lazy('Phone Number'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   257
  phone.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   258
      'include complete international calling number with country code')
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   259
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   260
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   261
  # (private) personal information
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   262
  #====================================================================
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   263
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   264
  #: Required field containing the Person's birthdate (for
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   265
  #: determining Program participation eligibility); kept private.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   266
  birth_date = db.DateProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   267
      required=True,
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   268
      verbose_name=ugettext_lazy('Birth Date'))
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   269
  birth_date.help_text = ugettext_lazy(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   270
      'required for determining program eligibility')
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   271
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   272
  #: Optional field indicating choice of t-shirt, from XXS to XXXL;
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   273
  #: kept private.
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   274
  tshirt_size = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   275
      verbose_name=ugettext_lazy('T-shirt Size'),
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   276
      choices=('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'))
8
102f69ecb4e4 Initial conversion of the Person Model from PersonModel.wiki to person.py.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   277
39
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   278
  #: Optional field indicating choice of t-shirt fit; kept private.
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   279
  tshirt_style = db.StringProperty(
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   280
      verbose_name=ugettext_lazy('T-shirt Style'),
fa3545f99c02 Major revamp of Person model, splitting up poorly-validated properties into
Todd Larsen <tlarsen@google.com>
parents: 13
diff changeset
   281
      choices=('male', 'female'))