app/soc/models/role.py
changeset 1360 f62c462037b6
parent 1308 35b75ffcbb37
child 1371 2d97dbbb4d99
equal deleted inserted replaced
1359:582661519e5d 1360:f62c462037b6
   172   #: it may be used as a shipping address.
   172   #: it may be used as a shipping address.
   173   res_street = db.StringProperty(required=True,
   173   res_street = db.StringProperty(required=True,
   174       verbose_name=ugettext('Street address'))
   174       verbose_name=ugettext('Street address'))
   175   res_street.help_text = ugettext(
   175   res_street.help_text = ugettext(
   176       'street number and name, lower ASCII characters only')
   176       'street number and name, lower ASCII characters only')
       
   177   res_street.group=ugettext("Contact Info")
   177 
   178 
   178   #: Required field containing residence address city; kept private.
   179   #: Required field containing residence address city; kept private.
   179   #: Residence city can only be lower ASCII, not UTF-8 text, because it
   180   #: Residence city can only be lower ASCII, not UTF-8 text, because it
   180   #: may be used as a shipping address.
   181   #: may be used as a shipping address.
   181   res_city = db.StringProperty(required=True,
   182   res_city = db.StringProperty(required=True,
   182       verbose_name=ugettext('City'))
   183       verbose_name=ugettext('City'))
   183   res_city.help_text = ugettext('lower ASCII characters only')
   184   res_city.help_text = ugettext('lower ASCII characters only')
       
   185   res_city.group=ugettext("Contact Info")
   184 
   186 
   185   #: Optional field containing residence address state or province; kept
   187   #: Optional field containing residence address state or province; kept
   186   #: private.  Residence state/province can only be lower ASCII, not UTF-8
   188   #: private.  Residence state/province can only be lower ASCII, not UTF-8
   187   #: text, because it may be used as a shipping address.
   189   #: text, because it may be used as a shipping address.
   188   res_state = db.StringProperty(
   190   res_state = db.StringProperty(
   189       verbose_name=ugettext('State/Province'))
   191       verbose_name=ugettext('State/Province'))
   190   res_state.help_text = ugettext(
   192   res_state.help_text = ugettext(
   191       'optional if country/territory does not have states or provinces, '
   193       'optional if country/territory does not have states or provinces, '
   192       'lower ASCII characters only')
   194       'lower ASCII characters only')
       
   195   res_state.group=ugettext("Contact Info")
   193 
   196 
   194   #: Required field containing residence address country or territory; kept
   197   #: Required field containing residence address country or territory; kept
   195   #: private.
   198   #: private.
   196   res_country = db.StringProperty(required=True,
   199   res_country = db.StringProperty(required=True,
   197       verbose_name=ugettext('Country/Territory'),
   200       verbose_name=ugettext('Country/Territory'),
   198       choices=countries.COUNTRIES_AND_TERRITORIES)
   201       choices=countries.COUNTRIES_AND_TERRITORIES)
       
   202   res_country.group=ugettext("Contact Info")
   199 
   203 
   200   #: Required field containing residence address postal code (ZIP code in
   204   #: Required field containing residence address postal code (ZIP code in
   201   #: the United States); kept private.  Residence postal code can only be
   205   #: the United States); kept private.  Residence postal code can only be
   202   #: lower ASCII, not UTF-8 text, because it may be used as a shipping address.
   206   #: lower ASCII, not UTF-8 text, because it may be used as a shipping address.
   203   res_postalcode = db.StringProperty(required=True,
   207   res_postalcode = db.StringProperty(required=True,
   204       verbose_name=ugettext('ZIP/Postal Code'))
   208       verbose_name=ugettext('ZIP/Postal Code'))
   205   res_postalcode.help_text = ugettext('lower ASCII characters only')
   209   res_postalcode.help_text = ugettext('lower ASCII characters only')
       
   210   res_postalcode.group=ugettext("Contact Info")
   206 
   211 
   207   #: Optional field containing a separate shipping street address; kept
   212   #: Optional field containing a separate shipping street address; kept
   208   #: private.  If shipping address is not present in its entirety, the
   213   #: private.  If shipping address is not present in its entirety, the
   209   #: residence address will be used instead.  Shipping street address can only
   214   #: residence address will be used instead.  Shipping street address can only
   210   #: be lower ASCII, not UTF-8 text, because, if supplied, it is used as a
   215   #: be lower ASCII, not UTF-8 text, because, if supplied, it is used as a
   211   #: shipping address.
   216   #: shipping address.
   212   ship_street = db.StringProperty(
   217   ship_street = db.StringProperty(
   213       verbose_name=ugettext('Shipping Street address'))
   218       verbose_name=ugettext('Shipping Street address'))
   214   ship_street.help_text = ugettext(
   219   ship_street.help_text = ugettext(
   215       'street number and name, lower ASCII characters only')
   220       'street number and name, lower ASCII characters only')
       
   221   ship_street.group=ugettext("Shipping Info")
   216 
   222 
   217   #: Optional field containing shipping address city; kept private.
   223   #: Optional field containing shipping address city; kept private.
   218   #: Shipping city can only be lower ASCII, not UTF-8 text, because, if
   224   #: Shipping city can only be lower ASCII, not UTF-8 text, because, if
   219   #: supplied, it is used as a shipping address.
   225   #: supplied, it is used as a shipping address.
   220   ship_city = db.StringProperty(
   226   ship_city = db.StringProperty(
   221       verbose_name=ugettext('Shipping City'))
   227       verbose_name=ugettext('Shipping City'))
   222   ship_city.help_text = ugettext('lower ASCII characters only')
   228   ship_city.help_text = ugettext('lower ASCII characters only')
       
   229   ship_city.group=ugettext("Shipping Info")
   223 
   230 
   224   #: Optional field containing shipping address state or province; kept
   231   #: Optional field containing shipping address state or province; kept
   225   #: private.  Shipping state/province can only be lower ASCII, not UTF-8
   232   #: private.  Shipping state/province can only be lower ASCII, not UTF-8
   226   #: text, because, if supplied, it is used as a shipping address.
   233   #: text, because, if supplied, it is used as a shipping address.
   227   ship_state = db.StringProperty(
   234   ship_state = db.StringProperty(
   228       verbose_name=ugettext('Shipping State/Province'))
   235       verbose_name=ugettext('Shipping State/Province'))
   229   ship_state.help_text = ugettext(
   236   ship_state.help_text = ugettext(
   230       'optional if country/territory does not have states or provinces, '
   237       'optional if country/territory does not have states or provinces, '
   231       'lower ASCII characters only')
   238       'lower ASCII characters only')
       
   239   ship_state.group=ugettext("Shipping Info")
   232 
   240 
   233   #: Optional field containing shipping address country or territory; kept
   241   #: Optional field containing shipping address country or territory; kept
   234   #: private.
   242   #: private.
   235   ship_country = db.StringProperty(
   243   ship_country = db.StringProperty(
   236       verbose_name=ugettext('Shipping Country/Territory'),
   244       verbose_name=ugettext('Shipping Country/Territory'),
   237       choices=countries.COUNTRIES_AND_TERRITORIES)
   245       choices=countries.COUNTRIES_AND_TERRITORIES)
       
   246   ship_country.group=ugettext("Shipping Info")
   238 
   247 
   239   #: Optional field containing shipping address postal code (ZIP code in
   248   #: Optional field containing shipping address postal code (ZIP code in
   240   #: the United States); kept private.  Shipping postal code can only be
   249   #: the United States); kept private.  Shipping postal code can only be
   241   #: lower ASCII, not UTF-8 text, because, if supplied, it is used as a
   250   #: lower ASCII, not UTF-8 text, because, if supplied, it is used as a
   242   #: shipping address.
   251   #: shipping address.
   243   ship_postalcode = db.StringProperty(
   252   ship_postalcode = db.StringProperty(
   244       verbose_name=ugettext('Shipping ZIP/Postal Code'))
   253       verbose_name=ugettext('Shipping ZIP/Postal Code'))
   245   ship_postalcode.help_text = ugettext('lower ASCII characters only')
   254   ship_postalcode.help_text = ugettext('lower ASCII characters only')
       
   255   ship_postalcode.group=ugettext("Shipping Info")
   246 
   256 
   247   #: Required field containing a phone number that will be supplied
   257   #: Required field containing a phone number that will be supplied
   248   #: to shippers; kept private.
   258   #: to shippers; kept private.
   249   phone = db.PhoneNumberProperty(
   259   phone = db.PhoneNumberProperty(
   250       required=True,
   260       required=True,
   251       verbose_name=ugettext('Phone Number'))
   261       verbose_name=ugettext('Phone Number'))
   252   phone.help_text = ugettext(
   262   phone.help_text = ugettext(
   253       'include complete international calling number with country code')
   263       'include complete international calling number with country code')
       
   264   phone.group=ugettext("Shipping Info")
       
   265   
   254 
   266 
   255   #====================================================================
   267   #====================================================================
   256   # (private) personal information
   268   # (private) personal information
   257   #====================================================================
   269   #====================================================================
   258 
   270 
   261   birth_date = db.DateProperty(
   273   birth_date = db.DateProperty(
   262       required=True,
   274       required=True,
   263       verbose_name=ugettext('Birth Date'))
   275       verbose_name=ugettext('Birth Date'))
   264   birth_date.help_text = ugettext(
   276   birth_date.help_text = ugettext(
   265       'required for determining program eligibility')
   277       'required for determining program eligibility')
       
   278   birth_date.group=ugettext("Private Info")
   266 
   279 
   267   #: Optional field indicating choice of t-shirt, from XXS to XXXL;
   280   #: Optional field indicating choice of t-shirt, from XXS to XXXL;
   268   #: kept private.
   281   #: kept private.
   269   tshirt_size = db.StringProperty(
   282   tshirt_size = db.StringProperty(
   270       verbose_name=ugettext('T-shirt Size'),
   283       verbose_name=ugettext('T-shirt Size'),
   271       choices=('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'))
   284       choices=('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'))
       
   285   tshirt_size.group=ugettext("Private Info")
   272 
   286 
   273   #: Optional field indicating choice of t-shirt fit; kept private.
   287   #: Optional field indicating choice of t-shirt fit; kept private.
   274   tshirt_style = db.StringProperty(
   288   tshirt_style = db.StringProperty(
   275       verbose_name=ugettext('T-shirt Style'),
   289       verbose_name=ugettext('T-shirt Style'),
   276       choices=('male', 'female'))
   290       choices=('male', 'female'))
       
   291   tshirt_style.group=ugettext("Private Info")
   277 
   292 
   278   #: field storing wheter the User has agreed to the site-wide Terms of Service.
   293   #: field storing wheter the User has agreed to the site-wide Terms of Service.
   279   #: (Not a required field because the Terms of Service might not be present
   294   #: (Not a required field because the Terms of Service might not be present
   280   #: when the first User profile is created when bootstrapping the site.)
   295   #: when the first User profile is created when bootstrapping the site.)
   281   agreed_to_tos = db.BooleanProperty(required=False, default=False,
   296   agreed_to_tos = db.BooleanProperty(required=False, default=False,
   282       verbose_name=ugettext('I Agree to the Terms of Service'))
   297       verbose_name=ugettext('I Agree to the Terms of Service'))
   283   agreed_to_tos.help_text = ugettext(
   298   agreed_to_tos.help_text = ugettext(
   284       'Indicates whether the user agreed to this role Terms of Service.')
   299       'Indicates whether the user agreed to this role Terms of Service.')
       
   300   agreed_to_tos.group=ugettext("Terms of Service")
   285 
   301 
   286   #: field storing when the User has agreed to the site-wide Terms of Service.
   302   #: field storing when the User has agreed to the site-wide Terms of Service.
   287   #: (Not a required field because the Terms of Service might not be present
   303   #: (Not a required field because the Terms of Service might not be present
   288   #: when the first User profile is created when bootstrapping the site.)
   304   #: when the first User profile is created when bootstrapping the site.)
   289   agreed_to_tos_on = db.DateTimeProperty(required=False, default=None,
   305   agreed_to_tos_on = db.DateTimeProperty(required=False, default=None,
   290       verbose_name=ugettext('Has agreed to the Terms of Service on'))
   306       verbose_name=ugettext('Has agreed to the Terms of Service on'))
   291   agreed_to_tos_on.help_text = ugettext(
   307   agreed_to_tos_on.help_text = ugettext(
   292       'Indicates when the user agreed to this role Terms of Service.')
   308       'Indicates when the user agreed to this role Terms of Service.')
       
   309   agreed_to_tos.group=ugettext("Terms of Service")
   293 
   310 
   294   #: field storing the status of this role
   311   #: field storing the status of this role
   295   #: Active means that this role can exercise all it's privileges.
   312   #: Active means that this role can exercise all it's privileges.
   296   #: Invalid mean that this role cannot exercise it's privileges.
   313   #: Invalid mean that this role cannot exercise it's privileges.
   297   #: Inactive means that this role cannot exercise it's data-editing
   314   #: Inactive means that this role cannot exercise it's data-editing
   301   status = db.StringProperty(default='active',
   318   status = db.StringProperty(default='active',
   302       choices=['active','invalid','inactive'],
   319       choices=['active','invalid','inactive'],
   303       verbose_name=ugettext('Status of this Role'))
   320       verbose_name=ugettext('Status of this Role'))
   304   status.help_text = ugettext(
   321   status.help_text = ugettext(
   305       'Indicates the status of the role concerning which privileges may be used.')
   322       'Indicates the status of the role concerning which privileges may be used.')
   306       
   323 
   307   #: field storing whether the User has agreed to publish his location
   324   #: field storing whether the User has agreed to publish his location
   308   publish_location = db.BooleanProperty(required=False, default=False,
   325   publish_location = db.BooleanProperty(required=False, default=False,
   309       verbose_name=ugettext('Publish my location'))
   326       verbose_name=ugettext('Publish my location'))
   310   publish_location.help_text = ugettext(
   327   publish_location.help_text = ugettext(
   311       'Indicates whether the user agreed to publish location.')
   328       'Indicates whether the user agreed to publish location.')