API & Client - fix workouts filters on distance when value is a float

This commit is contained in:
Sam
2021-11-11 08:57:10 +01:00
parent 7a7cd509ed
commit eef66cb735
14 changed files with 36 additions and 30 deletions

View File

@ -193,10 +193,12 @@ class Workout(BaseModel):
<= datetime.datetime.strptime(date_to, '%Y-%m-%d')
if date_to
else True,
Workout.distance >= int(distance_from)
Workout.distance >= float(distance_from)
if distance_from
else True,
Workout.distance <= int(distance_to) if distance_to else True,
Workout.distance <= float(distance_to)
if distance_to
else True,
Workout.duration >= convert_in_duration(duration_from)
if duration_from
else True,
@ -233,10 +235,12 @@ class Workout(BaseModel):
<= datetime.datetime.strptime(date_to, '%Y-%m-%d')
if date_to
else True,
Workout.distance >= int(distance_from)
Workout.distance >= float(distance_from)
if distance_from
else True,
Workout.distance <= int(distance_to) if distance_to else True,
Workout.distance <= float(distance_to)
if distance_to
else True,
Workout.duration >= convert_in_duration(duration_from)
if duration_from
else True,

View File

@ -220,10 +220,12 @@ def get_workouts(auth_user_id: int) -> Union[Dict, HttpResponse]:
Workout.workout_date < date_to + timedelta(seconds=1)
if date_to
else True,
Workout.distance >= int(distance_from)
Workout.distance >= float(distance_from)
if distance_from
else True,
Workout.distance <= int(distance_to) if distance_to else True,
Workout.distance <= float(distance_to)
if distance_to
else True,
Workout.moving >= convert_in_duration(duration_from)
if duration_from
else True,