Private
Public Access
1
0

fit file download ok

This commit is contained in:
Sander Roosendaal
2021-02-24 19:49:03 +01:00
parent 197d6c9464
commit 8496178eee
6 changed files with 77 additions and 26 deletions

View File

@@ -9,6 +9,32 @@ from rq import Queue
from redis import Redis
from rq.job import Job
@login_required()
def download_fit(request,filename=''):
r = getrower(request.user)
pss = PlannedSession.objects.filter(fitfile=filename)
print(filename,pss)
if len(pss) != 1:
raise Http404("Could not find the required file")
ps = pss[0]
owns = False
if ps.manager == request.user or request.user.rower in ps.rower.all():
owns = True
if not owns:
raise PermissionDenied("You are not allowed to download this file")
fitfile = ps.fitfile
response = HttpResponse(fitfile)
response['Content-Disposition'] = 'attachment; filename="%s"' % filename
response['Content-Type'] = 'application/octet-stream'
return response
@login_required()
def failed_queue_view(request):
if not request.user.is_staff:

View File

@@ -435,6 +435,7 @@ def plannedsession_create_view(request,
sessiontype = cd['sessiontype']
sessionmode = cd['sessionmode']
criterium = cd['criterium']
sessionsport = cd['sessionsport']
sessionvalue = cd['sessionvalue']
sessionunit = cd['sessionunit']
comment = cd['comment']
@@ -461,6 +462,7 @@ def plannedsession_create_view(request,
sessionmode=sessionmode,
sessionvalue=sessionvalue,
sessionunit=sessionunit,
sessionsport=sessionsport,
comment=comment,
criterium=criterium,
interval_string=interval_string,
@@ -761,6 +763,7 @@ def plannedsession_teamcreate_view(request,
criterium = cd['criterium']
sessionvalue = cd['sessionvalue']
sessionunit = cd['sessionunit']
sessionsport = cd['sessionsport']
comment = cd['comment']
course = cd['course']
name = cd['name']
@@ -780,6 +783,7 @@ def plannedsession_teamcreate_view(request,
preferreddate=preferreddate,
sessiontype=sessiontype,
sessionmode=sessionmode,
sessionsport=sessionsport,
sessionvalue=sessionvalue,
sessionunit=sessionunit,
comment=comment,
@@ -2125,6 +2129,7 @@ def plannedsession_view(request,id=0,userid=0):
'psdict': psdict,
'attrs':[
'name','startdate','enddate','preferreddate',
'sessionsport',
'sessiontype',
'sessionmode','criterium',
'sessionvalue','sessionunit','comment',