Private
Public Access
1
0

simple function to upload workouts to user

This commit is contained in:
Sander Roosendaal
2020-02-08 17:22:51 +01:00
parent 90bd20e404
commit 47d9cac21a

View File

@@ -4384,6 +4384,99 @@ def workout_toggle_ranking(request,id=0):
return response
def workout_add(request):
if request.method != 'POST':
raise PermissionDenied("This view cannot be accessed")
# check credentials here
form = DocumentsForm(request.POST,request.FILES)
optionsform = TeamUploadOptionsForm(request.POST)
rowerform = TeamInviteForm(request.POST)
rowerform.fields.pop('email')
if form.is_valid():
f = request.FILES.get('file',False)
if f:
res = handle_uploaded_file(f)
else:
message = {'message':'no file attached','status':'false'}
return JsonResponse(status=400,data=message)
t = form.cleaned_data['title']
offline = True
offline = form.cleaned_data['offline']
boattype = form.cleaned_data['boattype']
workouttype = form.cleaned_data['workouttype']
if rowerform.is_valid():
u = rowerform.cleaned_data['user']
r = getrower(u)
else:
message = {'status':'false','message':'invalid user'}
return JSonResponse(status=400,data=message)
notes = form.cleaned_data['notes']
if optionsform.is_valid():
make_plot = optionsform.cleaned_data['make_plot']
plottype = optionsform.cleaned_data['plottype']
upload_to_c2 = optionsform.cleaned_data['upload_to_C2']
upload_to_strava = optionsform.cleaned_data['upload_to_Strava']
upload_to_st = optionsform.cleaned_data['upload_to_SportTracks']
upload_to_rk = optionsform.cleaned_data['upload_to_RunKeeper']
upload_to_ua = optionsform.cleaned_data['upload_to_MapMyFitness']
upload_to_tp = optionsform.cleaned_data['upload_to_TrainingPeaks']
makeprivate = optionsform.cleaned_data['makeprivate']
landingpage = optionsform.cleaned_data['landingpage']
uploadoptions = {
'makeprivate':makeprivate,
'make_plot':make_plot,
'plottype':plottype,
'upload_to_C2':upload_to_c2,
'upload_to_Strava':upload_to_strava,
'upload_to_SportTracks':upload_to_st,
'upload_to_RunKeeper':upload_to_rk,
'upload_to_MapMyFitness':upload_to_ua,
'upload_to_TrainingPeaks':upload_to_tp,
'landingpage':landingpage,
'boattype': boattype,
'workouttype': workouttype,
}
f1 = res[0]
f2 = res[1]
id, message, f2 = dataprep.new_workout_from_file(
r,f2,
workouttype=workouttype,
workoutsource=workoutsource,
boattype=boattype,
makeprivate=makeprivate,
title = t,
notes=notes,
)
if <= 0:
message = {'status':'false','message':'unable to process file'}
return JSonResponse(status=400,data=message)
w = Workout.objects.get(id=id)
if make_plot:
res, jobid = uploads.make_plot(r,w,f1,f2,plottype,t)
if upload_to_c2:
try:
message,id = c2stuff.workout_c2_upload(r.user,w)
except NoTokenError:
pass
# add other export options
message = {'status': 'true','id':w.id}
return JSONResponse(status=200,data=message)
# This is the main view for processing uploaded files
@login_required()