diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index 31129951..2e8e4c5c 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -1259,7 +1259,6 @@ def getsmallrowdata_db(columns, ids=[], doclean=True, workstrokesonly=True, comp df = pd.concat(data, axis=0) except ValueError: # pragma: no cover return pd.DataFrame() - # df = dd.concat(data,axis=0) else: try: diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index a3dc27bf..c1fa8eaf 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -6283,7 +6283,15 @@ def thumbnails_set(r, id, favorites): columns += ['time'] rowdata = dataprep.getsmallrowdata_db(columns, ids=[id], doclean=True) - rowdata.dropna(axis=1, how='all', inplace=True) + try: + rowdata.dropna(axis=1, how='all', inplace=True) + except TypeError: + return [ + {'script': "", + 'div': "", + 'notes': "" + }] + if rowdata.empty: try: @@ -6303,12 +6311,6 @@ def thumbnails_set(r, id, favorites): 'notes': "" }] - # else: - # try: - # rowdata.sort_values(by='time',ascending=True,inplace=True) - # except KeyError: - # pass - lengte = len(rowdata) maxlength = 50 if lengte > maxlength: diff --git a/rowers/models.py b/rowers/models.py index bcbfdf6e..e533f129 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -964,6 +964,7 @@ class Rower(models.Model): # Power Zone Data ftp = models.IntegerField( default=226, verbose_name="Functional Threshold Power") + cogganzones = models.BooleanField(verbose_name='Use Default Power Zones',default=True) p0 = models.FloatField(default=1.0, verbose_name="CP p1") p1 = models.FloatField(default=1.0, verbose_name="CP p2") @@ -997,11 +998,11 @@ class Rower(models.Model): pw_an = models.IntegerField(default=273, verbose_name="AN Power") powerzones = PowerZonesField(default=['Rest', - 'Pwr UT2', - 'Pwr UT1', - 'Pwr AT', - 'Pwr TR', - 'Pwr AN']) + 'Active Recovery', + 'Endurance', + 'Tempo', + 'Threshold', + 'Anaerobic']) hrzones = PowerZonesField(default=['Rest', 'UT2', @@ -4224,7 +4225,7 @@ class RowerExportForm(ModelForm): class RowerPowerForm(ModelForm): class Meta: model = Rower - fields = ['hrftp', 'ftp', 'otwslack'] + fields = ['hrftp', 'ftp', 'otwslack','cogganzones'] class RowerCPForm(ModelForm): diff --git a/rowers/templates/rower_preferences.html b/rowers/templates/rower_preferences.html index 28f27dc2..ba9456ad 100644 --- a/rowers/templates/rower_preferences.html +++ b/rowers/templates/rower_preferences.html @@ -10,6 +10,103 @@
Need help? Click to read the tutorial
Use this form if you want to rename and redefine your power + zones independent of the value of FTP. We recommend, however, that + you leave these values as they are and only change the FTP and OTW + slack values.
+ +
| ID | Zone Name | Lower Boundary (BPM) | 6 | {{ form.hranname }} | {{ form.an }} | -
|---|---|---|
| 7 | {{ form.hrmaxname }} | {{ form.max }} |