- Timestamp:
- Feb 26, 2019, 11:52:44 PM (5 years ago)
- Branches:
- current, feature/docs, master
- Children:
- ac3af33
- Parents:
- aad4954
- Location:
- ow
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/models/user.py
raad4954 re171dc2 34 34 self.height = kw.get('height', None) 35 35 self.weight = kw.get('weight', None) 36 self.gender = kw.get('gender', ' female')36 self.gender = kw.get('gender', 'robot') 37 37 self.picture = kw.get('picture', None) # blob 38 38 self.timezone = kw.get('timezone', 'UTC') -
ow/schemas/user.py
raad4954 re171dc2 4 4 5 5 from ow.schemas.blob import FieldStorageBlob 6 from ow.utilities import get_available_locale_names 6 from ow.utilities import get_available_locale_names, get_gender_names 7 7 8 8 _ = TranslationStringFactory('OpenWorkouts') … … 73 73 height = validators.Number() 74 74 weight = validators.Number() 75 gender = validators.OneOf(('male', 'female'), not_empty=True) 75 gender = validators.OneOf( 76 [gender[0] for gender in get_gender_names()], 77 not_empty=True) 76 78 picture = FieldStorageBlob(if_emtpy=None, if_missing=None, 77 79 whitelist=['jpg', 'jpeg', 'png', 'gif']) -
ow/templates/edit_profile.pt
raad4954 re171dc2 72 72 </div> 73 73 <div> 74 75 76 ${form.select('gender', ['male', 'female'])}74 <label for="gender" i18n:translate="">Gender:</label> 75 ${form.errorlist('gender')} 76 ${form.select('gender', gender_names)} 77 77 </div> 78 78 </div> -
ow/templates/profile.pt
raad4954 re171dc2 164 164 <li> 165 165 <span><tal:t i18n:translate="">Gender:</tal:t></span> 166 <tal:c tal:content=" getattr(user, 'gender', '-')"></tal:c>166 <tal:c tal:content="user_gender"></tal:c> 167 167 </li> 168 168 <li tal:define="birth_date getattr(user, 'birth_date', None)"> -
ow/tests/views/test_user.py
raad4954 re171dc2 409 409 # profile page for the current day (no workouts avalable) 410 410 response = user_views.profile(john, request) 411 assert len(response.keys()) == 5411 assert len(response.keys()) == 6 412 412 current_month = datetime.now(timezone.utc).strftime('%Y-%m') 413 413 assert response['user'] == john 414 assert response['user_gender'] == 'Robot' 414 415 assert response['current_month'] == current_month 415 416 assert response['current_week'] is None … … 424 425 request.GET['month'] = 6 425 426 response = user_views.profile(john, request) 426 assert len(response.keys()) == 5427 assert len(response.keys()) == 6 427 428 assert response['user'] == john 429 assert response['user_gender'] == 'Robot' 428 430 assert response['current_month'] == '2015-06' 429 431 assert response['current_week'] is None … … 440 442 request.GET['week'] = 25 441 443 response = user_views.profile(john, request) 442 assert len(response.keys()) == 5444 assert len(response.keys()) == 6 443 445 assert response['user'] == john 446 assert response['user_gender'] == 'Robot' 444 447 assert response['current_month'] == '2015-06' 445 448 assert response['current_week'] == 25 … … 455 458 request.GET['week'] = 26 456 459 response = user_views.profile(john, request) 457 assert len(response.keys()) == 5460 assert len(response.keys()) == 6 458 461 assert response['user'] == john 462 assert response['user_gender'] == 'Robot' 459 463 assert response['current_month'] == '2015-06' 460 464 assert response['current_week'] == 26 -
ow/utilities.py
raad4954 re171dc2 310 310 ('es', _('Spanish')) 311 311 ] 312 313 314 def get_gender_names(): 315 return [ 316 ('male', _('Male')), 317 ('female', _('Female')), 318 ('robot', _('Robot')) 319 ] -
ow/views/user.py
raad4954 re171dc2 9 9 from pyramid.security import remember, forget 10 10 from pyramid.response import Response 11 from pyramid.i18n import TranslationStringFactory 11 from pyramid.i18n import TranslationStringFactory, get_localizer 12 12 from pyramid_simpleform import Form, State 13 13 from pytz import common_timezones … … 295 295 getattr(workout, 'uphill', Decimal(0)) or Decimal(0)) 296 296 297 localizer = get_localizer(request) 298 user_gender = _('Unknown') 299 for g in get_gender_names(): 300 if g[0] == context.gender: 301 user_gender = localizer.translate(g[1]) 302 297 303 return { 298 304 'user': user, 305 'user_gender': user_gender, 299 306 'workouts': workouts, 300 307 'current_month': '{year}-{month}'.format( … … 338 345 default_locale = request.registry.settings.get( 339 346 'pyramid.default_locale_name') 340 available_locale_names = get_available_locale_names()341 347 current_locale = request.cookies.get('_LOCALE_', default_locale) 342 348 # if not given a file there is an empty byte in POST, which breaks … … 372 378 del form.data['picture'] 373 379 380 localizer = get_localizer(request) 381 gender_names = [ 382 (g[0], localizer.translate(g[1])) for g in get_gender_names()] 383 available_locale_names = [ 384 (l[0], localizer.translate(l[1])) for l in get_available_locale_names() 385 ] 386 374 387 return {'form': OWFormRenderer(form), 375 388 'timezones': common_timezones, 389 'gender_names': gender_names, 376 390 'available_locale_names': available_locale_names, 377 391 'current_locale': current_locale}
Note: See TracChangeset
for help on using the changeset viewer.