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 |