Private
Public Access
1
0

fixing auto import for coachees

This commit is contained in:
Sander Roosendaal
2022-06-20 21:27:53 +02:00
parent 046e1d2d07
commit 0259999695
3 changed files with 12 additions and 5 deletions

View File

@@ -34,7 +34,7 @@ import rowers.stravastuff as stravastuff
import rowers.nkstuff as nkstuff
from rowers.opaque import encoder
from rowers.rower_rules import user_is_not_basic
from rowers.rower_rules import user_is_not_basic, user_is_coachee
from rowers.utils import dologging
# If you find a solution that does not need the two paths, please comment!
@@ -90,7 +90,7 @@ class Command(BaseCommand):
try:
rowers = Rower.objects.filter(c2_auto_import=True)
for r in rowers: # pragma: no cover
if user_is_not_basic(r.user):
if user_is_not_basic(r.user) or user_is_coachee(r.user):
c2stuff.get_c2_workouts(r)
except: # pragma: no cover
exc_type, exc_value, exc_traceback = sys.exc_info()
@@ -100,7 +100,7 @@ class Command(BaseCommand):
try:
rowers = Rower.objects.filter(rp3_auto_import=True)
for r in rowers: # pragma: no cover
if user_is_not_basic(r.user):
if user_is_not_basic(r.user) or user_is_coachee(r.user):
_ = rp3stuff.get_rp3_workouts(r)
except: # pragma: no cover
exc_type, exc_value, exc_traceback = sys.exc_info()
@@ -111,7 +111,7 @@ class Command(BaseCommand):
rowers = Rower.objects.filter(nk_auto_import=True)
for r in rowers: # pragma: no cover
dologging("nklog.log","NK Auto import set for rower {id}".format(id=r.user.id))
if user_is_not_basic(r.user):
if user_is_not_basic(r.user) or user_is_coachee(r.user):
dologging("nklog.log","User is not basic")
_ = nkstuff.get_nk_workouts(r)
except: # pragma: no cover

View File

@@ -84,6 +84,10 @@ def user_is_not_basic(user):
if user.rower.protrialexpires >= timezone.now().date():
return True # pragma: no cover
return False
@rules.predicate
def user_is_coachee(user):
coaches = user.rower.get_coaches()
for coach in coaches:
if coach.rowerplan == 'coach':

View File

@@ -13,7 +13,7 @@ from django.db import transaction
import rowers.teams as teams
import rowers.plannedsessions as plannedsessions
from rowers.rower_rules import is_coach_user
from rowers.rower_rules import is_coach_user, user_is_coachee
@override_settings(TESTING=True)
class PlanningPermissionsCoach(TestCase):
@@ -94,6 +94,9 @@ class PlanningPermissionsCoach(TestCase):
athletes = plan.rowers.all()
self.assertTrue(self.rgroupmember in athletes)
def test_coachee_can_sync(self):
self.assertTrue(user_is_coachee(self.ucoachee))
@override_settings(TESTING=True)
class PermissionsFreeCoach(TestCase):