improved
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
from rowers.views.statements import *
|
||||
from rowers.interactiveplots import sleep
|
||||
from rowers.plannedsessions import is_session_complete
|
||||
from rowers.tasks import send_session_stats
|
||||
|
||||
from rq import Queue
|
||||
from redis import Redis
|
||||
@@ -61,41 +62,15 @@ def sessions_stats(request):
|
||||
if not request.user.is_staff: # pragma: no cover
|
||||
raise PermissionDenied("Not Allowed")
|
||||
|
||||
ws = Workout.objects.filter(plannedsession__isnull=False)
|
||||
myqueue(queuelow,
|
||||
send_session_stats,
|
||||
request.user)
|
||||
|
||||
results = []
|
||||
r = getrower(request.user)
|
||||
url = reverse('workouts_view')
|
||||
|
||||
for w in ws:
|
||||
ps = w.plannedsession
|
||||
r = w.user
|
||||
ratio, status, cdate = is_session_complete(r, ps)
|
||||
d = {
|
||||
'date':w.date,
|
||||
'session_id':ps.id,
|
||||
'session_name':ps.name,
|
||||
'complete': ratio,
|
||||
'status': status,
|
||||
'rscore': w.rscore,
|
||||
'duration': w.duration,
|
||||
}
|
||||
results.append(d)
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
df = pd.DataFrame(results)
|
||||
|
||||
code = str(uuid4())
|
||||
filename = code+'.csv'
|
||||
|
||||
df.to_csv(filename)
|
||||
|
||||
with open(filename,'r') as f:
|
||||
response = HttpResponse(f)
|
||||
response['Content-Disposition'] = 'attachment; filename="%s"' % filename
|
||||
response['Content-Type'] = 'application/octet-stream'
|
||||
|
||||
os.remove(filename)
|
||||
return response
|
||||
|
||||
|
||||
|
||||
|
||||
@login_required()
|
||||
|
||||
Reference in New Issue
Block a user