Merge branch 'develop' into feature/duplicatesprivate
This commit is contained in:
222
rowers/views.py
222
rowers/views.py
@@ -279,17 +279,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
|
||||
@@ -408,7 +430,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:
|
||||
@@ -572,7 +594,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'])
|
||||
@@ -736,7 +758,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:
|
||||
@@ -899,7 +921,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:
|
||||
@@ -1059,7 +1081,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:
|
||||
@@ -1167,7 +1189,7 @@ def workout_gpxemail_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:
|
||||
@@ -1207,7 +1229,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:
|
||||
@@ -1242,7 +1264,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)
|
||||
@@ -1300,7 +1322,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"
|
||||
@@ -1721,14 +1743,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
|
||||
@@ -1746,7 +1768,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
|
||||
@@ -1756,7 +1778,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
|
||||
@@ -1771,7 +1793,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,
|
||||
)
|
||||
@@ -1780,7 +1802,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
|
||||
@@ -1795,7 +1817,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,
|
||||
)
|
||||
@@ -1804,7 +1826,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
|
||||
@@ -1838,7 +1860,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
|
||||
@@ -1890,7 +1912,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()
|
||||
@@ -1909,7 +1931,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()
|
||||
@@ -1930,7 +1952,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
|
||||
@@ -1953,7 +1975,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
|
||||
@@ -1976,7 +1998,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
|
||||
@@ -2015,7 +2037,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
|
||||
@@ -2026,7 +2048,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)
|
||||
@@ -2099,7 +2121,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
|
||||
@@ -2173,7 +2195,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,
|
||||
@@ -2257,7 +2279,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
|
||||
@@ -2318,7 +2340,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
|
||||
@@ -2371,7 +2393,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
|
||||
@@ -2418,7 +2440,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,
|
||||
@@ -2482,7 +2504,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
|
||||
@@ -2528,7 +2550,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
|
||||
@@ -3068,7 +3090,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:
|
||||
@@ -3127,7 +3149,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")
|
||||
|
||||
@@ -3212,7 +3234,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
|
||||
@@ -3303,10 +3325,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'])
|
||||
@@ -3565,7 +3585,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")
|
||||
|
||||
@@ -3666,7 +3686,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)
|
||||
@@ -3746,7 +3766,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)
|
||||
@@ -4146,7 +4166,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)
|
||||
@@ -4267,7 +4287,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:
|
||||
@@ -4434,7 +4454,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:
|
||||
@@ -4504,7 +4524,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
|
||||
@@ -4572,7 +4592,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,
|
||||
@@ -4713,7 +4733,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:
|
||||
@@ -4868,7 +4888,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:
|
||||
@@ -4901,7 +4921,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
|
||||
@@ -4936,7 +4956,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
|
||||
@@ -5012,7 +5032,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
|
||||
@@ -5087,7 +5107,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,
|
||||
@@ -5195,12 +5215,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
|
||||
@@ -5239,12 +5259,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
|
||||
@@ -5559,7 +5579,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:
|
||||
@@ -5626,7 +5646,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,
|
||||
@@ -5687,7 +5707,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,
|
||||
@@ -5748,7 +5768,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,
|
||||
@@ -5807,7 +5827,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,
|
||||
@@ -5867,7 +5887,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,
|
||||
@@ -5925,7 +5945,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,
|
||||
@@ -5985,7 +6005,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,
|
||||
@@ -6034,7 +6054,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/")
|
||||
@@ -6047,7 +6067,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)
|
||||
@@ -6084,7 +6104,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/")
|
||||
@@ -6121,7 +6141,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/")
|
||||
@@ -6169,7 +6189,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/")
|
||||
@@ -6182,7 +6202,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)
|
||||
@@ -6218,7 +6238,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)
|
||||
|
||||
@@ -6266,7 +6286,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)
|
||||
@@ -6323,7 +6343,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)
|
||||
@@ -6453,7 +6473,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)
|
||||
@@ -6482,7 +6502,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)
|
||||
@@ -6669,7 +6689,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)
|
||||
@@ -6743,7 +6763,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,
|
||||
@@ -6917,7 +6937,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)
|
||||
@@ -6932,7 +6952,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)
|
||||
@@ -7146,7 +7166,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:
|
||||
@@ -7204,7 +7224,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,
|
||||
@@ -7322,7 +7342,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,
|
||||
@@ -7520,7 +7540,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,
|
||||
@@ -7584,7 +7604,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():
|
||||
@@ -7598,7 +7618,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)
|
||||
@@ -7655,7 +7675,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,
|
||||
@@ -7713,7 +7733,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
|
||||
@@ -7777,7 +7797,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)
|
||||
@@ -7813,7 +7833,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)
|
||||
@@ -7848,7 +7868,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)
|
||||
@@ -8012,7 +8032,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,
|
||||
@@ -8045,7 +8065,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:
|
||||
@@ -8111,7 +8131,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)
|
||||
@@ -8134,7 +8154,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')
|
||||
@@ -8362,7 +8382,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:
|
||||
@@ -8378,7 +8398,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:
|
||||
@@ -8394,7 +8414,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:
|
||||
|
||||
Reference in New Issue
Block a user