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

@@ -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')