Private
Public Access
1
0

better checks of import/export settings

This commit is contained in:
Sander Roosendaal
2020-07-13 21:43:59 +02:00
parent 1de9ed2f09
commit f29c20cfb7
2 changed files with 54 additions and 1 deletions

View File

@@ -5,6 +5,34 @@
{% block main %}
<h1>Import and Export Settings for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
<p>You are currently connected to:
{% if r.c2token %}
Concept2 Logbook,
{% endif %}
{% if r.sporttrackstoken %}
SportTracks,
{% endif %}
{% if r.underarmourtoken %}
Under Armour (MapMyFitness),
{% endif %}
{% if r.tptoken %}
TrainingPeaks,
{% endif %}
{% if r.polartoken %}
Polar,
{% endif %}
{% if r.garmintoken %}
Garmin Connect,
{% endif %}
{% if r.stravatoken %}
Strava,
{% endif %}
{% if r.runkeepertoken %}
Runkeeper.
{% endif %}
Strava,
</p>
{% if form.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.

View File

@@ -298,6 +298,17 @@ def rower_favoritecharts_view(request,userid=0):
@login_required()
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
def rower_exportsettings_view(request,userid=0):
attrtokens = {
'polar_auto_import':'polartoken',
'c2_auto_export':'c2token',
'c2_auto_import':'c2token',
'mapmyfitness_auto_export':'underarmourtoken',
'runkeeper_auto_export':'runkeepertoken',
'sporttracks_auto_export':'sporttrackstoken',
'strava_auto_export':'stravatoken',
'strava_auto_import':'stravatoken',
'trainingpeaks_auto_export':'tptoken',
}
r = getrequestrower(request,userid=userid)
if request.method == 'POST':
form = RowerExportForm(request.POST)
@@ -305,7 +316,21 @@ def rower_exportsettings_view(request,userid=0):
cd = form.cleaned_data
for attr, value in cd.items():
setattr(r, attr, value)
doset = True
try:
tokenname = attrtokens[attr]
if getattr(r, tokenname) == '' or getattr(r, tokenname) == None:
doset = False
except KeyError:
doset = True
if not doset:
before = getattr(r,attr)
if before == value:
doset = True
if doset:
setattr(r, attr, value)
else:
messages.error(request,'Could not set '+attr+'. You need to create the connection first.')
r.save()
messages.info(request,'Settings saved')