Merge branch 'release/v6.56'
This commit is contained in:
+8
-3
@@ -759,8 +759,10 @@ def create_row_df(r,distance,duration,startdatetime,
|
||||
totalseconds += duration.second
|
||||
totalseconds += duration.microsecond/1.e6
|
||||
|
||||
|
||||
spm = 60.*nr_strokes/totalseconds
|
||||
try:
|
||||
spm = 60.*nr_strokes/totalseconds
|
||||
except ZeroDivisionError:
|
||||
spm = 20.
|
||||
|
||||
step = totalseconds/float(nr_strokes)
|
||||
|
||||
@@ -775,7 +777,10 @@ def create_row_df(r,distance,duration,startdatetime,
|
||||
pace = 500.*totalseconds/distance
|
||||
|
||||
if workouttype in ['rower','slides','dynamic']:
|
||||
velo = distance/totalseconds
|
||||
try:
|
||||
velo = distance/totalseconds
|
||||
except ZeroDivisionError:
|
||||
velo = 2.4
|
||||
power = 2.8*velo**3
|
||||
else:
|
||||
power = 0
|
||||
|
||||
+4
-8
@@ -1233,7 +1233,7 @@ class Workout(models.Model):
|
||||
max_length=100)
|
||||
distance = models.IntegerField(default=0,blank=True)
|
||||
duration = models.TimeField(default=1,blank=True)
|
||||
weightcategory = models.CharField(default="hwt",max_length=10)
|
||||
weightcategory = models.CharField(default="hwt",max_length=10,choices=weightcategories)
|
||||
weightvalue = models.FloatField(default=80.0,blank=True,verbose_name = 'Average Crew Weight (kg)')
|
||||
csvfilename = models.CharField(blank=True,max_length=150)
|
||||
uploadedtoc2 = models.IntegerField(default=0)
|
||||
@@ -1478,10 +1478,10 @@ def auto_delete_image_on_delete(sender,instance, **kwargs):
|
||||
|
||||
# Form to update Workout data
|
||||
class WorkoutForm(ModelForm):
|
||||
duration = forms.TimeInput(format='%H:%M:%S.%f')
|
||||
# duration = forms.TimeInput(format='%H:%M:%S.%f')
|
||||
class Meta:
|
||||
model = Workout
|
||||
fields = ['name','date','starttime','timezone','duration','distance','workouttype','notes','privacy','rankingpiece','boattype']
|
||||
fields = ['name','date','starttime','timezone','duration','distance','workouttype','weightcategory','notes','privacy','rankingpiece','boattype']
|
||||
widgets = {
|
||||
'date': AdminDateWidget(),
|
||||
'notes': forms.Textarea,
|
||||
@@ -1492,11 +1492,6 @@ class WorkoutForm(ModelForm):
|
||||
super(WorkoutForm, self).__init__(*args, **kwargs)
|
||||
# this line to be removed
|
||||
del self.fields['privacy']
|
||||
# self.fields['timezone'] = forms.ChoiceField(choices=[
|
||||
# (x,x) for x in pytz.common_timezones
|
||||
# ],
|
||||
# initial='UTC',
|
||||
# label='Time Zone')
|
||||
|
||||
if self.instance.workouttype != 'water':
|
||||
del self.fields['boattype']
|
||||
@@ -1509,6 +1504,7 @@ class WorkoutForm(ModelForm):
|
||||
'duration',
|
||||
'distance',
|
||||
'workouttype',
|
||||
'weightcategory',
|
||||
'notes',
|
||||
'rankingpiece',
|
||||
'boattype'
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
{% 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>
|
||||
{% else %}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<th>Event</th>
|
||||
<th>Country</th>
|
||||
<th>Course</th>
|
||||
<th>Action</th>
|
||||
<th>Click for Details</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -99,10 +99,8 @@
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th>Boat</th>
|
||||
<th>Raw Time</th>
|
||||
<th>In Class</th>
|
||||
<th>Corrected Time</th>
|
||||
<th>Corrected Place</th>
|
||||
<th>Time</th>
|
||||
<th>Details</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -112,12 +110,15 @@
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ result.workoutid }}">
|
||||
{{ result.username }}</a></td>
|
||||
<td>{{ result.teamname }}</th>
|
||||
<td>{{ result.teamname }}</td>
|
||||
<td>{{ result.age }}</td>
|
||||
<td>{{ result.sex }}</td>
|
||||
<td>{{ result.weightcategory }}</td>
|
||||
<td>{{ result.boattype }}</td>
|
||||
<td>{{ result.duration |durationprint:"%H:%M:%S.%f" }}</td>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ result.workoutid }}">
|
||||
Details</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for result in dns %}
|
||||
|
||||
@@ -85,6 +85,10 @@
|
||||
</div>
|
||||
|
||||
<div class="grid_12 alpha" id="racelist">
|
||||
<p>Click on the event name or on the Details button to see the event
|
||||
details (and manage your participation and results). Click on the
|
||||
course name to see the course details.
|
||||
</p>
|
||||
{% include 'racelist.html' %}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -448,6 +448,7 @@ class DataTest(TestCase):
|
||||
'duration':'0:55:00.1',
|
||||
'distance':8000,
|
||||
'notes':'Aap noot \n mies',
|
||||
'weightcategory':'lwt',
|
||||
'workouttype':'water',
|
||||
}
|
||||
form = WorkoutForm(data=form_data)
|
||||
@@ -675,6 +676,7 @@ class ViewTest(TestCase):
|
||||
'timezone':'Europe/Berlin',
|
||||
'duration':'1:00:00.5',
|
||||
'distance':'15000',
|
||||
'weightcategory':'hwt',
|
||||
'workouttype':'rower',
|
||||
'notes':'noot mies',
|
||||
}
|
||||
|
||||
@@ -254,7 +254,6 @@ urlpatterns = [
|
||||
url(r'^workout/compare/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\w+.*)$',views.workout_comparison_list),
|
||||
url(r'^workout/(?P<id>\d+)/edit$',views.workout_edit_view,
|
||||
name='workout_edit_view'),
|
||||
url(r'^workout/(?P<id>\d+)/navionics$',views.workout_edit_view_navionics),
|
||||
url(r'^workout/(?P<id>\d+)/map$',views.workout_map_view),
|
||||
url(r'^workout/(?P<id>\d+)/setprivate$',views.workout_setprivate_view),
|
||||
url(r'^workout/(?P<id>\d+)/updatecp$',views.workout_update_cp_view),
|
||||
|
||||
+93
-275
@@ -181,7 +181,35 @@ class JSONResponse(HttpResponse):
|
||||
kwargs['content_type'] = 'application/json'
|
||||
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):
|
||||
@@ -1062,8 +1090,8 @@ def start_plantrial_view(request):
|
||||
|
||||
messages.info(request,'We have started your 14 day trial period')
|
||||
|
||||
subject2 = "User started Pro Trial"
|
||||
message2 = "User Started Pro Trial.\n"
|
||||
subject2 = "User started Plan Trial"
|
||||
message2 = "User Started Plan Trial.\n"
|
||||
message2 += request.user.email + "\n"
|
||||
message2 += "User name: "+request.user.username
|
||||
|
||||
@@ -2952,7 +2980,15 @@ def cum_flex(request,theuser=0,
|
||||
|
||||
promember=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():
|
||||
r = getrower(request.user)
|
||||
@@ -3105,11 +3141,9 @@ def cum_flex(request,theuser=0,
|
||||
def fitnessmetric_view(request,id=0,mode='rower',
|
||||
startdate=timezone.now()-timezone.timedelta(days=365),
|
||||
enddate=timezone.now()):
|
||||
if id==0:
|
||||
id = request.user.id
|
||||
|
||||
theuser = User.objects.get(id=id)
|
||||
therower = Rower.objects.get(user=theuser)
|
||||
therower = getrequestrower(request,userid=id)
|
||||
theuser = therower.user
|
||||
|
||||
|
||||
if request.method == 'POST':
|
||||
@@ -3275,8 +3309,9 @@ def histo(request,theuser=0,
|
||||
startdate = s
|
||||
|
||||
promember=0
|
||||
if theuser == 0:
|
||||
theuser = request.user.id
|
||||
r = getrequestrower(request,userid=theuser)
|
||||
theuser = r.user.id
|
||||
|
||||
|
||||
if not request.user.is_anonymous():
|
||||
r = getrower(request.user)
|
||||
@@ -3431,6 +3466,7 @@ def addmanual_view(request):
|
||||
starttime = form.cleaned_data['starttime']
|
||||
workouttype = form.cleaned_data['workouttype']
|
||||
duration = form.cleaned_data['duration']
|
||||
weightcategory = form.cleaned_data['weightcategory']
|
||||
distance = form.cleaned_data['distance']
|
||||
notes = form.cleaned_data['notes']
|
||||
thetimezone = form.cleaned_data['timezone']
|
||||
@@ -3458,6 +3494,7 @@ def addmanual_view(request):
|
||||
|
||||
id,message = dataprep.create_row_df(r,
|
||||
distance,
|
||||
weightcategory,
|
||||
duration,startdatetime,
|
||||
title = name,
|
||||
notes=notes,
|
||||
@@ -4346,7 +4383,14 @@ def otwrankings_view(request,theuser=0,
|
||||
startdate = s
|
||||
|
||||
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
|
||||
if not request.user.is_anonymous():
|
||||
@@ -4400,6 +4444,7 @@ def otwrankings_view(request,theuser=0,
|
||||
# get all 2k (if any) - this rower, in date range
|
||||
try:
|
||||
r = Rower.objects.get(user=theuser)
|
||||
request.session['rowerid'] = r.id
|
||||
except Rower.DoesNotExist:
|
||||
raise Http404("Rower doesn't exist")
|
||||
|
||||
@@ -4622,7 +4667,15 @@ def oterankings_view(request,theuser=0,
|
||||
startdate = s
|
||||
|
||||
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
|
||||
if not request.user.is_anonymous():
|
||||
@@ -4676,6 +4729,7 @@ def oterankings_view(request,theuser=0,
|
||||
# get all 2k (if any) - this rower, in date range
|
||||
try:
|
||||
r = Rower.objects.get(user=theuser)
|
||||
request.session['rowerid'] = r.id
|
||||
except Rower.DoesNotExist:
|
||||
allergworkouts = []
|
||||
raise Http404("Rower doesn't exist")
|
||||
@@ -5493,13 +5547,8 @@ def user_multiflex_select(request,
|
||||
enddate=timezone.now(),
|
||||
userid=0):
|
||||
|
||||
if userid == 0:
|
||||
user = request.user
|
||||
else:
|
||||
user = User.objects.get(id=userid)
|
||||
|
||||
|
||||
r = getrower(user)
|
||||
r = getrequestrower(request,userid=userid)
|
||||
user = r.user
|
||||
|
||||
if 'options' in request.session:
|
||||
options = request.session['options']
|
||||
@@ -6032,13 +6081,8 @@ def user_boxplot_select(request,
|
||||
},
|
||||
userid=0):
|
||||
|
||||
if userid == 0:
|
||||
user = request.user
|
||||
else:
|
||||
user = User.objects.get(id=userid)
|
||||
|
||||
|
||||
r = getrower(user)
|
||||
r = getrequestrower(request,userid=userid)
|
||||
user = r.user
|
||||
|
||||
if 'options' in request.session:
|
||||
options = request.session['options']
|
||||
@@ -6423,17 +6467,7 @@ def workouts_view(request,message='',successmessage='',
|
||||
teamid=0,rankingonly=False,rowerid=0,userid=0):
|
||||
|
||||
request.session['referer'] = absolute(request)['PATH']
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid,userid=userid)
|
||||
|
||||
# check if access is allowed
|
||||
if not checkaccessuser(request.user,r):
|
||||
@@ -7572,7 +7606,15 @@ def cumstats(request,theuser=0,
|
||||
|
||||
promember=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():
|
||||
r = getrower(request.user)
|
||||
@@ -7697,6 +7739,7 @@ def cumstats(request,theuser=0,
|
||||
|
||||
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
|
||||
|
||||
request.session['rowerid'] = r.id
|
||||
|
||||
if datadf.empty:
|
||||
stats = {}
|
||||
@@ -9011,6 +9054,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
|
||||
date = form.cleaned_data['date']
|
||||
starttime = form.cleaned_data['starttime']
|
||||
workouttype = form.cleaned_data['workouttype']
|
||||
weightcategory = form.cleaned_data['weightcategory']
|
||||
duration = form.cleaned_data['duration']
|
||||
distance = form.cleaned_data['distance']
|
||||
notes = form.cleaned_data['notes']
|
||||
@@ -9049,6 +9093,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
|
||||
row.starttime = starttime
|
||||
row.startdatetime = startdatetime
|
||||
row.workouttype = workouttype
|
||||
row.weightcategory = weightcategory
|
||||
row.notes = notes
|
||||
row.duration = duration
|
||||
row.distance = distance
|
||||
@@ -9223,166 +9268,6 @@ def workout_map_view(request,id=0):
|
||||
'mayedit':mayedit,
|
||||
})
|
||||
|
||||
# The basic edit page
|
||||
@login_required()
|
||||
def workout_edit_view_navionics(request,id=0,message="",successmessage=""):
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = USER_LANGUAGE
|
||||
request.session['referer'] = absolute(request)['PATH']
|
||||
|
||||
row = get_workout(id)
|
||||
form = WorkoutForm(instance=row)
|
||||
|
||||
if request.method == 'POST':
|
||||
# Form was submitted
|
||||
form = WorkoutForm(request.POST)
|
||||
if form.is_valid():
|
||||
# Get values from form
|
||||
name = form.cleaned_data['name']
|
||||
date = form.cleaned_data['date']
|
||||
starttime = form.cleaned_data['starttime']
|
||||
workouttype = form.cleaned_data['workouttype']
|
||||
duration = form.cleaned_data['duration']
|
||||
distance = form.cleaned_data['distance']
|
||||
notes = form.cleaned_data['notes']
|
||||
thetimezone = form.cleaned_data['timezone']
|
||||
try:
|
||||
boattype = request.POST['boattype']
|
||||
except KeyError:
|
||||
boattype = Workout.objects.get(id=id).boattype
|
||||
try:
|
||||
privacy = request.POST['privacy']
|
||||
except KeyError:
|
||||
privacy = Workout.objects.get(id=id).privacy
|
||||
try:
|
||||
rankingpiece = form.cleaned_data['rankingpiece']
|
||||
except KeyError:
|
||||
rankingpiece =- Workout.objects.get(id=id).rankingpiece
|
||||
|
||||
startdatetime = (str(date) + ' ' + str(starttime))
|
||||
startdatetime = datetime.datetime.strptime(startdatetime,
|
||||
"%Y-%m-%d %H:%M:%S")
|
||||
startdatetime = timezone.make_aware(startdatetime)
|
||||
startdatetime = startdatetime.astimezone(pytz.timezone(thetimezone))
|
||||
|
||||
|
||||
# check if user is owner of this workout
|
||||
if checkworkoutuser(request.user,row):
|
||||
row.name = name
|
||||
row.date = date
|
||||
row.starttime = starttime
|
||||
row.startdatetime = startdatetime
|
||||
row.workouttype = workouttype
|
||||
row.notes = notes
|
||||
row.duration = duration
|
||||
row.distance = distance
|
||||
row.boattype = boattype
|
||||
row.privacy = privacy
|
||||
row.rankingpiece = rankingpiece
|
||||
row.timezone = thetimezone
|
||||
try:
|
||||
row.save()
|
||||
except IntegrityError:
|
||||
pass
|
||||
# change data in csv file
|
||||
|
||||
r = rdata(row.csvfilename)
|
||||
if r == 0:
|
||||
return HttpResponse("Error: CSV Data File Not Found")
|
||||
r.rowdatetime = startdatetime
|
||||
r.write_csv(row.csvfilename,gzip=True)
|
||||
dataprep.update_strokedata(id,r.df)
|
||||
successmessage = "Changes saved"
|
||||
messages.info(request,successmessage)
|
||||
url = reverse(workout_edit_view,
|
||||
kwargs = {
|
||||
'id':str(row.id),
|
||||
})
|
||||
response = HttpResponseRedirect(url)
|
||||
else:
|
||||
message = "You are not allowed to change this workout"
|
||||
messages.error(request,message)
|
||||
url = reverse(workouts_view)
|
||||
|
||||
response = HttpResponseRedirect(url)
|
||||
|
||||
#else: # form not POSTed
|
||||
form = WorkoutForm(instance=row)
|
||||
|
||||
row = get_workout(id)
|
||||
|
||||
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
|
||||
for i in g:
|
||||
try:
|
||||
width,height = Image.open(i.filename).size
|
||||
i.width = width
|
||||
i.height = height
|
||||
i.save()
|
||||
except:
|
||||
pass
|
||||
|
||||
# check if user is owner of this workout
|
||||
|
||||
comments = WorkoutComment.objects.filter(workout=row)
|
||||
|
||||
aantalcomments = len(comments)
|
||||
|
||||
if (checkworkoutuser(request.user,row)==False):
|
||||
raise PermissionDenied("Access denied")
|
||||
|
||||
# create interactive plot
|
||||
f1 = row.csvfilename
|
||||
u = row.user.user
|
||||
r = getrower(u)
|
||||
rowdata = rdata(f1)
|
||||
hascoordinates = 1
|
||||
if rowdata != 0:
|
||||
try:
|
||||
latitude = rowdata.df[' latitude']
|
||||
if not latitude.std():
|
||||
hascoordinates = 0
|
||||
except KeyError,AttributeError:
|
||||
hascoordinates = 0
|
||||
|
||||
else:
|
||||
hascoordinates = 0
|
||||
|
||||
|
||||
if hascoordinates:
|
||||
mapscript,mapdiv = leaflet_chart2(rowdata.df[' latitude'],
|
||||
rowdata.df[' longitude'],
|
||||
row.name)
|
||||
|
||||
else:
|
||||
mapscript = ""
|
||||
mapdiv = ""
|
||||
|
||||
|
||||
# render page
|
||||
if (len(g)<=3):
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'teams':get_my_teams(request.user),
|
||||
'graphs1':g[0:3],
|
||||
'mapscript':mapscript,
|
||||
'aantalcomments':aantalcomments,
|
||||
'mapdiv':mapdiv,
|
||||
})
|
||||
|
||||
else:
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'teams':get_my_teams(request.user),
|
||||
'workout':row,
|
||||
'graphs1':g[0:3],
|
||||
'graphs2':g[3:6],
|
||||
'mapscript':mapscript,
|
||||
'aantalcomments':aantalcomments,
|
||||
'mapdiv':mapdiv,
|
||||
})
|
||||
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Image upload
|
||||
@login_required()
|
||||
@@ -11346,12 +11231,7 @@ def rower_exportsettings_view(request):
|
||||
# Add email address to form so user can change his email address
|
||||
@login_required()
|
||||
def rower_edit_view(request,rowerid=0,message=""):
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid,notpermanent=True)
|
||||
|
||||
rowerid = r.id
|
||||
|
||||
@@ -12298,15 +12178,7 @@ def plannedsession_multiclone_view(
|
||||
startdate=timezone.now()-datetime.timedelta(days=30),
|
||||
enddate=timezone.now()):
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
if 'startdate' in request.session:
|
||||
startdate = iso8601.parse_date(request.session['startdate'])
|
||||
@@ -12402,15 +12274,8 @@ def plannedsession_multiclone_view(
|
||||
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
|
||||
redirect_field_name=None)
|
||||
def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
|
||||
if rowerid==0:
|
||||
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")
|
||||
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
if request.method == 'POST':
|
||||
sessioncreateform = PlannedSessionForm(request.POST)
|
||||
@@ -12505,15 +12370,7 @@ def plannedsession_multicreate_view(request,timeperiod='thisweek',
|
||||
|
||||
extrasessions=int(extrasessions)
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
sps = get_sessions(r,startdate=startdate,enddate=enddate)
|
||||
@@ -12876,15 +12733,7 @@ def plannedsessions_coach_view(request,timeperiod='thisweek',
|
||||
@login_required()
|
||||
def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
|
||||
@@ -12921,15 +12770,7 @@ def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
|
||||
@login_required()
|
||||
def plannedsessions_print_view(request,timeperiod='thisweek',rowerid=0):
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
|
||||
@@ -12958,15 +12799,7 @@ def plannedsessions_manage_view(request,timeperiod='thisweek',rowerid=0,
|
||||
if request.is_ajax():
|
||||
is_ajax = True
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
|
||||
@@ -13084,15 +12917,8 @@ def plannedsessions_manage_view(request,timeperiod='thisweek',rowerid=0,
|
||||
redirect_field_name=None)
|
||||
def plannedsession_clone_view(request,id=0,rowerid=0,
|
||||
timeperiod='thisweek'):
|
||||
if rowerid==0:
|
||||
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")
|
||||
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
|
||||
@@ -13138,15 +12964,7 @@ def plannedsession_clone_view(request,id=0,rowerid=0,
|
||||
redirect_field_name=None)
|
||||
def plannedsession_edit_view(request,id=0,timeperiod='thisweek',rowerid=0):
|
||||
|
||||
if rowerid==0:
|
||||
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")
|
||||
r = getrequestrower(request,rowerid=rowerid)
|
||||
|
||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user