Private
Public Access
1
0

creates Rower object if user doesn't have it

This commit is contained in:
Sander Roosendaal
2017-06-07 17:52:00 -07:00
parent ad7ba8cb04
commit 2cb4841e8c

View File

@@ -277,17 +277,39 @@ from rowers.models import checkworkoutuser
# Check if a user is a Coach member
def iscoachmember(user):
if not user.is_anonymous():
r = Rower.objects.get(user=user)
try:
r = Rower.objects.get(user=user)
except Rower.DoesNotExist:
r = Rower(user=user)
r.save()
result = user.is_authenticated() and (r.rowerplan=='coach')
else:
result = False
return result
def getrower(user):
if not user.is_anonymous():
try:
r = Rower.objects.get(user=user)
except Rower.DoesNotExist:
r = Rower(user=user)
r.save()
else:
raise PermissionDenied("You need to log in to use this function")
return r
# Check if a user is a Pro member
def ispromember(user):
if not user.is_anonymous():
r = Rower.objects.get(user=user)
try:
r = Rower.objects.get(user=user)
except Rower.DoesNotExists:
r = Rower(user=user)
r.save()
result = user.is_authenticated() and (r.rowerplan=='pro' or r.rowerplan=='coach')
else:
result = False
@@ -406,7 +428,7 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
except:
thetimezone = 'UTC'
r = Rower.objects.get(user=user)
r = getrower(user)
try:
rowdatetime = iso8601.parse_date(data['date_utc'])
except KeyError:
@@ -570,7 +592,7 @@ def add_workout_from_runkeeperdata(user,importid,data):
except:
utcoffset = 0
r = Rower.objects.get(user=user)
r = getrower(user)
try:
rowdatetime = iso8601.parse_date(data['start_time'])
@@ -734,7 +756,7 @@ def add_workout_from_stdata(user,importid,data):
except:
thetimezone = 'UTC'
r = Rower.objects.get(user=user)
r = getrower(user)
try:
rowdatetime = iso8601.parse_date(data['start_time'])
except iso8601.ParseError:
@@ -897,7 +919,7 @@ def add_workout_from_underarmourdata(user,importid,data):
except:
thetimezone = 'UTC'
r = Rower.objects.get(user=user)
r = getrower(user)
try:
rowdatetime = iso8601.parse_date(data['start_datetime'])
except iso8601.ParseError:
@@ -1057,7 +1079,7 @@ def add_workout_from_underarmourdata(user,importid,data):
def workout_tcxemail_view(request,id=0):
message = ""
successmessage = ""
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
@@ -1120,7 +1142,7 @@ def workout_tcxemail_view(request,id=0):
@login_required()
def workout_csvemail_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
@@ -1160,7 +1182,7 @@ def workout_csvemail_view(request,id=0):
@login_required()
def workout_csvtoadmin_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
@@ -1195,7 +1217,7 @@ def workout_csvtoadmin_view(request,id=0):
@login_required()
def workout_tp_upload_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = -1
try:
thetoken = tp_open(r.user)
@@ -1253,7 +1275,7 @@ def workout_tp_upload_view(request,id=0):
@login_required()
def workout_strava_upload_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = -1
if (r.stravatoken == '') or (r.stravatoken is None):
s = "Token doesn't exist. Need to authorize"
@@ -1674,14 +1696,14 @@ def rower_tp_authorize(request):
# Concept2 token refresh. URL for manual refresh. Not visible to users
@login_required()
def rower_c2_token_refresh(request):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = c2stuff.do_refresh_token(r.c2refreshtoken)
if res[0] != None:
access_token = res[0]
expires_in = res[1]
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.c2token = access_token
r.tokenexpirydate = expirydatetime
r.c2refreshtoken = refresh_token
@@ -1699,7 +1721,7 @@ def rower_c2_token_refresh(request):
# Underarmour token refresh. URL for manual refresh. Not visible to users
@login_required()
def rower_underarmour_token_refresh(request):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = underarmourstuff.do_refresh_token(
r.underarmourrefreshtoken,
r.underarmourtoken
@@ -1709,7 +1731,7 @@ def rower_underarmour_token_refresh(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.underarmourtoken = access_token
r.underarmourtokenexpirydate = expirydatetime
r.underarmourrefreshtoken = refresh_token
@@ -1724,7 +1746,7 @@ def rower_underarmour_token_refresh(request):
# TrainingPeaks token refresh. URL for manual refresh. Not visible to users
@login_required()
def rower_tp_token_refresh(request):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = tpstuff.do_refresh_token(
r.tprefreshtoken,
)
@@ -1733,7 +1755,7 @@ def rower_tp_token_refresh(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.tptoken = access_token
r.tptokenexpirydate = expirydatetime
r.tprefreshtoken = refresh_token
@@ -1748,7 +1770,7 @@ def rower_tp_token_refresh(request):
# SportTracks token refresh. URL for manual refresh. Not visible to users
@login_required()
def rower_sporttracks_token_refresh(request):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = sporttracksstuff.do_refresh_token(
r.sporttracksrefreshtoken,
)
@@ -1757,7 +1779,7 @@ def rower_sporttracks_token_refresh(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.sporttrackstoken = access_token
r.sporttrackstokenexpirydate = expirydatetime
r.sporttracksrefreshtoken = refresh_token
@@ -1791,7 +1813,7 @@ def rower_process_callback(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.c2token = access_token
r.tokenexpirydate = expirydatetime
r.c2refreshtoken = refresh_token
@@ -1843,7 +1865,7 @@ def rower_process_stravacallback(request):
if res[0]:
access_token = res[0]
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.stravatoken = access_token
r.save()
@@ -1862,7 +1884,7 @@ def rower_process_runkeepercallback(request):
code = request.GET['code']
access_token = runkeeperstuff.get_token(code)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.runkeepertoken = access_token
r.save()
@@ -1883,7 +1905,7 @@ def rower_process_sporttrackscallback(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.sporttrackstoken = access_token
r.sporttrackstokenexpirydate = expirydatetime
r.sporttracksrefreshtoken = refresh_token
@@ -1906,7 +1928,7 @@ def rower_process_underarmourcallback(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.underarmourtoken = access_token
r.underarmourtokenexpirydate = expirydatetime
r.underarmourrefreshtoken = refresh_token
@@ -1929,7 +1951,7 @@ def rower_process_tpcallback(request):
refresh_token = res[2]
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.tptoken = access_token
r.tptokenexpirydate = expirydatetime
r.tprefreshtoken = refresh_token
@@ -1968,7 +1990,7 @@ def histo_all(request,theuser=0):
theuser = request.user.id
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -1979,7 +2001,7 @@ def histo_all(request,theuser=0):
# get all indoor rows of past 12 months
ayearago = timezone.now()-datetime.timedelta(days=365)
try:
r2 = Rower.objects.get(user=theuser)
r2 = getrower(theuser)
allergworkouts = Workout.objects.filter(user=r2,
workouttype__in=['rower','dynamic','slides'],
startdatetime__gte=ayearago)
@@ -2052,7 +2074,7 @@ def cum_flex(request,theuser=0,
theuser = request.user.id
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2126,7 +2148,7 @@ def cum_flex(request,theuser=0,
deltaform = DeltaDaysForm()
optionsform = StatsOptionsForm()
try:
r2 = Rower.objects.get(user=theuser)
r2 = getrower(theuser)
allworkouts = Workout.objects.filter(user=r2,
workouttype__in=workouttypes,
startdatetime__gte=startdate,
@@ -2210,7 +2232,7 @@ def workout_forcecurve_view(request,id=0,workstrokesonly=False):
promember=0
mayedit=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2271,7 +2293,7 @@ def workout_histo_view(request,id=0):
promember=0
mayedit=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2324,7 +2346,7 @@ def histo(request,theuser=0,
theuser = request.user.id
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2371,7 +2393,7 @@ def histo(request,theuser=0,
deltaform = DeltaDaysForm()
try:
r2 = Rower.objects.get(user=theuser)
r2 = getrower(theuser)
allergworkouts = Workout.objects.filter(user=r2,
workouttype__in=['rower','dynamic','slides'],
startdatetime__gte=startdate,
@@ -2435,7 +2457,7 @@ def rankings_view(request,theuser=0,
promember=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2481,7 +2503,7 @@ def rankings_view(request,theuser=0,
# get all 2k (if any) - this rower, in date range
try:
r = Rower.objects.get(user=theuser)
r = getrower(theuser)
except Rower.DoesNotExist:
allergworkouts = []
r=0
@@ -2762,7 +2784,7 @@ def workout_makepublic_view(request,id,
row.privacy = 'visible'
row.save()
rr = Rower.objects.get(user=request.user)
rr = getrower(request.user)
teams = rr.team.all()
for team in teams:
@@ -2821,7 +2843,7 @@ def team_comparison_select(request,
teamid=0):
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
except Rower.DoesNotExist:
raise Http404("Rower doesn't exist")
@@ -2906,7 +2928,7 @@ def team_comparison_select(request,
def multi_compare_view(request):
promember=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -2997,10 +3019,8 @@ def user_boxplot_select(request,
else:
user = User.objects.get(id=userid)
try:
r = Rower.objects.get(user=user)
except Rower.DoesNotExist:
raise Http404("Rower doesn't exist")
r = getrower(user)
if 'startdate' in request.session:
startdate = iso8601.parse_date(request.session['startdate'])
@@ -3259,7 +3279,7 @@ def workouts_view(request,message='',successmessage='',
enddate=timezone.now()+datetime.timedelta(days=1),
teamid=0):
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
except Rower.DoesNotExist:
raise Http404("Rower doesn't exist")
@@ -3360,7 +3380,7 @@ def workout_comparison_list(request,id=0,message='',successmessage='',
enddate=timezone.now()):
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
u = User.objects.get(id=r.user.id)
if request.method == 'POST':
dateform = DateRangeForm(request.POST)
@@ -3440,7 +3460,7 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
enddate=timezone.now()):
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
u = User.objects.get(id=r.user.id)
if request.method == 'POST':
dateform = DateRangeForm(request.POST)
@@ -3840,7 +3860,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""):
# get data
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
# create bearing
rowdata = rdata(f1)
@@ -3961,7 +3981,7 @@ def workout_stream_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
rowdata = rdata(f1)
if rowdata == 0:
@@ -4128,7 +4148,7 @@ def workout_geeky_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
# create interactive plot
try:
@@ -4198,7 +4218,7 @@ def cumstats(request,theuser=0,
theuser = request.user.id
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -4266,7 +4286,7 @@ def cumstats(request,theuser=0,
optionsform = StatsOptionsForm()
try:
r2 = Rower.objects.get(user=theuser)
r2 = getrower(theuser)
allergworkouts = Workout.objects.filter(user=r2,
workouttype__in=workouttypes,
startdatetime__gte=startdate,
@@ -4407,7 +4427,7 @@ def cumstats(request,theuser=0,
@login_required()
def workout_stats_view(request,id=0,message="",successmessage=""):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
@@ -4562,7 +4582,7 @@ def workout_advanced_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
# create interactive plot
try:
@@ -4595,7 +4615,7 @@ def workout_advanced_view(request,id=0,message="",successmessage=""):
def workout_comparison_view(request,id1=0,id2=0,xparam='distance',yparam='spm'):
promember=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -4630,7 +4650,7 @@ def workout_comparison_view2(request,id1=0,id2=0,xparam='distance',
yparam='spm',plottype='line'):
promember=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -4706,7 +4726,7 @@ def workout_flexchart3_view(request,*args,**kwargs):
promember=0
mayedit=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -4781,7 +4801,7 @@ def workout_flexchart3_view(request,*args,**kwargs):
if not request.user.is_anonymous():
workstrokesonly = request.POST['workstrokesonlysave']
reststrokes = not workstrokesonly
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
f = FavoriteChart(user=r,xparam=xparam,
yparam1=yparam1,yparam2=yparam2,
plottype=plottype,workouttype=workouttype,
@@ -4889,12 +4909,12 @@ def workout_biginteractive_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
# r = Rower.objects.get(user=u)
# r = getrower(u)
promember=0
mayedit=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -4933,12 +4953,12 @@ def workout_otwpowerplot_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
# r = Rower.objects.get(user=u)
# r = getrower(u)
promember=0
mayedit=0
if not request.user.is_anonymous():
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
result = request.user.is_authenticated() and ispromember(request.user)
if result:
promember=1
@@ -5247,7 +5267,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
# create interactive plot
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
rowdata = rdata(f1)
hascoordinates = 1
if rowdata != 0:
@@ -5314,7 +5334,7 @@ def workout_add_otw_powerplot_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -5375,7 +5395,7 @@ def workout_add_piechart_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
@@ -5436,7 +5456,7 @@ def workout_add_power_piechart_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
@@ -5495,7 +5515,7 @@ def workout_add_timeplot_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -5555,7 +5575,7 @@ def workout_add_distanceplot_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -5613,7 +5633,7 @@ def workout_add_distanceplot2_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -5673,7 +5693,7 @@ def workout_add_timeplot2_view(request,id):
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -5722,7 +5742,7 @@ def workout_stravaimport_view(request,message=""):
res = stravastuff.get_strava_workout_list(request.user)
if (res.status_code != 200):
if (res.status_code == 401):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if (r.stravatoken == '') or (r.stravatoken is None):
s = "Token doesn't exist. Need to authorize"
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
@@ -5735,7 +5755,7 @@ def workout_stravaimport_view(request,message=""):
return HttpResponseRedirect(url)
else:
workouts = []
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
stravaids = [int(item['id']) for item in res.json()]
knownstravaids = uniqify([
w.uploadedtostrava for w in Workout.objects.filter(user=r)
@@ -5772,7 +5792,7 @@ def workout_runkeeperimport_view(request,message=""):
res = runkeeperstuff.get_runkeeper_workout_list(request.user)
if (res.status_code != 200):
if (res.status_code == 401):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if (r.runkeepertoken == '') or (r.runkeepertoken is None):
s = "Token doesn't exist. Need to authorize"
return HttpResponseRedirect("/rowers/me/runkeeperauthorize/")
@@ -5809,7 +5829,7 @@ def workout_underarmourimport_view(request,message=""):
res = underarmourstuff.get_underarmour_workout_list(request.user)
if (res.status_code != 200):
if (res.status_code == 401):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if (r.underarmourtoken == '') or (r.underarmourtoken is None):
s = "Token doesn't exist. Need to authorize"
return HttpResponseRedirect("/rowers/me/underarmourauthorize/")
@@ -5857,7 +5877,7 @@ def workout_sporttracksimport_view(request,message=""):
res = sporttracksstuff.get_sporttracks_workout_list(request.user)
if (res.status_code != 200):
if (res.status_code == 401):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if (r.sporttrackstoken == '') or (r.sporttrackstoken is None):
s = "Token doesn't exist. Need to authorize"
return HttpResponseRedirect("/rowers/me/sporttracksauthorize/")
@@ -5870,7 +5890,7 @@ def workout_sporttracksimport_view(request,message=""):
return HttpResponseRedirect(url)
else:
workouts = []
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
stids = [int(getidfromsturi(item['uri'])) for item in res.json()['items']]
knownstids = uniqify([
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
@@ -5906,7 +5926,7 @@ def c2listdebug_view(request,message=""):
except C2NoTokenError:
return HttpResponseRedirect("/rowers/me/c2authorize/")
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
res = c2stuff.get_c2_workout_list(request.user)
@@ -5954,7 +5974,7 @@ def workout_getc2workout_all(request,message=""):
message = "Something went wrong in workout_c2import_view (C2 token refresh)"
messages.error(request,message)
else:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
c2ids = [item['id'] for item in res.json()['data']]
knownc2ids = uniqify([
w.uploadedtoc2 for w in Workout.objects.filter(user=r)
@@ -6011,7 +6031,7 @@ def workout_c2import_view(request,message=""):
return HttpResponseRedirect(url)
else:
workouts = []
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
c2ids = [item['id'] for item in res.json()['data']]
knownc2ids = uniqify([
w.uploadedtoc2 for w in Workout.objects.filter(user=r)
@@ -6141,7 +6161,7 @@ def workout_getsporttracksworkout_view(request,sporttracksid):
def workout_getsporttracksworkout_all(request):
res = sporttracksstuff.get_sporttracks_workout_list(request.user)
if (res.status_code == 200):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
stids = [int(getidfromsturi(item['uri'])) for item in res.json()['items']]
knownstids = uniqify([
w.uploadedtosporttracks for w in Workout.objects.filter(user=r)
@@ -6170,7 +6190,7 @@ def workout_getsporttracksworkout_all(request):
def workout_getstravaworkout_all(request):
res = stravastuff.get_strava_workout_list(request.user)
if (res.status_code == 200):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
stravaids = [int(item['id']) for item in res.json()]
knownstravaids = uniqify([
w.uploadedtostrava for w in Workout.objects.filter(user=r)
@@ -6357,7 +6377,7 @@ def workout_upload_view(request,
except KeyError:
upload_totp = False
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if request.method == 'POST':
form = DocumentsForm(request.POST,request.FILES)
optionsform = UploadOptionsForm(request.POST)
@@ -6431,7 +6451,7 @@ def workout_upload_view(request,
imagename = f1[:-4]+'.png'
fullpathimagename = 'static/plots/'+imagename
u = request.user
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -6605,7 +6625,7 @@ def team_workout_upload_view(request,message="",
make_plot = uploadoptions['make_plot']
plottype = uploadoptions['plottype']
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if request.method == 'POST':
form = DocumentsForm(request.POST,request.FILES)
optionsform = TeamUploadOptionsForm(request.POST)
@@ -6620,7 +6640,7 @@ def team_workout_upload_view(request,message="",
if rowerform.is_valid():
u = rowerform.cleaned_data['user']
if u:
r = Rower.objects.get(user=u)
r = getrower(u)
else:
message = 'Please select a rower'
messages.error(request,message)
@@ -6834,7 +6854,7 @@ def graph_delete_view(request,id=0):
@login_required()
def graphs_view(request):
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
workouts = Workout.objects.filter(user=r).order_by("-date", "-starttime")
query = request.GET.get('q')
if query:
@@ -6892,7 +6912,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""):
# still here - this is a workout we may edit
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -7010,7 +7030,7 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
# still here - this is a workout we may edit
f1 = row.csvfilename
u = row.user.user
r = Rower.objects.get(user=u)
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -7208,7 +7228,7 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
def rower_favoritecharts_view(request):
message = ''
successmessage = ''
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
favorites = FavoriteChart.objects.filter(user=r).order_by('id')
aantal = len(favorites)
favorites_data = [{'yparam1':f.yparam1,
@@ -7272,7 +7292,7 @@ def rower_favoritecharts_view(request):
# Add email address to form so user can change his email address
@login_required()
def rower_edit_view(request,message=""):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
if request.method == 'POST' and "ut2" in request.POST:
form = RowerForm(request.POST)
if form.is_valid():
@@ -7286,7 +7306,7 @@ def rower_edit_view(request,message=""):
an = cd['an']
rest = cd['rest']
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.max = max(min(hrmax,250),10)
r.ut2 = max(min(ut2,250),10)
r.ut1 = max(min(ut1,250),10)
@@ -7343,7 +7363,7 @@ def rower_edit_view(request,message=""):
ftp = cd['ftp']
otwslack = cd['otwslack']
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
powerfrac = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -7401,7 +7421,7 @@ def rower_edit_view(request,message=""):
anname = cd['anname']
powerzones = [ut3name,ut2name,ut1name,atname,trname,anname]
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
r.pw_ut2 = pw_ut2
r.pw_ut1 = pw_ut1
r.pw_at = pw_at
@@ -7465,7 +7485,7 @@ def rower_edit_view(request,message=""):
if len(email):
u.email = email
u.save()
r = Rower.objects.get(user=u)
r = getrower(u)
r.weightcategory = weightcategory
r.save()
form = RowerForm(instance=r)
@@ -7501,7 +7521,7 @@ def rower_edit_view(request,message=""):
else:
try:
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
form = RowerForm(instance=r)
powerform = RowerPowerForm(instance=r)
@@ -7536,7 +7556,7 @@ def rower_revokeapp_view(request,id=0):
for token in refreshtokens:
token.revoke()
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
form = RowerForm(instance=r)
powerform = RowerPowerForm(instance=r)
grants = AccessToken.objects.filter(user=request.user)
@@ -7700,7 +7720,7 @@ def strokedatajson(request,id):
row.csvfilename = csvfilename
row.save()
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
@@ -7733,7 +7753,7 @@ import teams
def team_view(request,id=0):
ismember = 0
hasrequested = 0
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
myteams = Team.objects.filter(manager=request.user)
try:
@@ -7799,7 +7819,7 @@ def team_leaveconfirm_view(request,id=0):
@login_required()
def team_leave_view(request,id=0):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
teams.remove_member(id,r)
url = reverse(rower_teams_view)
@@ -7822,7 +7842,7 @@ def rower_teams_view(request,message='',successmessage=''):
else:
form = TeamInviteCodeForm()
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
ts = Team.objects.filter(rower=r)
myteams = Team.objects.filter(manager=request.user)
otherteams = Team.objects.filter(private='open').exclude(rower=r).exclude(manager=request.user).order_by('name')
@@ -8050,7 +8070,7 @@ def team_create_view(request):
@user_passes_test(iscoachmember,login_url="/",redirect_field_name=None)
def team_deleteconfirm_view(request,id):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
t = Team.objects.get(id=id)
except Team.DoesNotExist:
@@ -8066,7 +8086,7 @@ def team_deleteconfirm_view(request,id):
@user_passes_test(iscoachmember,login_url="/",redirect_field_name=None)
def team_delete_view(request,id):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
t = Team.objects.get(id=id)
except Team.DoesNotExist:
@@ -8082,7 +8102,7 @@ def team_delete_view(request,id):
@user_passes_test(iscoachmember,login_url="/",redirect_field_name=None)
def team_members_stats_view(request,id):
r = Rower.objects.get(user=request.user)
r = getrower(request.user)
try:
t = Team.objects.get(id=id)
except Team.DoesNotExist: