diff --git a/rowers/rower_rules.py b/rowers/rower_rules.py index be51fcc8..b93d42ef 100644 --- a/rowers/rower_rules.py +++ b/rowers/rower_rules.py @@ -84,6 +84,11 @@ def user_is_not_basic(user): if user.rower.protrialexpires >= timezone.now().date(): return True # pragma: no cover + coaches = user.rower.get_coaches() + for coach in coaches: + if coach.rowerplan == 'coach': + return True + return False diff --git a/rowers/tasks.py b/rowers/tasks.py index d3d9f497..45f806ea 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -338,6 +338,12 @@ def handle_strava_sync(stravatoken, workoutid, filename, name, activity_type, de tb = traceback.format_exc() dologging('strava_fail.log', tb) failed = True + except stravalib.exc.TimeoutExceeded: + dologging('strava_fail.log', 'Strava upload failed for Workout {id} TimeOutExceeded'.format( + id=workoutid)) + tb = traceback.format_exc() + dologging('strava_fail.log', tb) + failed = True except JSONDecodeError: # pragma: no cover dologging('strava_fail.log', 'Strava upload failed for Workout {id} JSONDecodeError'.format( id=workoutid))