Add pref for use_raw_gpx_speed; still need to do tests and client UI bits

This commit is contained in:
Joshua Taillon
2023-05-14 22:40:03 -06:00
parent 518251d442
commit a98057c936
6 changed files with 53 additions and 4 deletions

View File

@ -879,6 +879,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
"total_ascent": 720.35,
"total_distance": 67.895,
"total_duration": "6:50:27",
"use_raw_gpx_speed": true,
"username": "sam"
"weekm": true,
},
@ -892,6 +893,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
:<json string language: language preferences
:<json boolean start_elevation_at_zero: do elevation plots start at zero?
:<json string timezone: user time zone
:<json boolean use_raw_gpx_speed: Use raw (unfiltered) gpx data to calculate speeds
:<json boolean weekm: does week start on Monday?
:reqheader Authorization: OAuth 2.0 Bearer Token
@ -915,6 +917,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
'language',
'start_elevation_at_zero',
'timezone',
'use_raw_gpx_speed',
'weekm',
}
if not post_data or not post_data.keys() >= user_mandatory_data:
@ -925,6 +928,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
imperial_units = post_data.get('imperial_units')
language = get_language(post_data.get('language'))
start_elevation_at_zero = post_data.get('start_elevation_at_zero')
use_raw_gpx_speed = post_data.get('use_raw_gpx_speed')
timezone = post_data.get('timezone')
weekm = post_data.get('weekm')
@ -935,6 +939,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
auth_user.language = language
auth_user.start_elevation_at_zero = start_elevation_at_zero
auth_user.timezone = timezone
auth_user.use_raw_gpx_speed = use_raw_gpx_speed
auth_user.weekm = weekm
db.session.commit()

View File

@ -62,6 +62,9 @@ class User(BaseModel):
start_elevation_at_zero = db.Column(
db.Boolean, default=True, nullable=False
)
use_raw_gpx_speed = db.Column(
db.Boolean, default=False, nullable=False
)
def __repr__(self) -> str:
return f'<User {self.username!r}>'
@ -216,6 +219,7 @@ class User(BaseModel):
'language': self.language,
'start_elevation_at_zero': self.start_elevation_at_zero,
'timezone': self.timezone,
'use_raw_gpx_speed': self.use_raw_gpx_speed,
'weekm': self.weekm,
},
}