nk api update
This commit is contained in:
+13
-12
@@ -210,7 +210,7 @@ def rower_nk_token_refresh(user):
|
||||
def make_authorization_url(request):
|
||||
return imports_make_authorization_url(oauth_data)
|
||||
|
||||
def get_nk_workout_list(user,fake=False,startTime=0,endTime=0):
|
||||
def get_nk_workout_list(user,fake=False,after=0,before=0):
|
||||
r = Rower.objects.get(user=user)
|
||||
|
||||
if (r.nktoken == '') or (r.nktoken is None):
|
||||
@@ -221,12 +221,12 @@ def get_nk_workout_list(user,fake=False,startTime=0,endTime=0):
|
||||
return custom_exception_handler(401,s)
|
||||
else:
|
||||
# ready to fetch. Hurray
|
||||
if not endTime:
|
||||
endTime = arrow.now()+timedelta(days=1)
|
||||
endTime = str(int(endTime.timestamp())*1000)
|
||||
if not startTime:
|
||||
startTime = arrow.now()-timedelta(days=30)
|
||||
startTime = str(int(startTime.timestamp())*1000)
|
||||
if not before:
|
||||
before = arrow.now()+timedelta(days=1)
|
||||
before = str(int(before.timestamp())*1000)
|
||||
if not after:
|
||||
after = arrow.now()-timedelta(days=30)
|
||||
after = str(int(after.timestamp())*1000)
|
||||
authorizationstring = str('Bearer ' + r.nktoken)
|
||||
headers = {'Authorization': authorizationstring,
|
||||
'user-agent': 'sanderroosendaal',
|
||||
@@ -236,8 +236,8 @@ def get_nk_workout_list(user,fake=False,startTime=0,endTime=0):
|
||||
url = NK_API_LOCATION+"api/v1/sessions"
|
||||
|
||||
params = {
|
||||
'startTime':startTime,
|
||||
'endTime':endTime,
|
||||
'after':after,
|
||||
'before':before,
|
||||
} # start / end time
|
||||
|
||||
s = requests.get(url,headers=headers,params=params)
|
||||
@@ -260,6 +260,7 @@ def get_workout(user,nkid):
|
||||
'sessionIds': nkid,
|
||||
}
|
||||
|
||||
|
||||
authorizationstring = str('Bearer ' + r.nktoken)
|
||||
headers = {'Authorization': authorizationstring,
|
||||
'user-agent': 'sanderroosendaal',
|
||||
@@ -270,7 +271,6 @@ def get_workout(user,nkid):
|
||||
url = NK_API_LOCATION+"api/v1/sessions/strokes"
|
||||
response = requests.get(url,headers=headers,params=params)
|
||||
|
||||
|
||||
if response.status_code != 200:
|
||||
# error handling and logging
|
||||
return {},pd.DataFrame()
|
||||
@@ -287,8 +287,8 @@ def get_workout(user,nkid):
|
||||
|
||||
url = NK_API_LOCATION+"api/v1/sessions/"
|
||||
params = {
|
||||
'startTime':timestampbegin-1,
|
||||
'endTime': timestampend+1,
|
||||
'after':timestampbegin-1,
|
||||
'before': timestampend+1,
|
||||
}
|
||||
|
||||
response = requests.get(url, headers=headers,params=params)
|
||||
@@ -303,4 +303,5 @@ def get_workout(user,nkid):
|
||||
if str(w['id']) == str(nkid):
|
||||
workoutdata = w
|
||||
|
||||
|
||||
return workoutdata, df
|
||||
|
||||
@@ -972,7 +972,7 @@ def mocked_requests(*args, **kwargs):
|
||||
return MockResponse(nkstrokedata,200)
|
||||
if nkworkoutlisttester.match(args[0]):
|
||||
params = kwargs.pop('params',{})
|
||||
if 'startTime' in params and params['startTime'] == 1267136372998:
|
||||
if 'after' in params and params['after'] == 1267136372998:
|
||||
return MockResponse(nkimpellerworkoutlist,200)
|
||||
return MockResponse(nkworkoutlist,200)
|
||||
|
||||
|
||||
@@ -35,7 +35,8 @@ from rowers.views import c2_open, multi_compare_view
|
||||
from rowers.forms import (
|
||||
DocumentsForm,CNsummaryForm,RegistrationFormUniqueEmail,
|
||||
ChartParamChoiceForm,WorkoutMultipleCompareForm,
|
||||
BoxPlotChoiceForm)
|
||||
BoxPlotChoiceForm,PerformanceManagerForm,
|
||||
)
|
||||
import rowers.plots as plots
|
||||
import rowers.interactiveplots as iplots
|
||||
import datetime
|
||||
|
||||
@@ -1512,3 +1512,133 @@ class WorkoutStatsTestNew(TestCase):
|
||||
response = self.c.post('/rowers/user-analysis-select/',form_data)
|
||||
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
class MarkerPerformanceTest(TestCase):
|
||||
def setUp(self):
|
||||
self.u = UserFactory()
|
||||
|
||||
self.r = Rower.objects.create(user=self.u,
|
||||
birthdate=faker.profile()['birthdate'],
|
||||
gdproptin=True,surveydone=True,
|
||||
gdproptindate=timezone.now(),
|
||||
rowerplan='coach')
|
||||
|
||||
self.c = Client()
|
||||
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
|
||||
self.factory = RequestFactory()
|
||||
self.password = faker.word()
|
||||
self.u.set_password(self.password)
|
||||
self.u.save()
|
||||
|
||||
# need a 2k, 5k, 1h row
|
||||
self.werg2k = WorkoutFactory(
|
||||
user=self.r,
|
||||
duration=datetime.time(hour=0,minute=7,second=0),
|
||||
distance=2000,
|
||||
workouttype='rower',
|
||||
rankingpiece=True,
|
||||
)
|
||||
|
||||
# need a 2k, 5k, 1h row
|
||||
self.werg5k = WorkoutFactory(
|
||||
user=self.r,
|
||||
duration=datetime.time(hour=0,minute=18,second=0),
|
||||
distance=5000,
|
||||
workouttype='rower',
|
||||
rankingpiece=True,
|
||||
)
|
||||
|
||||
# need a 2k, 5k, 1h row
|
||||
self.werg1h = WorkoutFactory(
|
||||
user=self.r,
|
||||
duration=datetime.time(hour=1,minute=0,second=0),
|
||||
distance=15000,
|
||||
workouttype='rower',
|
||||
rankingpiece=True,
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
for workout in self.user_workouts:
|
||||
try:
|
||||
os.remove(workout.csvfilename)
|
||||
except (IOError, FileNotFoundError, OSError):
|
||||
pass
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
def test_create_marker_workouts(self, mocked_sqlalchemy,
|
||||
mocked_getsmallrowdata_db):
|
||||
login = self.c.login(username=self.u.username,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
|
||||
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
|
||||
|
||||
url = reverse('create_marker_workouts_view')
|
||||
response = self.c.get(url, follow=True)
|
||||
|
||||
expected_url = reverse('goldmedalscores_view',kwargs={'userid':self.u.id})
|
||||
|
||||
self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200)
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
def test_performancemanager_view(self, mocked_sqlalchemy,
|
||||
mocked_getsmallrowdata_db):
|
||||
login = self.c.login(username=self.u.username,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
|
||||
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
|
||||
|
||||
url = reverse('performancemanager_view')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
form_data = {
|
||||
'startdate':startdate.strftime("%Y-%m-%d"),
|
||||
'enddate': enddate.strftime("%Y-%m-%d"),
|
||||
'doform': True,
|
||||
'dofatigue': True,
|
||||
'metricchoice':'rscore',
|
||||
'modelchoice': 'coggan',
|
||||
'daterange': '',
|
||||
}
|
||||
form = PerformanceManagerForm(form_data)
|
||||
if not form.is_valid():
|
||||
print(form.errors)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
def test_ranking_view2(self, mocked_sqlalchemy,
|
||||
mocked_getsmallrowdata_db):
|
||||
login = self.c.login(username=self.u.username,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
|
||||
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
|
||||
|
||||
url = reverse('rankings_view2')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
form_data = {
|
||||
'startdate':startdate.strftime("%Y-%m-%d"),
|
||||
'enddate': enddate.strftime("%Y-%m-%d"),
|
||||
'doform': True,
|
||||
'dofatigue': True,
|
||||
'metricchoice':'rscore',
|
||||
'modelchoice': 'coggan',
|
||||
'daterange': '',
|
||||
}
|
||||
form = DateRangeForm(form_data)
|
||||
if not form.is_valid():
|
||||
print(form.errors)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
@@ -13,99 +13,6 @@ from rowers.utils import calculate_age
|
||||
|
||||
import rowers.dataprep as dataprep
|
||||
|
||||
|
||||
@override_settings(TESTING=True)
|
||||
class OTWCPChartTest(TestCase):
|
||||
def setUp(self):
|
||||
self.u = UserFactory()
|
||||
|
||||
self.r = Rower.objects.create(user=self.u,
|
||||
birthdate=faker.profile()['birthdate'],
|
||||
gdproptin=True,surveydone=True,sex='male',
|
||||
weightcategory='hwt',
|
||||
gdproptindate=timezone.now(),
|
||||
rowerplan='coach')
|
||||
|
||||
r = self.u.rower
|
||||
age = calculate_age(r.birthdate)
|
||||
self.c = Client()
|
||||
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
|
||||
self.factory = RequestFactory()
|
||||
self.password = faker.word()
|
||||
self.u.set_password(self.password)
|
||||
self.u.save()
|
||||
|
||||
self.lastdate = datetime.date(year=1970,month=1,day=1)
|
||||
|
||||
for filename in os.listdir(u'rowers/tests/testdata/otwcp'):
|
||||
a2 = 'rowers/tests/testdata/otwcp/temp/'+filename
|
||||
try:
|
||||
copy(u'rowers/tests/testdata/otwcp/'+filename,a2)
|
||||
row = rdata(a2)
|
||||
totaldist = row.df['cum_dist'].max()
|
||||
totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min()
|
||||
totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0]
|
||||
|
||||
|
||||
hours = int(totaltime/3600.)
|
||||
minutes = int((totaltime - 3600.*hours)/60.)
|
||||
seconds = int(totaltime - 3600.*hours - 60.*minutes)
|
||||
tenths = int(10*(totaltime - 3600.*hours - 60.*minutes - seconds))
|
||||
|
||||
duration = "%s:%s:%s.%s" % (hours,minutes,seconds,tenths)
|
||||
duration = datetime.time(hour=hours,minute=minutes,second=seconds)
|
||||
|
||||
workoutdate = row.rowdatetime.strftime('%Y-%m-%d')
|
||||
workoutstarttime = row.rowdatetime.strftime('%H:%M:%S')
|
||||
|
||||
w = Workout.objects.create(name=faker.word(),
|
||||
workouttype='water',
|
||||
user = self.r,
|
||||
starttime = workoutstarttime,
|
||||
date = workoutdate,
|
||||
duration = duration,
|
||||
distance = totaldist,
|
||||
csvfilename = a2,
|
||||
rankingpiece = True)
|
||||
w.save()
|
||||
|
||||
if row.rowdatetime.date() > self.lastdate:
|
||||
self.lastdate = row.rowdatetime.date()
|
||||
except:
|
||||
pass
|
||||
|
||||
def tearDown(self):
|
||||
try:
|
||||
for filename in os.listdir('rowers/tests/testdata/otwcp/temp'):
|
||||
path = os.path.join('rowers/tests/testdata/otwcp/temp/',filename)
|
||||
if not os.path.isdir(path):
|
||||
try:
|
||||
os.remove(path)
|
||||
except (IOError,FileNotFoundError,OSError):
|
||||
pass
|
||||
except (IOError,FileNotFoundError,OSError):
|
||||
pass
|
||||
|
||||
@patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_cpraw)
|
||||
@patch('rowers.dataprep.getcpdata_sql',side_effect=mocked_getcpdata_sql)
|
||||
def test_otwrankingpieces(self, mocked_cpraw,mocked_getcpdata_sql):
|
||||
workouts = Workout.objects.filter(workouttype='water',
|
||||
rankingpiece=True,user=self.r)
|
||||
|
||||
delta, cpvalue, avgpower = dataprep.fetchcp(self.r,workouts)
|
||||
|
||||
@patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_cpraw)
|
||||
@patch('rowers.dataprep.getcpdata_sql',side_effect=mocked_getcpdata_sql)
|
||||
def test_otwrankingpieces(self, mocked_cpraw,mocked_getcpdata_sql):
|
||||
login = self.c.login(username=self.u.username,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/otw-bests/'
|
||||
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
|
||||
@override_settings(TESTING=True)
|
||||
class CPChartTest(TestCase):
|
||||
def setUp(self):
|
||||
|
||||
@@ -136,18 +136,18 @@ class URLTests(TestCase):
|
||||
'/rowers/me/workflowconfig2/user/1/',
|
||||
'/rowers/me/workflowdefault/',
|
||||
# '/rowers/multi-compare/',
|
||||
'/rowers/ote-bests/',
|
||||
# '/rowers/ote-bests/',
|
||||
# '/rowers/ote-bests/2016-01-01/2016-12-31/',
|
||||
'/rowers/ote-bests/user/1/',
|
||||
# '/rowers/ote-bests/user/1/',
|
||||
# '/rowers/ote-bests/user/1/2016-01-01/2016-12-31/',
|
||||
'/rowers/ote-bests2/',
|
||||
# '/rowers/ote-bests2/2016-01-01/2016-12-31/',
|
||||
'/rowers/ote-bests2/user/1/',
|
||||
'/rowers/ote-ranking/',
|
||||
# '/rowers/ote-ranking/',
|
||||
# '/rowers/ote-ranking/2016-01-01/2016-12-31/',
|
||||
'/rowers/ote-ranking/user/1/',
|
||||
# '/rowers/ote-ranking/user/1/',
|
||||
# '/rowers/ote-ranking/user/1/2016-01-01/2016-12-31/',
|
||||
'/rowers/otw-bests/',
|
||||
# '/rowers/otw-bests/',
|
||||
# '/rowers/otw-bests/2016-01-01/2016-12-31/',
|
||||
# '/rowers/otw-bests/user/1/2016-01-01/2016-12-31/',
|
||||
'/rowers/partners/',
|
||||
|
||||
@@ -34,12 +34,9 @@
|
||||
33,35,kill_async_job,kill job,TRUE,302,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
34,36,post_progress,post progress,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
35,37,graphs_view,view charts,TRUE,302,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
37,39,rankings_view,view ranking,TRUE,302,pro,200,302,pro,403,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
38,40,rankings_view2,view ranking,TRUE,302,pro,200,302,pro,403,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
39,41,otwrankings_view,view ranking,TRUE,302,pro,200,302,pro,403,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
40,42,oterankings_view,view ranking,TRUE,302,pro,200,302,pro,403,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
41,43,cum_flex,flex all chart,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
42,44,analysis_view_data,redirects to analysis direct,TRUE,302,pro,302,302,pro,302,302,coach,302,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
42,44,analysis_view_data,redirects to analysis direct,TRUE,302,pro,200,302,pro,200,302,coach,200,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
43,47,cum_flex_data,flex all chart data (json),TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
44,48,histo,histogram view,TRUE,302,pro,200,302,pro,403,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
45,49,histo_data,histogram data,TRUE,302,pro,200,302,pro,200,302,coach,200,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
|
||||
|
+1
-90
@@ -242,7 +242,6 @@ urlpatterns = [
|
||||
path('404/', TemplateView.as_view(template_name='404.html'),name='404'),
|
||||
path('400/', TemplateView.as_view(template_name='400.html'),name='400'),
|
||||
path('403/', TemplateView.as_view(template_name='403.html'),name='403'),
|
||||
# re_path(r'^imports/$', views.imports_view),
|
||||
re_path(r'^exportallworkouts/?/$',views.workouts_summaries_email_view,name='workouts_summaries_email_view'),
|
||||
path('failedjobs/',views.failed_queue_view,name='failed_queue_view'),
|
||||
path('failedjobs/empty/',views.failed_queue_empty,name='failed_queue_empty'),
|
||||
@@ -252,9 +251,6 @@ urlpatterns = [
|
||||
re_path(r'^agegroupcp/(?P<age>\d+)/(?P<normalize>\d+)/$',views.agegroupcpview,name='agegroupcpview'),
|
||||
re_path(r'^ajax_agegroup/(?P<age>\d+)/(?P<weightcategory>\w+.*)/(?P<sex>\w+.*)/(?P<userid>\d+)/$',
|
||||
views.ajax_agegrouprecords,name='ajax_agegrouprecords'),
|
||||
# re_path(r'^updatefitness/(?P<mode>\w+.*)/(?P<days>\d+)/$',views.fitness_metric_view,name='fitness_metric_view'),
|
||||
# re_path(r'^updatefitness/(?P<mode>\w+.*)/$',views.fitness_metric_view,name='fitness_metric_view'),
|
||||
# re_path(r'^updatefitness/$',views.fitness_metric_view,name='fitness_metric_view'),
|
||||
re_path(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<distance>\d+)m/$',
|
||||
views.agegrouprecordview,name='agegrouprecordview'),
|
||||
re_path(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<duration>\d+)min/$',
|
||||
@@ -265,22 +261,14 @@ urlpatterns = [
|
||||
views.agegrouprecordview,name='agegrouprecordview'),
|
||||
re_path(r'^list-workouts/ranking/$',views.workouts_view,{'rankingonly':True},
|
||||
name='workouts_view'),
|
||||
# re_path(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
|
||||
# name='workouts_view'),
|
||||
re_path(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view,
|
||||
name='workouts_view'),
|
||||
re_path(r'^(?P<rowerid>\d+)/list-workouts/$',views.workouts_view,
|
||||
name='workouts_view'),
|
||||
# re_path(r'^(?P<rowerid>\d+)/list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
|
||||
# name='workouts_view'),
|
||||
re_path(r'^list-workouts/ranking/user/(?P<userid>\d+)/$',views.workouts_view,{'rankingonly':True},
|
||||
name='workouts_view'),
|
||||
re_path(r'^list-workouts/user/(?P<userid>\d+)/$',views.workouts_view,
|
||||
name='workouts_view'),
|
||||
# re_path(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.workouts_view,
|
||||
# name='workouts_view'),
|
||||
# re_path(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
|
||||
# name='workouts_view'),
|
||||
re_path(r'^virtualevents/$',views.virtualevents_view,name='virtualevents_view'),
|
||||
re_path(r'^virtualevent/createchoice/$', TemplateView.as_view(template_name='newchallengechoice.html'),name='newchallengechoice'),
|
||||
re_path(r'^virtualevent/create/$',views.virtualevent_create_view,name='virtualevent_create_view'),
|
||||
@@ -323,16 +311,9 @@ urlpatterns = [
|
||||
re_path(r'^workout/addmanual/(?P<raceid>\d+)/$',views.addmanual_view,name='addmanual_view'),
|
||||
re_path(r'^workout/addmanual/$',views.addmanual_view,name='addmanual_view'),
|
||||
re_path(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/workout/(?P<id>\b[0-9A-Fa-f]+\b)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
@@ -340,12 +321,8 @@ urlpatterns = [
|
||||
re_path(r'^team-compare-select/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
re_path(r'^team-compare-select/$',views.team_comparison_select,name='team_comparison_select'),
|
||||
# re_path(r'^workouts-join-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_join_select,
|
||||
# name='workouts_join_select'),
|
||||
re_path(r'^workouts-join/$',views.workouts_join_view,name='workouts_join_view'),
|
||||
re_path(r'^workouts-join/user/(?P<userid>\d+)$',views.workouts_join_view,name='workouts_join_view'),
|
||||
#re_path(r'^workouts-join-select/team/(?P<teamid>\d+)/$',views.workouts_join_select,name='workouts_join_select'),
|
||||
# re_path(r'^workouts-join-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_join_select,name='workouts_join_select'),
|
||||
re_path(r'^workouts-join-select/$',views.workouts_join_select,name='workouts_join_select'),
|
||||
re_path(r'^workouts-join-select/user/(?P<userid>\d+)/$',views.workouts_join_select,name='workouts_join_select'),
|
||||
re_path(r'^user-boxplot-select/user/(?P<userid>\d+)/$',views.user_boxplot_select,name='user_boxplot_select'),
|
||||
@@ -357,23 +334,16 @@ urlpatterns = [
|
||||
re_path(r'^user-analysis-select/team/(?P<teamid>\d+)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/(?P<function>\w.*)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/$',views.analysis_new,name='analysis_new'),
|
||||
# re_path(r'^user-multiflex-select/user/(?P<userid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
re_path(r'^user-multiflex-select/user/(?P<userid>\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
# re_path(r'^user-multiflex-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
re_path(r'^user-multiflex-select/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
re_path(r'^list-jobs/$',views.session_jobs_view,name='session_jobs_view'),
|
||||
re_path(r'^jobs-status/$',views.session_jobs_status,name='session_jobs_status'),
|
||||
re_path(r'^job-kill/(?P<id>.*)/$',views.kill_async_job),
|
||||
# re_path(r'^test-job/(?P<aantal>\d+)/$',views.test_job_view),
|
||||
# re_path(r'^test-job2/(?P<aantal>\d+)/$',views.test_job_view2),
|
||||
re_path(r'^record-progress/(?P<value>\d+)/(?P<id>.*)/$',views.post_progress,name='post_progress'),
|
||||
re_path(r'^record-progress/(?P<id>.*)/$',views.post_progress),
|
||||
re_path(r'^record-progress/$',views.post_progress),
|
||||
re_path(r'^list-graphs/$',views.graphs_view,name='graphs_view'),
|
||||
re_path(r'^list-graphs/user/(?P<userid>\d+)/$',views.graphs_view,name='graphs_view'),
|
||||
#re_path(r'^fitness-progress/$',views.fitnessmetric_view,name='fitnessmetric_view'),
|
||||
#re_path(r'^fitness-progress/user/(?P<userid>\d+)/$',views.fitnessmetric_view,name='fitnessmetric_view'),
|
||||
#re_path(r'^fitness-progress/user/(?P<userid>\d+)/(?P<mode>\w+.*)/$',views.fitnessmetric_view,name='fitnessmetric_view'),
|
||||
re_path(r'^createmarkerworkouts/user/(?P<userid>\d+)/$',views.create_marker_workouts_view,
|
||||
name='create_marker_workouts_view'),
|
||||
re_path(r'^createmarkerworkouts/$',views.create_marker_workouts_view,
|
||||
@@ -384,25 +354,8 @@ urlpatterns = [
|
||||
re_path(r'^performancemanager/$',views.performancemanager_view,name='performancemanager_view'),
|
||||
re_path(r'^performancemanager/user/(?P<userid>\d+)/$',views.performancemanager_view,name='performancemanager_view'),
|
||||
re_path(r'^performancemanager/user/(?P<userid>\d+)/(?P<mode>\w+.*)/$',views.performancemanager_view,name='performancemanager_view'),
|
||||
# re_path(r'^ote-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view,name='rankings_view'),
|
||||
re_path(r'^ote-bests/user/(?P<userid>\d+)/$',views.rankings_view,name='rankings_view'),
|
||||
# re_path(r'^ote-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view,name='rankings_view'),
|
||||
re_path(r'^ote-bests/$',views.rankings_view,name='rankings_view'),
|
||||
re_path(r'^(?P<userid>\d+)/ote-bests/$',views.rankings_view,name='rankings_view'),
|
||||
# re_path(r'^(?P<theuser>\d+)/ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2,name='rankings_view2'),
|
||||
re_path(r'^ote-bests2/user/(?P<userid>\d+)/$',views.rankings_view2,name='rankings_view2'),
|
||||
# re_path(r'^ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2,name='rankings_view2'),
|
||||
re_path(r'^ote-bests2/$',views.rankings_view2,name='rankings_view2'),
|
||||
# re_path(r'^otw-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view,name='otwrankings_view'),
|
||||
# re_path(r'^otw-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view,name='otwrankings_view'),
|
||||
re_path(r'^otw-bests/user/(?P<userid>\d+)/$',views.otwrankings_view,name='otwrankings_view'),
|
||||
re_path(r'^otw-bests/$',views.otwrankings_view,name='otwrankings_view'),
|
||||
# re_path(r'^ote-ranking/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view,name='oterankings_view'),
|
||||
# re_path(r'^ote-ranking/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view,name='oterankings_view'),
|
||||
re_path(r'^ote-ranking/$',views.oterankings_view,name='oterankings_view'),
|
||||
re_path(r'^ote-ranking/user/(?P<userid>\d+)/$',views.oterankings_view,name='oterankings_view'),
|
||||
# re_path(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<theuser>\d+)/$',views.cum_flex,name='cum_flex'),
|
||||
# re_path(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cum_flex,name='cum_flex'),
|
||||
re_path(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/$',views.cum_flex,name='cum_flex'),
|
||||
re_path(r'^analysisdata/$',views.analysis_view_data,name='analysis_view_data'),
|
||||
re_path(r'^flexall/user/(?P<theuser>\d+)/$',views.cum_flex,name='cum_flex'),
|
||||
@@ -410,12 +363,8 @@ urlpatterns = [
|
||||
re_path(r'^flexalldata/$',views.cum_flex_data,name='cum_flex_data'),
|
||||
re_path(r'^histo/user/(?P<userid>\d+)/$',views.histo,name='histo'),
|
||||
re_path(r'^histodata/$',views.histo_data,name='histo_data'),
|
||||
# re_path(r'^histo/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.histo,name='histo'),
|
||||
re_path(r'^histo/$',views.histo,name='histo'),
|
||||
re_path(r'^cumstats/user/(?P<userid>\d+)/$',views.cumstats,name='cumstats'),
|
||||
# re_path(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
|
||||
# re_path(r'^cumstats/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
|
||||
# re_path(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
|
||||
re_path(r'^cumstats/$',views.cumstats,name='cumstats'),
|
||||
re_path(r'^graph/(?P<id>\d+)/$',views.graph_show_view,name='graph_show_view'),
|
||||
re_path(r'^graph/(?P<pk>\d+)/delete/$',views.GraphDelete.as_view(),name='graph_delete'),
|
||||
@@ -432,12 +381,10 @@ urlpatterns = [
|
||||
re_path(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/histo/$',views.workout_histo_view,
|
||||
name='workout_histo_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/task/$',views.workout_test_task_view,name='workout_test_task_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/forcecurve/$',views.workout_forcecurve_view,
|
||||
name='workout_forcecurve_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/unsubscribe/$',views.workout_unsubscribe_view,
|
||||
name='workout_unsubscribe_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/export/$',views.workout_export_view),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/comment/$',views.workout_comment_view,
|
||||
name='workout_comment_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/emailtcx/$',views.workout_tcxemail_view,
|
||||
@@ -448,16 +395,9 @@ urlpatterns = [
|
||||
name='workout_csvemail_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/csvtoadmin/$',views.workout_csvtoadmin_view,
|
||||
name='workout_csvtoadmin_view'),
|
||||
# re_path(r'^ergcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otecp_toadmin_view,name='otecp_toadmin_view'),
|
||||
# re_path(r'^otwcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwcp_toadmin_view,name='otwcp_toadmin_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/edit/$',views.workout_edit_view,
|
||||
name='workout_edit_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/map/$',views.workout_map_view,name='workout_map_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/setprivate/$',views.workout_setprivate_view),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/updatecp/$',views.workout_update_cp_view,name='workout_update_cp_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/makepublic/$',views.workout_makepublic_view),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/geeky/$',views.workout_geeky_view),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/advanced/$',views.workout_advanced_view),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/instroke/(?P<metric>\w+.*)/$',views.instroke_chart,name='instroke_chart'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/instroke/$',views.instroke_view,name='instroke_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/stats/$',views.workout_stats_view,name='workout_stats_view'),
|
||||
@@ -487,12 +427,10 @@ urlpatterns = [
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/darkskywind/$',views.workout_downloadwind_view,name='workout_downloadwind_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/metar/(?P<airportcode>\w+)/$',views.workout_downloadmetar_view,name='workout_downloadmetar_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/stream/$',views.workout_stream_view,name='workout_stream_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/crewnerdsummary/$',views.workout_crewnerd_summary_view),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/editintervals/$',views.workout_summary_edit_view,
|
||||
name='workout_summary_edit_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/restore/$',views.workout_summary_restore_view,name='workout_summary_restore_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/split/$',views.workout_split_view,name='workout_split_view'),
|
||||
# re_path(r'^workout/(?P<id>\d+)/interactiveplot/$',views.workout_biginteractive_view),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/view/entry/(?P<raceresult>\d+)/$',views.workout_view,name='workout_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/view/entry/(?P<nocourseraceresult>\d+)/nocourse/$',views.workout_view,name='workout_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/view/session/(?P<sessionresult>\d+)/$',views.workout_view,name='workout_view'),
|
||||
@@ -540,7 +478,6 @@ urlpatterns = [
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/addpowerpiechart/$',
|
||||
views.workout_add_chart_view,
|
||||
{'plotnr':'13'},name='workout_add_chart_view'),
|
||||
# addstatic is the new URL -> need to update in templates
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/addstatic/(?P<plotnr>\d+)/$',
|
||||
views.workout_add_chart_view,name='workout_add_chart_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/addstatic/$',views.workout_add_chart_view,name='workout_add_chart_view'),
|
||||
@@ -552,8 +489,6 @@ urlpatterns = [
|
||||
re_path(r'^garmin/files/',views.garmin_newfiles_ping,name='garmin_newfiles_ping'),
|
||||
re_path(r'^garmin/activities/',views.garmin_details_view,name='garmin_details_view'),
|
||||
re_path(r'^garmin/deregistration/',views.garmin_deregistration_view,name='garmin_deregistration_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/delete/$',login_required(
|
||||
# views.workout_code_delete_view),name='workout_code_delete'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/smoothenpace/$',views.workout_smoothenpace_view,name='workout_smoothenpace_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/undosmoothenpace/$',views.workout_undo_smoothenpace_view,name='workout_undo_smoothenpace_view'),
|
||||
re_path(r'^workout/c2import/$',views.workout_c2import_view,name='workout_c2import_view'),
|
||||
@@ -568,7 +503,7 @@ urlpatterns = [
|
||||
re_path(r'^workout/c2import/all/$',views.workout_getc2workout_all,name='workout_getc2workout_all'),
|
||||
re_path(r'^workout/c2import/all/(?P<page>\d+)/$',views.workout_getc2workout_all,name='workout_getc2workout_all'),
|
||||
re_path(r'^workout/nkimport/$',views.workout_nkimport_view,name='workout_nkimport_view'),
|
||||
re_path(r'^workout/nkimport/(?P<startTime>\d+)/(?P<endTime>\d+)/$',views.workout_nkimport_view,name='workout_nkimport_view'),
|
||||
re_path(r'^workout/nkimport/(?P<after>\d+)/(?P<before>\d+)/$',views.workout_nkimport_view,name='workout_nkimport_view'),
|
||||
re_path(r'^workout/nkimport/all/$',views.workout_getnkworkout_all,name='workout_getnkworkout_all'),
|
||||
re_path(r'^workout/rp3import/(?P<externalid>\d+)/$',views.workout_getrp3importview,
|
||||
name='workout_getrp3importview'),
|
||||
@@ -585,7 +520,6 @@ urlpatterns = [
|
||||
re_path(r'^workout/runkeeperimport/user/(?P<userid>\d+)/$',views.workout_runkeeperimport_view,name='workout_runkeeperimport_view'),
|
||||
re_path(r'^workout/underarmourimport/user/(?P<userid>\d+)/$',views.workout_underarmourimport_view,name='workout_underarmourimport_view'),
|
||||
re_path(r'^workout/underarmourimport/$',views.workout_underarmourimport_view,name='workout_underarmourimport_view'),
|
||||
# re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/deleteconfirm/$',views.workout_delete_confirm_view),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/c2uploadw/$',views.workout_c2_upload_view,name='workout_c2_upload_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/stravauploadw/$',views.workout_strava_upload_view,name='workout_strava_upload_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/recalcsummary/$',views.workout_recalcsummary_view,name='workout_recalcsummary_view'),
|
||||
@@ -701,8 +635,6 @@ urlpatterns = [
|
||||
re_path(r'^brochure/$',TemplateView.as_view(template_name='brochure.html'),
|
||||
name='brochure'),
|
||||
re_path(r'^developers', TemplateView.as_view(template_name='developers.html'),name='about'),
|
||||
# re_path(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'),
|
||||
# re_path(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'),
|
||||
re_path(r'^analysis/user/(?P<userid>\d+)/$', views.analysis_view,name='analysis'),
|
||||
re_path(r'^laboratory/$', views.laboratory_view,name='laboratory_view'),
|
||||
re_path(r'^laboratory/user/(?P<userid>\d+)/$', views.laboratory_view,name='laboratory_view'),
|
||||
@@ -728,8 +660,6 @@ urlpatterns = [
|
||||
re_path(r'^planrequired/',views.planrequired_view,name='planrequired_view'),
|
||||
re_path(r'^starttrial/$',views.start_trial_view,name='start_trial_view'),
|
||||
re_path(r'^startplantrial/$',views.start_plantrial_view,name='start_plantrial_view'),
|
||||
# re_path(r'^planmembership', TemplateView.as_view(template_name='planmembership.html'),name='planmembership'),
|
||||
# re_path(r'^paypaltest', TemplateView.as_view(template_name='paypaltest.html'),name='paypaltest'),
|
||||
re_path(r'^legal', TemplateView.as_view(template_name='legal.html'),name='legal'),
|
||||
re_path(r'^register/$',views.rower_register_view,name='rower_register_view'),
|
||||
re_path(r'^coachregister/$',views.freecoach_register_view,name='freecoach_register_view'),
|
||||
@@ -742,8 +672,6 @@ urlpatterns = [
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/flexchart/(?P<xparam>\w+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/flexchart/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
|
||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/flexchartstacked/$',views.workout_flexchart_stacked_view,name='workout_flexchart_stacked_view'),
|
||||
# re_path(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>[\w\ ]+.*)/(?P<plottype>[\w\ ]+.*)/$',views.workout_comparison_view2),
|
||||
# re_path(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>[\w\ ]+.*)/$',views.workout_comparison_view2),
|
||||
re_path(r'^test\_callback',views.rower_process_testcallback,name='rower_process_testcallback'),
|
||||
re_path(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
||||
re_path(r'^createplan/user/(?P<id>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
||||
@@ -835,12 +763,6 @@ urlpatterns = [
|
||||
re_path(r'^sessions/create/user/(?P<userid>\d+)/$',
|
||||
views.plannedsession_create_view,
|
||||
name='plannedsession_create_view'),
|
||||
# re_path(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||
# views.plannedsession_create_view,
|
||||
# name='plannedsession_create_view'),
|
||||
# re_path(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
||||
# views.plannedsession_create_view,
|
||||
# name='plannedsession_create_view'),
|
||||
re_path(r'^sessions/multiclone/$',views.plannedsession_multiclone_view,name='plannedsession_multiclone_view'),
|
||||
re_path(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
||||
views.plannedsession_multiclone_view,
|
||||
@@ -918,19 +840,11 @@ urlpatterns = [
|
||||
name='plannedsessions_view'),
|
||||
re_path(r'^sessions/user/(?P<userid>\d+)/$',views.plannedsessions_view,
|
||||
name='plannedsessions_view'),
|
||||
# re_path(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||
# views.plannedsessions_view,
|
||||
# name='plannedsessions_view'),
|
||||
# re_path(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
||||
# views.plannedsessions_view,
|
||||
# name='plannedsessions_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/edit/$',views.course_edit_view,
|
||||
name='course_edit_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view,name='course_delete_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/downloadkml/$',views.course_kmldownload_view,
|
||||
name='course_kmldownload_view'),
|
||||
# re_path(r'^courses/(?P<id>\d+)/replace/$',views.course_replace_view,
|
||||
# name='course_replace_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/$',views.course_view,name='course_view'),
|
||||
re_path(r'^standards/(?P<id>\d+)/$',views.standard_view,name='standard_view'),
|
||||
re_path(r'^standards/(?P<id>\d+)/download/$',views.standards_download_view,
|
||||
@@ -938,7 +852,6 @@ urlpatterns = [
|
||||
re_path(r'^standards/(?P<id>\d+)/deactivate/$',views.standard_deactivate_view,
|
||||
name='standard_deactivate_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/map/$',views.course_map_view,name='course_map_view'),
|
||||
# URLS to be created
|
||||
re_path(r'^help/$',TemplateView.as_view(template_name='help.html'), name='help'),
|
||||
re_path(r'^workout/api/upload/',views.workout_upload_api,name='workout_upload_api'),
|
||||
re_path(r'^access/share/$',views.createShareURL, name="sharedURL"),
|
||||
@@ -955,5 +868,3 @@ if settings.DEBUG:
|
||||
re_path(r'^c2listug/(?P<page>\d+)/$',views.c2listdebug_view),
|
||||
re_path(r'^c2listug/$',views.c2listdebug_view),
|
||||
]
|
||||
|
||||
#urlpatterns = format_suffix_patterns(urlpatterns)
|
||||
|
||||
+27
-1007
File diff suppressed because it is too large
Load Diff
@@ -836,14 +836,14 @@ def workout_getnkworkout_all(request):
|
||||
|
||||
@login_required()
|
||||
@permission_required('rower.is_coach',fn=get_user_by_userid, raise_exception=True)
|
||||
def workout_nkimport_view(request,userid=0,startTime=0,endTime=0):
|
||||
def workout_nkimport_view(request,userid=0,after=0,before=0):
|
||||
r = getrequestrower(request,userid=userid)
|
||||
try:
|
||||
thetoken = nk_open(request.user)
|
||||
except NoTokenError:
|
||||
return HttpResponseRedirect("/rowers/me/nkauthorize/")
|
||||
|
||||
res = nkstuff.get_nk_workout_list(request.user,startTime=startTime,endTime=endTime)
|
||||
res = nkstuff.get_nk_workout_list(request.user,before=before,after=after)
|
||||
|
||||
if (res.status_code != 200):
|
||||
if (res.status_code == 401):
|
||||
|
||||
Reference in New Issue
Block a user