diff --git a/rowers/urls.py b/rowers/urls.py index 30c35b43..7a8a64cb 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -189,6 +189,7 @@ urlpatterns = [ url(r'^graph/(?P\d+)/$',views.graph_show_view), url(r'^graph/(?P\d+)/deleteconfirm$',views.graph_delete_confirm_view), url(r'^graph/(?P\d+)/delete$',views.graph_delete_view), + url(r'^workout/(?P\d+)/get-thumbnails$',views.get_thumbnails), url(r'^workout/upload/team/$',views.team_workout_upload_view), url(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'), url(r'^workout/(?P\d+)/histo$',views.workout_histo_view), diff --git a/rowers/views.py b/rowers/views.py index 632206de..cb7fdb91 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -144,6 +144,13 @@ from rq import Queue,cancel_job from django.core.cache import cache +# Utility to get stroke data in a JSON response +class JSONResponse(HttpResponse): + def __init__(self, data, **kwargs): + content = JSONRenderer().render(data) + kwargs['content_type'] = 'application/json' + super(JSONResponse, self).__init__(content, **kwargs) + def getvalue(data): perc = 0 total = 1 @@ -467,6 +474,47 @@ def get_stored_tasks_status(request): return taskstatus +@login_required() +def get_thumbnails(request,id): + try: + row = Workout.objects.get(id=id) + except Workout.DoesNotExist: + raise Http404("Workout doesn't exist") + if (checkworkoutuser(request.user,row)==False): + raise Http404("You are not allowed to edit this workout") + + r = getrower(request.user) + result = request.user.is_authenticated() and ispromember(request.user) + if result: + promember=1 + if request.user == row.user.user: + mayedit=1 + + comments = WorkoutComment.objects.filter(workout=row) + + aantalcomments = len(comments) + + workouttype = 'ote' + if row.workouttype in ('water','coastal'): + workouttype = 'otw' + + try: + favorites = FavoriteChart.objects.filter(user=r, + workouttype__in=[workouttype,'both']).order_by("id") + maxfav = len(favorites)-1 + except: + favorites = None + maxfav = 0 + + charts = [] + + charts = thumbnails_set(r,id,favorites) + if charts[0]['script'] == '': + charts = [] + + + return JSONResponse(charts) + @login_required() def session_jobs_view(request): taskstatus = get_stored_tasks_status(request) @@ -9540,12 +9588,6 @@ def rower_revokeapp_view(request,id=0): raise Http404("Access token doesn't exist") -# Utility to get stroke data in a JSON response -class JSONResponse(HttpResponse): - def __init__(self, data, **kwargs): - content = JSONRenderer().render(data) - kwargs['content_type'] = 'application/json' - super(JSONResponse, self).__init__(content, **kwargs) # Creates unix time stamp from a datetime object def totimestamp(dt, epoch=datetime.datetime(1970,1,1,tzinfo=tz('UTC'))):