adding a setting, auto import only for pro and higher
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
from .integrations import SyncIntegration, NoTokenError, create_or_update_syncrecord, get_known_ids
|
from .integrations import SyncIntegration, NoTokenError, create_or_update_syncrecord, get_known_ids
|
||||||
from rowers.models import Rower, User, Workout, TombStone, PlannedSession
|
from rowers.models import Rower, User, Workout, TombStone, PlannedSession
|
||||||
from rowingdata import rowingdata
|
from rowingdata import rowingdata
|
||||||
|
from rowers.rower_rules import user_is_not_basic, user_is_coachee
|
||||||
|
|
||||||
from rowers import mytypes
|
from rowers import mytypes
|
||||||
|
|
||||||
@@ -545,6 +546,9 @@ class IntervalsIntegration(SyncIntegration):
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
def import_activities(self, event, *args, **kwargs):
|
def import_activities(self, event, *args, **kwargs):
|
||||||
|
if not self.rower.intervals_auto_import:
|
||||||
|
return 0
|
||||||
|
if user_is_not_basic(self.rower.user) or user_is_coachee(self.rower.user):
|
||||||
try:
|
try:
|
||||||
record = event["activity"]
|
record = event["activity"]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@@ -558,7 +562,11 @@ class IntervalsIntegration(SyncIntegration):
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
def delete_activities(self, event, *args, **kwargs):
|
def delete_activities(self, event, *args, **kwargs):
|
||||||
|
if not self.rower.intervals_auto_delete:
|
||||||
|
return 0
|
||||||
try:
|
try:
|
||||||
record = event["activity"]
|
record = event["activity"]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
|||||||
@@ -1176,6 +1176,7 @@ class Rower(models.Model):
|
|||||||
intervals_auto_export = models.BooleanField(default=False)
|
intervals_auto_export = models.BooleanField(default=False)
|
||||||
intervals_auto_import = models.BooleanField(default=False)
|
intervals_auto_import = models.BooleanField(default=False)
|
||||||
intervals_delete_plannedsession = models.BooleanField(default=False, verbose_name="Deleting planned session deletes it on intervals.icu")
|
intervals_delete_plannedsession = models.BooleanField(default=False, verbose_name="Deleting planned session deletes it on intervals.icu")
|
||||||
|
intervals_auto_delete = models.BooleanField(default=True, verbose_name="Deleting an activity on intervals.icu deletes it on both")
|
||||||
intervals_resample_to_1s = models.BooleanField(default=False, verbose_name='Resample to 1s on export')
|
intervals_resample_to_1s = models.BooleanField(default=False, verbose_name='Resample to 1s on export')
|
||||||
sporttrackstoken = models.CharField(
|
sporttrackstoken = models.CharField(
|
||||||
default='', max_length=200, blank=True, null=True)
|
default='', max_length=200, blank=True, null=True)
|
||||||
@@ -4676,6 +4677,7 @@ class RowerExportForm(ModelForm):
|
|||||||
'intervals_auto_export',
|
'intervals_auto_export',
|
||||||
'intervals_delete_plannedsession',
|
'intervals_delete_plannedsession',
|
||||||
'intervals_resample_to_1s',
|
'intervals_resample_to_1s',
|
||||||
|
'intervals_auto_delete',
|
||||||
'imports_are_private'
|
'imports_are_private'
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -4703,6 +4705,7 @@ class RowerExportFormIntervals(ModelForm):
|
|||||||
'intervals_auto_import',
|
'intervals_auto_import',
|
||||||
'intervals_auto_export',
|
'intervals_auto_export',
|
||||||
'intervals_resample_to_1s',
|
'intervals_resample_to_1s',
|
||||||
|
'intervals_auto_delete',
|
||||||
'intervals_delete_plannedsession',
|
'intervals_delete_plannedsession',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
Reference in New Issue
Block a user