better checks of import/export settings
This commit is contained in:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user