Merge branch 'release/v18.2.0'
This commit is contained in:
@@ -2028,7 +2028,7 @@ def handle_nonpainsled(f2, fileformat, summary='',startdatetime='',empowerfirmwa
|
|||||||
return (f2, summary, oarlength, inboard, fileformat, impeller)
|
return (f2, summary, oarlength, inboard, fileformat, impeller)
|
||||||
|
|
||||||
# Create new workout from file and store it in the database
|
# Create new workout from file and store it in the database
|
||||||
# This routine should be used everywhere in views.py
|
# This routine should be used everywhere in views.py
|
||||||
|
|
||||||
def get_workouttype_from_fit(filename,workouttype='water'):
|
def get_workouttype_from_fit(filename,workouttype='water'):
|
||||||
try:
|
try:
|
||||||
@@ -2204,8 +2204,10 @@ def new_workout_from_file(r, f2,
|
|||||||
# Get workout type from fit & tcx
|
# Get workout type from fit & tcx
|
||||||
if (fileformat == 'fit'): # pragma: no cover
|
if (fileformat == 'fit'): # pragma: no cover
|
||||||
workouttype = get_workouttype_from_fit(f2,workouttype=workouttype)
|
workouttype = get_workouttype_from_fit(f2,workouttype=workouttype)
|
||||||
if (fileformat == 'tcx'):
|
#if (fileformat == 'tcx'):
|
||||||
workouttype = get_workouttype_from_tcx(f2,workouttype=workouttype)
|
# workouttype_from_tcx = get_workouttype_from_tcx(f2,workouttype=workouttype)
|
||||||
|
# if workouttype != 'rower' and workouttype_from_tcx not in mytypes.otwtypes:
|
||||||
|
# workouttype = workouttype_from_tcx
|
||||||
|
|
||||||
# handle non-Painsled by converting it to painsled compatible CSV
|
# handle non-Painsled by converting it to painsled compatible CSV
|
||||||
if (fileformat != 'csv'):
|
if (fileformat != 'csv'):
|
||||||
|
|||||||
@@ -998,6 +998,12 @@ class Rower(models.Model):
|
|||||||
choices=landingpages2,
|
choices=landingpages2,
|
||||||
verbose_name="Alternative Landing Page")
|
verbose_name="Alternative Landing Page")
|
||||||
|
|
||||||
|
defaultlandingpage3 = models.CharField(default='workout_view',
|
||||||
|
max_length=200,
|
||||||
|
choices=landingpages2,
|
||||||
|
verbose_name="Title link on workout list")
|
||||||
|
|
||||||
|
|
||||||
# Access tokens
|
# Access tokens
|
||||||
c2token = models.CharField(default='',max_length=200,blank=True,null=True)
|
c2token = models.CharField(default='',max_length=200,blank=True,null=True)
|
||||||
tokenexpirydate = models.DateTimeField(blank=True,null=True)
|
tokenexpirydate = models.DateTimeField(blank=True,null=True)
|
||||||
@@ -4285,6 +4291,7 @@ class AccountRowerForm(ModelForm):
|
|||||||
'usersmooth',
|
'usersmooth',
|
||||||
'defaultlandingpage',
|
'defaultlandingpage',
|
||||||
'defaultlandingpage2',
|
'defaultlandingpage2',
|
||||||
|
'defaultlandingpage3',
|
||||||
'offercoaching','autojoin','emailalternatives']
|
'offercoaching','autojoin','emailalternatives']
|
||||||
|
|
||||||
widgets = {
|
widgets = {
|
||||||
|
|||||||
@@ -246,11 +246,16 @@ def get_polar_workouts(user):
|
|||||||
try:
|
try:
|
||||||
workouttype = mytypes.polaraccesslink_sports[exercise_dict['detailed-sport-info']]
|
workouttype = mytypes.polaraccesslink_sports[exercise_dict['detailed-sport-info']]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
dologging('polar.log',exercise_dict['detailed-sport-info'])
|
||||||
|
dologging('polar.log',workouttype)
|
||||||
try:
|
try:
|
||||||
workouttype = mytypes.polarmappinginv[exercise_dict['sport'].lower()]
|
workouttype = mytypes.polarmappinginv[exercise_dict['sport'].lower()]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
dologging('polar.log',workouttype)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
dologging('polar.log',workouttype)
|
||||||
|
|
||||||
|
|
||||||
# post file to upload api
|
# post file to upload api
|
||||||
# TODO: add workouttype
|
# TODO: add workouttype
|
||||||
|
|||||||
@@ -90,8 +90,8 @@
|
|||||||
{% if workout.name != '' %}
|
{% if workout.name != '' %}
|
||||||
<h3>
|
<h3>
|
||||||
<a
|
<a
|
||||||
href={% url rower.defaultlandingpage id=workout.id|encode %}
|
href={% url rower.defaultlandingpage3 id=workout.id|encode %}
|
||||||
title="{{ rower.defaultlandingpage|verbose }}">
|
title="{{ rower.defaultlandingpage3|verbose }}">
|
||||||
{{ workout.name }}
|
{{ workout.name }}
|
||||||
</a>
|
</a>
|
||||||
</h3>
|
</h3>
|
||||||
|
|||||||
@@ -10,13 +10,6 @@
|
|||||||
<h1>Change Workflow Page Layout for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
<h1>Change Workflow Page Layout for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
||||||
|
|
||||||
<ul class="main-content">
|
<ul class="main-content">
|
||||||
{% if workoutid %}
|
|
||||||
<li class="grid_4">
|
|
||||||
<p>
|
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workoutid }}/workflow/">Return to Workout</a>
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
<li>
|
<li>
|
||||||
<p>On this page, you can configure the content of your "Workflow" page
|
<p>On this page, you can configure the content of your "Workflow" page
|
||||||
for each workout. If you want to remove an element, change it to "None".
|
for each workout. If you want to remove an element, change it to "None".
|
||||||
@@ -32,15 +25,13 @@
|
|||||||
<input class="grid_2 alpha button" type="submit" value="Save">
|
<input class="grid_2 alpha button" type="submit" value="Save">
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
|
{% if workoutid %}
|
||||||
<li>
|
<li>
|
||||||
{% if rower.defaultlandingpage == 'workout_edit_view' %}
|
<p>
|
||||||
<p>Default landing page is Edit View. Set default landing page to</p>
|
<a class="button" href="/rowers/workout/{{ workoutid }}/workflow/">Return to Workout</a>
|
||||||
<a class="button small" href="/rowers/me/workflowdefault/">Workflow View</a>
|
</p>
|
||||||
{% else %}
|
|
||||||
<p>Default landing page is Workflow View. Set default landing page to</p>
|
|
||||||
<a class="button small" href="/rowers/me/workflowdefault/">Edit View</a>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
</li>
|
||||||
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -789,7 +789,7 @@ def mocked_requests(*args, **kwargs):
|
|||||||
"has-route": True,
|
"has-route": True,
|
||||||
"club-id": 999,
|
"club-id": 999,
|
||||||
"club-name": "Polar Club",
|
"club-name": "Polar Club",
|
||||||
"detailed-sport-info": "WATERSPORTS_WATERSKI",
|
"detailed-sport-info": "WALKING",
|
||||||
"fat-percentage": 60,
|
"fat-percentage": 60,
|
||||||
"carbohydrate-percentage": 38,
|
"carbohydrate-percentage": 38,
|
||||||
"protein-percentage": 2
|
"protein-percentage": 2
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ class UserPreferencesTest(TestCase):
|
|||||||
'usersmooth':2,
|
'usersmooth':2,
|
||||||
'defaultlandingpage':'workout_edit_view',
|
'defaultlandingpage':'workout_edit_view',
|
||||||
'defaultlandingpage2':'workout_delete',
|
'defaultlandingpage2':'workout_delete',
|
||||||
|
'defaultlandingpage3': 'workout_view',
|
||||||
'first_name': self.u.first_name,
|
'first_name': self.u.first_name,
|
||||||
'last_name': self.u.last_name,
|
'last_name': self.u.last_name,
|
||||||
'email':self.u.email
|
'email':self.u.email
|
||||||
|
|||||||
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