app/soc/models/user.py
changeset 970 8b5611d5b053
parent 936 b3e1e0c9649c
child 1041 dfe21b16c86c
equal deleted inserted replaced
969:b12de918d660 970:8b5611d5b053
    24 
    24 
    25 
    25 
    26 from google.appengine.api import users
    26 from google.appengine.api import users
    27 from google.appengine.ext import db
    27 from google.appengine.ext import db
    28 
    28 
    29 from django.utils.translation import ugettext_lazy
    29 from django.utils.translation import ugettext
    30 
    30 
    31 import soc.models.linkable
    31 import soc.models.linkable
    32 
    32 
    33 
    33 
    34 class User(soc.models.linkable.Linkable):
    34 class User(soc.models.linkable.Linkable):
    66   #: A Google Account, which also provides a "private" email address.
    66   #: A Google Account, which also provides a "private" email address.
    67   #: This email address is only used in an automated fashion by 
    67   #: This email address is only used in an automated fashion by 
    68   #: Melange web applications and is not made visible to other users 
    68   #: Melange web applications and is not made visible to other users 
    69   #: of any Melange application.
    69   #: of any Melange application.
    70   account = db.UserProperty(required=True,
    70   account = db.UserProperty(required=True,
    71       verbose_name=ugettext_lazy('User account'))
    71       verbose_name=ugettext('User account'))
    72   account.help_text = ugettext_lazy(
    72   account.help_text = ugettext(
    73       'A valid Google Account.')
    73       'A valid Google Account.')
    74 
    74 
    75   #: A list (possibly empty) of former Google Accounts associated with
    75   #: A list (possibly empty) of former Google Accounts associated with
    76   #: this User.
    76   #: this User.
    77   former_accounts = db.ListProperty(users.User)
    77   former_accounts = db.ListProperty(users.User)
    78 
    78 
    79   #: Required field storing publicly-displayed name.  Can be a real name
    79   #: Required field storing publicly-displayed name.  Can be a real name
    80   #: (though this is not recommended), or a nick name or some other public
    80   #: (though this is not recommended), or a nick name or some other public
    81   #: alias.  Public names can be any valid UTF-8 text.
    81   #: alias.  Public names can be any valid UTF-8 text.
    82   name = db.StringProperty(required=True,
    82   name = db.StringProperty(required=True,
    83       verbose_name=ugettext_lazy('Public name'))
    83       verbose_name=ugettext('Public name'))
    84   name.help_text = ugettext_lazy(
    84   name.help_text = ugettext(
    85       'Human-readable name (UTF-8) that will be displayed publicly on the'
    85       'Human-readable name (UTF-8) that will be displayed publicly on the'
    86       ' site.')
    86       ' site.')
    87       
    87       
    88   #: field storing whether User is a Developer with site-wide access.
    88   #: field storing whether User is a Developer with site-wide access.
    89   is_developer = db.BooleanProperty(
    89   is_developer = db.BooleanProperty(
    90       verbose_name=ugettext_lazy('Is Developer'))
    90       verbose_name=ugettext('Is Developer'))
    91   is_developer.help_text = ugettext_lazy(
    91   is_developer.help_text = ugettext(
    92       'Field used to indicate user with site-wide Developer access.')
    92       'Field used to indicate user with site-wide Developer access.')
    93 
    93 
    94   #: field storing whether User has agreed to the site-wide Terms of Service.
    94   #: field storing whether User has agreed to the site-wide Terms of Service.
    95   #: (Not a required field because the Terms of Service might not be present
    95   #: (Not a required field because the Terms of Service might not be present
    96   #: when the first User profile is created when bootstrapping the site.)
    96   #: when the first User profile is created when bootstrapping the site.)
    97   agrees_to_tos = db.BooleanProperty(
    97   agrees_to_tos = db.BooleanProperty(
    98       verbose_name=ugettext_lazy('Agrees to ToS'))
    98       verbose_name=ugettext('Agrees to ToS'))
    99   agrees_to_tos.help_text = ugettext_lazy(
    99   agrees_to_tos.help_text = ugettext(
   100       'Indicates that the user agrees to the site-wide Terms of Service.')
   100       'Indicates that the user agrees to the site-wide Terms of Service.')
   101 
   101