import list rp3 working
This commit is contained in:
@@ -964,6 +964,78 @@ def rower_process_testcallback(request):
|
||||
|
||||
return HttpResponse(text)
|
||||
|
||||
@login_required()
|
||||
@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True)
|
||||
def workout_rp3import_view(request,userid=0):
|
||||
r = getrequestrower(request,userid=userid)
|
||||
|
||||
try:
|
||||
thetoken = rp3stuff.rp3_open(request.user)
|
||||
except NoTokenError:
|
||||
url = reverse('rower_rp3_authorize')
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
res = rp3stuff.get_rp3_workout_list(request.user)
|
||||
|
||||
if (res.status_code != 200):
|
||||
if (res.status_code == 401):
|
||||
r = getrower(request.user)
|
||||
if (r.stravatoken == '') or (r.stravatoken is None):
|
||||
s = "Token doesn't exist. Need to authorize"
|
||||
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
|
||||
message = "Something went wrong in workout_stravaimport_view"
|
||||
messages.error(request,message)
|
||||
url = reverse('workouts_view')
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
workouts_list = pd.json_normalize(res.json()['data']['workouts'])
|
||||
|
||||
|
||||
rp3ids = workouts_list['id'].values
|
||||
|
||||
knownrp3ids = uniqify([
|
||||
w.uploadedtorp3 for w in Workout.objects.filter(user=r)
|
||||
])
|
||||
|
||||
newids = [rp3id for rp3id in rp3ids if not rp3id in knownrp3ids]
|
||||
|
||||
workouts = []
|
||||
|
||||
for key,data in workouts_list.iterrows():
|
||||
i = data['id']
|
||||
if i in knownrp3ids:
|
||||
nnn = ''
|
||||
else:
|
||||
nnn = 'NEW'
|
||||
|
||||
s = data['executed_at']
|
||||
|
||||
keys = ['id','starttime','new']
|
||||
values = [i,s,nnn]
|
||||
|
||||
res = dict(zip(keys,values))
|
||||
|
||||
workouts.append(res)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':'/rowers/list-workouts/',
|
||||
'name':'Workouts'
|
||||
},
|
||||
{
|
||||
'url':reverse('workout_stravaimport_view'),
|
||||
'name':'Strava'
|
||||
},
|
||||
]
|
||||
|
||||
return render(request,'rp3_list_import.html',
|
||||
{
|
||||
'workouts':workouts,
|
||||
'rower':r,
|
||||
'active':'nav-workouts',
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'teams':get_my_teams(request.user)
|
||||
})
|
||||
|
||||
|
||||
# The page where you select which Strava workout to import
|
||||
|
||||
Reference in New Issue
Block a user