Merge branch 'feature/followrower' into develop
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
<div class="grid_12 alpha">
|
<div class="grid_12 alpha">
|
||||||
<div class="grid_2 alpha">
|
<div class="grid_2 alpha">
|
||||||
{% if user.is_authenticated and psdict.id.1|is_session_manager:user %}
|
{% if user.is_authenticated and psdict.id.1|is_session_manager:user %}
|
||||||
<a class="button small gray" href="/rowers/sessions/{{ psdict.id.1 }}/edit">
|
<a class="button small gray" href="/rowers/sessions/{{ psdict.id.1 }}/edit/rower/{{ rower.id }}">
|
||||||
Edit Session</a>
|
Edit Session</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
|
|||||||
@@ -448,6 +448,7 @@ class DataTest(TestCase):
|
|||||||
'duration':'0:55:00.1',
|
'duration':'0:55:00.1',
|
||||||
'distance':8000,
|
'distance':8000,
|
||||||
'notes':'Aap noot \n mies',
|
'notes':'Aap noot \n mies',
|
||||||
|
'weightcategory':'lwt',
|
||||||
'workouttype':'water',
|
'workouttype':'water',
|
||||||
}
|
}
|
||||||
form = WorkoutForm(data=form_data)
|
form = WorkoutForm(data=form_data)
|
||||||
@@ -675,6 +676,7 @@ class ViewTest(TestCase):
|
|||||||
'timezone':'Europe/Berlin',
|
'timezone':'Europe/Berlin',
|
||||||
'duration':'1:00:00.5',
|
'duration':'1:00:00.5',
|
||||||
'distance':'15000',
|
'distance':'15000',
|
||||||
|
'weightcategory':'hwt',
|
||||||
'workouttype':'rower',
|
'workouttype':'rower',
|
||||||
'notes':'noot mies',
|
'notes':'noot mies',
|
||||||
}
|
}
|
||||||
|
|||||||
210
rowers/views.py
210
rowers/views.py
@@ -181,8 +181,36 @@ class JSONResponse(HttpResponse):
|
|||||||
kwargs['content_type'] = 'application/json'
|
kwargs['content_type'] = 'application/json'
|
||||||
super(JSONResponse, self).__init__(content, **kwargs)
|
super(JSONResponse, self).__init__(content, **kwargs)
|
||||||
|
|
||||||
|
def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
|
||||||
|
|
||||||
|
if notpermanent == False:
|
||||||
|
if rowerid == 0 and 'rowerid' in request.session:
|
||||||
|
rowerid = request.session['rowerid']
|
||||||
|
|
||||||
|
if userid != 0:
|
||||||
|
rowerid = 0
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
if rowerid != 0:
|
||||||
|
r = Rower.objects.get(id=rowerid)
|
||||||
|
elif userid != 0:
|
||||||
|
u = User.objects.get(id=userid)
|
||||||
|
r = getrower(u)
|
||||||
|
else:
|
||||||
|
r = getrower(request.user)
|
||||||
|
|
||||||
|
except Rower.DoesNotExist:
|
||||||
|
raise Http404("Rower doesn't exist")
|
||||||
|
|
||||||
|
if not checkaccessuser(request.user,r):
|
||||||
|
raise PermissionDenied("You have no access to this user")
|
||||||
|
|
||||||
|
if notpermanent == False:
|
||||||
|
request.session['rowerid'] = r.id
|
||||||
|
|
||||||
|
return r
|
||||||
|
|
||||||
|
|
||||||
def getrower(user):
|
def getrower(user):
|
||||||
try:
|
try:
|
||||||
@@ -1062,8 +1090,8 @@ def start_plantrial_view(request):
|
|||||||
|
|
||||||
messages.info(request,'We have started your 14 day trial period')
|
messages.info(request,'We have started your 14 day trial period')
|
||||||
|
|
||||||
subject2 = "User started Pro Trial"
|
subject2 = "User started Plan Trial"
|
||||||
message2 = "User Started Pro Trial.\n"
|
message2 = "User Started Plan Trial.\n"
|
||||||
message2 += request.user.email + "\n"
|
message2 += request.user.email + "\n"
|
||||||
message2 += "User name: "+request.user.username
|
message2 += "User name: "+request.user.username
|
||||||
|
|
||||||
@@ -2952,7 +2980,15 @@ def cum_flex(request,theuser=0,
|
|||||||
|
|
||||||
promember=0
|
promember=0
|
||||||
if theuser == 0:
|
if theuser == 0:
|
||||||
theuser = request.user.id
|
if 'rowerid' in request.session:
|
||||||
|
try:
|
||||||
|
r = Rower.objects.get(id=request.session['rowerid'])
|
||||||
|
theuser = r.user.id
|
||||||
|
except Rower.DoesNotExist:
|
||||||
|
theuser = request.user.id
|
||||||
|
else:
|
||||||
|
theuser = request.user.id
|
||||||
|
|
||||||
|
|
||||||
if not request.user.is_anonymous():
|
if not request.user.is_anonymous():
|
||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
@@ -3105,11 +3141,9 @@ def cum_flex(request,theuser=0,
|
|||||||
def fitnessmetric_view(request,id=0,mode='rower',
|
def fitnessmetric_view(request,id=0,mode='rower',
|
||||||
startdate=timezone.now()-timezone.timedelta(days=365),
|
startdate=timezone.now()-timezone.timedelta(days=365),
|
||||||
enddate=timezone.now()):
|
enddate=timezone.now()):
|
||||||
if id==0:
|
|
||||||
id = request.user.id
|
|
||||||
|
|
||||||
theuser = User.objects.get(id=id)
|
therower = getrequestrower(request,userid=id)
|
||||||
therower = Rower.objects.get(user=theuser)
|
theuser = therower.user
|
||||||
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@@ -3275,8 +3309,9 @@ def histo(request,theuser=0,
|
|||||||
startdate = s
|
startdate = s
|
||||||
|
|
||||||
promember=0
|
promember=0
|
||||||
if theuser == 0:
|
r = getrequestrower(request,userid=theuser)
|
||||||
theuser = request.user.id
|
theuser = r.user.id
|
||||||
|
|
||||||
|
|
||||||
if not request.user.is_anonymous():
|
if not request.user.is_anonymous():
|
||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
@@ -4348,7 +4383,14 @@ def otwrankings_view(request,theuser=0,
|
|||||||
startdate = s
|
startdate = s
|
||||||
|
|
||||||
if theuser == 0:
|
if theuser == 0:
|
||||||
theuser = request.user.id
|
if 'rowerid' in request.session:
|
||||||
|
try:
|
||||||
|
r = Rower.objects.get(id=request.session['rowerid'])
|
||||||
|
theuser = r.user.id
|
||||||
|
except Rower.DoesNotExist:
|
||||||
|
theuser = request.user.id
|
||||||
|
else:
|
||||||
|
theuser = request.user.id
|
||||||
|
|
||||||
promember=0
|
promember=0
|
||||||
if not request.user.is_anonymous():
|
if not request.user.is_anonymous():
|
||||||
@@ -4402,6 +4444,7 @@ def otwrankings_view(request,theuser=0,
|
|||||||
# get all 2k (if any) - this rower, in date range
|
# get all 2k (if any) - this rower, in date range
|
||||||
try:
|
try:
|
||||||
r = Rower.objects.get(user=theuser)
|
r = Rower.objects.get(user=theuser)
|
||||||
|
request.session['rowerid'] = r.id
|
||||||
except Rower.DoesNotExist:
|
except Rower.DoesNotExist:
|
||||||
raise Http404("Rower doesn't exist")
|
raise Http404("Rower doesn't exist")
|
||||||
|
|
||||||
@@ -4624,7 +4667,15 @@ def oterankings_view(request,theuser=0,
|
|||||||
startdate = s
|
startdate = s
|
||||||
|
|
||||||
if theuser == 0:
|
if theuser == 0:
|
||||||
theuser = request.user.id
|
if 'rowerid' in request.session:
|
||||||
|
try:
|
||||||
|
r = Rower.objects.get(id=request.session['rowerid'])
|
||||||
|
theuser = r.user.id
|
||||||
|
except Rower.DoesNotExist:
|
||||||
|
theuser = request.user.id
|
||||||
|
else:
|
||||||
|
theuser = request.user.id
|
||||||
|
|
||||||
|
|
||||||
promember=0
|
promember=0
|
||||||
if not request.user.is_anonymous():
|
if not request.user.is_anonymous():
|
||||||
@@ -4678,6 +4729,7 @@ def oterankings_view(request,theuser=0,
|
|||||||
# get all 2k (if any) - this rower, in date range
|
# get all 2k (if any) - this rower, in date range
|
||||||
try:
|
try:
|
||||||
r = Rower.objects.get(user=theuser)
|
r = Rower.objects.get(user=theuser)
|
||||||
|
request.session['rowerid'] = r.id
|
||||||
except Rower.DoesNotExist:
|
except Rower.DoesNotExist:
|
||||||
allergworkouts = []
|
allergworkouts = []
|
||||||
raise Http404("Rower doesn't exist")
|
raise Http404("Rower doesn't exist")
|
||||||
@@ -5495,13 +5547,8 @@ def user_multiflex_select(request,
|
|||||||
enddate=timezone.now(),
|
enddate=timezone.now(),
|
||||||
userid=0):
|
userid=0):
|
||||||
|
|
||||||
if userid == 0:
|
r = getrequestrower(request,userid=userid)
|
||||||
user = request.user
|
user = r.user
|
||||||
else:
|
|
||||||
user = User.objects.get(id=userid)
|
|
||||||
|
|
||||||
|
|
||||||
r = getrower(user)
|
|
||||||
|
|
||||||
if 'options' in request.session:
|
if 'options' in request.session:
|
||||||
options = request.session['options']
|
options = request.session['options']
|
||||||
@@ -6034,13 +6081,8 @@ def user_boxplot_select(request,
|
|||||||
},
|
},
|
||||||
userid=0):
|
userid=0):
|
||||||
|
|
||||||
if userid == 0:
|
r = getrequestrower(request,userid=userid)
|
||||||
user = request.user
|
user = r.user
|
||||||
else:
|
|
||||||
user = User.objects.get(id=userid)
|
|
||||||
|
|
||||||
|
|
||||||
r = getrower(user)
|
|
||||||
|
|
||||||
if 'options' in request.session:
|
if 'options' in request.session:
|
||||||
options = request.session['options']
|
options = request.session['options']
|
||||||
@@ -6425,17 +6467,7 @@ def workouts_view(request,message='',successmessage='',
|
|||||||
teamid=0,rankingonly=False,rowerid=0,userid=0):
|
teamid=0,rankingonly=False,rowerid=0,userid=0):
|
||||||
|
|
||||||
request.session['referer'] = absolute(request)['PATH']
|
request.session['referer'] = absolute(request)['PATH']
|
||||||
try:
|
r = getrequestrower(request,rowerid=rowerid,userid=userid)
|
||||||
if rowerid != 0:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
elif userid != 0:
|
|
||||||
u = User.objects.get(id=userid)
|
|
||||||
r = getrower(u)
|
|
||||||
else:
|
|
||||||
r = getrower(request.user)
|
|
||||||
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("Rower doesn't exist")
|
|
||||||
|
|
||||||
# check if access is allowed
|
# check if access is allowed
|
||||||
if not checkaccessuser(request.user,r):
|
if not checkaccessuser(request.user,r):
|
||||||
@@ -7574,7 +7606,15 @@ def cumstats(request,theuser=0,
|
|||||||
|
|
||||||
promember=0
|
promember=0
|
||||||
if theuser == 0:
|
if theuser == 0:
|
||||||
theuser = request.user.id
|
if 'rowerid' in request.session:
|
||||||
|
try:
|
||||||
|
r = Rower.objects.get(id=request.session['rowerid'])
|
||||||
|
theuser = r.user.id
|
||||||
|
except Rower.DoesNotExist:
|
||||||
|
theuser = request.user.id
|
||||||
|
else:
|
||||||
|
theuser = request.user.id
|
||||||
|
|
||||||
|
|
||||||
if not request.user.is_anonymous():
|
if not request.user.is_anonymous():
|
||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
@@ -7698,7 +7738,8 @@ def cumstats(request,theuser=0,
|
|||||||
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
|
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
|
||||||
|
|
||||||
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
|
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
|
||||||
|
|
||||||
|
request.session['rowerid'] = r.id
|
||||||
|
|
||||||
if datadf.empty:
|
if datadf.empty:
|
||||||
stats = {}
|
stats = {}
|
||||||
@@ -11190,12 +11231,7 @@ def rower_exportsettings_view(request):
|
|||||||
# Add email address to form so user can change his email address
|
# Add email address to form so user can change his email address
|
||||||
@login_required()
|
@login_required()
|
||||||
def rower_edit_view(request,rowerid=0,message=""):
|
def rower_edit_view(request,rowerid=0,message=""):
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid,notpermanent=True)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You have no access to these user settings")
|
|
||||||
|
|
||||||
rowerid = r.id
|
rowerid = r.id
|
||||||
|
|
||||||
@@ -12141,16 +12177,8 @@ def plannedsession_multiclone_view(
|
|||||||
rowerid=0,
|
rowerid=0,
|
||||||
startdate=timezone.now()-datetime.timedelta(days=30),
|
startdate=timezone.now()-datetime.timedelta(days=30),
|
||||||
enddate=timezone.now()):
|
enddate=timezone.now()):
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
if 'startdate' in request.session:
|
if 'startdate' in request.session:
|
||||||
startdate = iso8601.parse_date(request.session['startdate'])
|
startdate = iso8601.parse_date(request.session['startdate'])
|
||||||
@@ -12246,15 +12274,8 @@ def plannedsession_multiclone_view(
|
|||||||
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
|
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
|
||||||
redirect_field_name=None)
|
redirect_field_name=None)
|
||||||
def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
|
def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
|
||||||
if rowerid==0:
|
|
||||||
r = getrower(request.user)
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
sessioncreateform = PlannedSessionForm(request.POST)
|
sessioncreateform = PlannedSessionForm(request.POST)
|
||||||
@@ -12349,15 +12370,7 @@ def plannedsession_multicreate_view(request,timeperiod='thisweek',
|
|||||||
|
|
||||||
extrasessions=int(extrasessions)
|
extrasessions=int(extrasessions)
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
sps = get_sessions(r,startdate=startdate,enddate=enddate)
|
sps = get_sessions(r,startdate=startdate,enddate=enddate)
|
||||||
@@ -12720,15 +12733,7 @@ def plannedsessions_coach_view(request,timeperiod='thisweek',
|
|||||||
@login_required()
|
@login_required()
|
||||||
def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
|
def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -12765,15 +12770,7 @@ def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
|
|||||||
@login_required()
|
@login_required()
|
||||||
def plannedsessions_print_view(request,timeperiod='thisweek',rowerid=0):
|
def plannedsessions_print_view(request,timeperiod='thisweek',rowerid=0):
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -12802,15 +12799,7 @@ def plannedsessions_manage_view(request,timeperiod='thisweek',rowerid=0,
|
|||||||
if request.is_ajax():
|
if request.is_ajax():
|
||||||
is_ajax = True
|
is_ajax = True
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -12928,15 +12917,8 @@ def plannedsessions_manage_view(request,timeperiod='thisweek',rowerid=0,
|
|||||||
redirect_field_name=None)
|
redirect_field_name=None)
|
||||||
def plannedsession_clone_view(request,id=0,rowerid=0,
|
def plannedsession_clone_view(request,id=0,rowerid=0,
|
||||||
timeperiod='thisweek'):
|
timeperiod='thisweek'):
|
||||||
if rowerid==0:
|
|
||||||
r = getrower(request.user)
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -12981,16 +12963,8 @@ def plannedsession_clone_view(request,id=0,rowerid=0,
|
|||||||
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
|
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
|
||||||
redirect_field_name=None)
|
redirect_field_name=None)
|
||||||
def plannedsession_edit_view(request,id=0,timeperiod='thisweek',rowerid=0):
|
def plannedsession_edit_view(request,id=0,timeperiod='thisweek',rowerid=0):
|
||||||
|
|
||||||
if rowerid==0:
|
r = getrequestrower(request,rowerid=rowerid)
|
||||||
r = getrower(request.user)
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
r = Rower.objects.get(id=rowerid)
|
|
||||||
except Rower.DoesNotExist:
|
|
||||||
raise Http404("This rower doesn't exist")
|
|
||||||
if not checkaccessuser(request.user,r):
|
|
||||||
raise PermissionDenied("You don't have access to this plan")
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user