Private
Public Access
1
0

Merge branch 'release/v2.7'

This commit is contained in:
Sander Roosendaal
2017-05-11 13:29:20 +02:00
14 changed files with 529 additions and 586 deletions

View File

@@ -541,7 +541,7 @@ def process_callback(request):
# Uploading workout
def workout_c2_upload(user,w):
response = 'trying C2 upload'
message = 'trying C2 upload'
thetoken = c2_open(user)
r = Rower.objects.get(user=user)
@@ -565,7 +565,7 @@ def workout_c2_upload(user,w):
response = requests.post(url,headers=headers,data=json.dumps(data))
if (response.status_code == 409 ):
message = "Duplicate error"
message = "Concept2 Duplicate error"
w.uploadedtoc2 = -1
c2id = -1
w.save()
@@ -581,7 +581,7 @@ def workout_c2_upload(user,w):
c2id = 0
else:
message = "You are not authorized to upload this workout"
message = "You are not authorized to upload this workout to Concept2"
c2id = 0
return message,c2id

View File

@@ -997,11 +997,20 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
if datadf.empty:
return ['','<p>No non-zero data in selection</p>','','']
datadf['x1'] = datadf.ix[:,xparam]
datadf['y1'] = datadf.ix[:,yparam1]
try:
datadf['x1'] = datadf.ix[:,xparam]
except KeyError:
datadf['x1'] = datadf['distance']
try:
datadf['y1'] = datadf.ix[:,yparam1]
except KeyError:
datadf['y1'] = datadf['pace']
if yparam2 != 'None':
datadf['y2'] = datadf.ix[:,yparam2]
try:
datadf['y2'] = datadf.ix[:,yparam2]
except KeyError:
datadf['y2'] = datadf['y1']
else:
datadf['y2'] = datadf['y1']

View File

@@ -327,9 +327,9 @@ class BaseFavoriteFormSet(BaseFormSet):
def checkworkoutuser(user,workout):
try:
r = Rower.objects.get(user=user)
return (workout.user == r)
return workout.user == r
except Rower.DoesNotExist:
return(False)
return False
# Workout

View File

@@ -319,7 +319,7 @@ def get_userid(access_token):
return str(res)
def workout_runkeeper_upload(user,w):
message = ""
message = "Uploading to Runkeeper"
rkid = 0
r = w.user
@@ -332,7 +332,7 @@ def workout_runkeeper_upload(user,w):
if (checkworkoutuser(user,w)):
data = createrunkeeperworkoutdata(w)
if not data:
message = "Data error"
message = "Data error in Runkeeper Upload"
rkid = 0
return message, rkid
@@ -357,7 +357,7 @@ def workout_runkeeper_upload(user,w):
rkuri = geturifromid(thetoken,rkid)
w.uploadedtorunkeeper = rkid
w.save()
return '',rkid
return 'Successfully synchronized to Runkeeper',rkid
else:
s = response
message = "Something went wrong in workout_runkeeper_upload_view: %s - %s" % (s.reason,s.text)

View File

@@ -319,7 +319,7 @@ def getidfromresponse(response):
def workout_sporttracks_upload(user,w):
message = ""
message = "Uploading to SportTracks"
stid = 0
# ready to upload. Hurray
r = w.user
@@ -353,7 +353,7 @@ def workout_sporttracks_upload(user,w):
stid = getidfromresponse(response)
w.uploadedtosporttracks = stid
w.save()
return '',stid
return 'Successfully synced to SportTracks',stid
else:
s = response
message = "Something went wrong in workout_sporttracks_upload_view: %s" % s.reason

View File

@@ -275,7 +275,7 @@ def handle_stravaexport(f2,workoutname,stravatoken,description=''):
message = 'Workout successfully synchronized to Strava'
except:
res = 0
message = 'Strava upload timed out'
# description doesn't work yet. Have to wait for stravalib to update
@@ -289,7 +289,7 @@ def handle_stravaexport(f2,workoutname,stravatoken,description=''):
def workout_strava_upload(user,w):
message = ""
message = "Uploading to Strava"
stravaid=-1
r = Rower.objects.get(user=user)
res = -1
@@ -322,7 +322,7 @@ def workout_strava_upload(user,w):
os.remove(tcxfile)
except WindowsError:
pass
message = ''
message = mes
stravaid = res
return message,stravaid
else:

View File

@@ -271,6 +271,7 @@ def handle_makeplot(f1,f2,t,hrdata,plotnr,imagename):
plt.close(fig1)
fig1.clf()
gc.collect()
return imagename
# Team related remote tasks

View File

@@ -136,7 +136,7 @@
<div id="summary" class="grid_6 omega">
<h1>Updated Summary</h1>
<form enctype="multipart/form-data" action="/rowers/workout/{{ workout.id }}/editintervals/Interval%20Data%20Saved" method="post">
<form enctype="multipart/form-data" action="/rowers/workout/{{ workout.id }}/editintervals" method="post">
{% csrf_token %}
<input type="hidden" name="{{ savebutton }}" value="{{ intervalstring }}">
<input type="hidden" name="nrintervals" value={{ nrintervals }}>
@@ -200,4 +200,4 @@
</form>
</div>
{% endblock %}
{% endblock %}

View File

@@ -702,7 +702,8 @@ class ViewTest(TestCase):
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/upload/c/This%20C2%20logbook%20summary%20does%20not%20contain%20stroke%20data.%20Please%20download%20the%20Export%20Stroke%20Data%20file%20from%20the%20workout%20details%20on%20the%20C2%20logbook.',
self.assertRedirects(response,
expected_url='/rowers/workout/upload/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)

View File

@@ -283,7 +283,6 @@ def uploadactivity(access_token,filename,description='',
with open("media/tperrors.log","a") as errorlog:
errorlog.write(str(resp.status_code))
errorlog.write("\r\n")
print "noot"
timestr = strftime("%Y%m%d-%H%M%S")
errorlog.write(timestr+"\r\n")
errorlog.write("\r\n")
@@ -296,14 +295,13 @@ def uploadactivity(access_token,filename,description='',
errorlog.write("\r\n")
return 0,resp.reason,resp.status_code,headers
else:
print resp.json()
return resp.json()[0]["Id"],"ok",200,""
return 0
def workout_tp_upload(user,w):
message = ""
message = "Uploading to TrainingPeaks"
tpid = 0
r = w.user
@@ -333,7 +331,7 @@ def workout_tp_upload(user,w):
tpid = res
w.save()
os.remove(tcxfile)
return '',tpid
return 'Successfully synchronized to TrainingPeaks',tpid
else: # no tcxfile
message = "Upload to TrainingPeaks failed"

View File

@@ -401,7 +401,7 @@ def get_userid(access_token):
return res
def workout_ua_upload(user,w):
message = ""
message = "Uploading to MapMyFitness"
uaid = 0
r = w.user
@@ -438,7 +438,7 @@ def workout_ua_upload(user,w):
uaid = getidfromresponse(response)
w.uploadedtounderarmour = uaid
w.save()
return '',uaid
return 'Successfully synchronized with MapMyFitness',uaid
else:
s = response
message = "Something went wrong in workout_underarmour_upload_view: %s - %s" % (s.reason,s.text)

View File

@@ -115,18 +115,11 @@ urlpatterns = [
url(r'^404/$', TemplateView.as_view(template_name='404.html'),name='404'),
url(r'^400/$', TemplateView.as_view(template_name='400.html'),name='400'),
url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'),
url(r'^imports/s/(?P<successmessage>\w+.*)/$', TemplateView.as_view(template_name='imports.html'), name='imports'),
url(r'^imports/$', TemplateView.as_view(template_name='imports.html'), name='imports'),
url(r'^list-workouts/c/(?P<message>\w+.*)/$',views.workouts_view),
url(r'^list-workouts/s/(?P<successmessage>\w+.*)/$',views.workouts_view),
url(r'^list-workouts/c/(?P<message>\w+.*)/s/(?P<successmessage>\w+.*)$',views.workouts_view),
url(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
url(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view),
url(r'^list-workouts/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
url(r'^list-workouts/$',views.workouts_view),
url(r'^team-compare-select/c/(?P<message>\w+.*)/$',views.team_comparison_select),
url(r'^team-compare-select/s/(?P<successmessage>\w+.*)/$',views.team_comparison_select),
url(r'^team-compare-select/c/(?P<message>\w+.*)/s/(?P<successmessage>\w+.*)$',views.team_comparison_select),
url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.team_comparison_select),
url(r'^team-compare-select/team/(?P<teamid>\d+)/$',views.team_comparison_select),
url(r'^team-compare-select/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.team_comparison_select),
@@ -155,124 +148,98 @@ urlpatterns = [
url(r'^cumstats/$',views.cumstats),
url(r'^histo-all/$',views.histo_all),
url(r'^(?P<theuser>\d+)/histo-all/$',views.histo_all),
url(r'^graph/(\d+)/$',views.graph_show_view),
url(r'^graph/(\d+)/deleteconfirm$',views.graph_delete_confirm_view),
url(r'^graph/(\d+)/delete$',views.graph_delete_view),
url(r'^workout/upload/team/s/(?P<successmessage>\w+.*)/c/(?P<message>\w+.*)/$',views.team_workout_upload_view),
url(r'^workout/upload/team/c/(?P<message>\w+.*)/$',views.team_workout_upload_view),
url(r'^workout/upload/team/s/(?P<successmessage>\w+.*)/$',views.team_workout_upload_view),
url(r'^graph/(?P<id>\d+)/$',views.graph_show_view),
url(r'^graph/(?P<id>\d+)/deleteconfirm$',views.graph_delete_confirm_view),
url(r'^graph/(?P<id>\d+)/delete$',views.graph_delete_view),
url(r'^workout/upload/team/$',views.team_workout_upload_view),
url(r'^workout/upload/$',views.workout_upload_view),
url(r'^workout/upload/c/(?P<message>\w+.*)$',views.workout_upload_view),
url(r'^workout/(?P<id>\d+)/histo$',views.workout_histo_view),
url(r'^workout/(?P<id>\d+)/task$',views.workout_test_task_view),
url(r'^workout/(?P<id>\d+)/forcecurve$',views.workout_forcecurve_view),
url(r'^workout/(?P<id>\d+)/unsubscribe$',views.workout_unsubscribe_view),
url(r'^workout/(?P<id>\d+)/export/c/(?P<message>\w+.*)/s/(?P<successmessage>\w+.*)$',views.workout_export_view),
url(r'^workout/(?P<id>\d+)/export/c/(?P<message>\w+.*)$',views.workout_export_view),
url(r'^workout/(?P<id>\d+)/export/s/(?P<successmessage>\w+.*)$',views.workout_export_view),
url(r'^workout/(?P<id>\d+)/export$',views.workout_export_view),
url(r'^workout/(?P<id>\d+)/comment$',views.workout_comment_view),
url(r'^workout/(\d+)/emailtcx$',views.workout_tcxemail_view),
url(r'^workout/(\d+)/emailcsv$',views.workout_csvemail_view),
url(r'^workout/compare/(\d+)/$',views.workout_comparison_list),
url(r'^workout/(?P<id>\d+)/emailtcx$',views.workout_tcxemail_view),
url(r'^workout/(?P<id>\d+)/emailcsv$',views.workout_csvemail_view),
url(r'^workout/compare/(?P<id>\d+)/$',views.workout_comparison_list),
url(r'^workout/compare2/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>\w+.*)/$',views.workout_comparison_view),
url(r'^workout/compare/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\w+.*)$',views.workout_comparison_list),
url(r'^workout/(?P<id>\d+)/export/c/(?P<message>\w+.*)/s/(?P<successmessage>\w+.*)$',views.workout_edit_view),
url(r'^workout/(?P<id>\d+)/edit/c/(?P<message>.+.*)$',views.workout_edit_view),
url(r'^workout/(?P<id>\d+)/edit/s/(?P<successmessage>.+.*)$',views.workout_edit_view),
url(r'^workout/(?P<id>\d+)/edit$',views.workout_edit_view),
url(r'^workout/(?P<id>\d+)/setprivate$',views.workout_setprivate_view),
url(r'^workout/(?P<id>\d+)/makepublic$',views.workout_makepublic_view),
url(r'^workout/(?P<id>\d+)/advanced/c/(?P<message>.+.*)$',views.workout_advanced_view),
url(r'^workout/(?P<id>\d+)/advanced/s/(?P<successmessage>.+.*)$',views.workout_advanced_view),
url(r'^workout/(?P<id>\d+)/geeky$',views.workout_geeky_view),
url(r'^workout/(\d+)/advanced$',views.workout_advanced_view),
url(r'^workout/(\d+)/stats$',views.workout_stats_view),
url(r'^workout/(\d+)/otwsetpower$',views.workout_otwsetpower_view),
url(r'^workout/(\d+)/interactiveotwplot$',views.workout_otwpowerplot_view),
url(r'^workout/(\d+)/wind$',views.workout_wind_view),
url(r'^workout/(?P<id>\d+)/wind/c/(?P<message>\w+.*)$',views.workout_wind_view),
url(r'^workout/(?P<id>\d+)/wind/s/(?P<successmessage>\w+.*)$',views.workout_wind_view),
url(r'^workout/(?P<id>\d+)/advanced$',views.workout_advanced_view),
url(r'^workout/(?P<id>\d+)/stats$',views.workout_stats_view),
url(r'^workout/(?P<id>\d+)/otwsetpower$',views.workout_otwsetpower_view),
url(r'^workout/(?P<id>\d+)/interactiveotwplot$',views.workout_otwpowerplot_view),
url(r'^workout/(?P<id>\d+)/wind$',views.workout_wind_view),
url(r'^workout/(?P<id>\d+)/darkskywind$',views.workout_downloadwind_view),
url(r'^workout/(?P<id>\d+)/metar/(?P<airportcode>\w+)$',views.workout_downloadmetar_view),
url(r'^workout/(\d+)/stream$',views.workout_stream_view),
url(r'^workout/(?P<id>\d+)/stream/c/(?P<message>\w+.*)$',views.workout_stream_view),
url(r'^workout/(\d+)/crewnerdsummary$',views.workout_crewnerd_summary_view),
url(r'^workout/(?P<id>\d+)/editintervals/(?P<successmessage>\w+.*)$',views.workout_summary_edit_view),
url(r'^workout/(\d+)/editintervals$',views.workout_summary_edit_view),
url(r'^workout/(\d+)/restore$',views.workout_summary_restore_view),
url(r'^workout/(\d+)/interactiveplot$',views.workout_biginteractive_view),
url(r'^workout/(\d+)/view$',views.workout_view),
url(r'^workout/(\d+)$',views.workout_view),
url(r'^workout/(?P<id>\d+)/stream$',views.workout_stream_view),
url(r'^workout/(?P<id>\d+)/crewnerdsummary$',views.workout_crewnerd_summary_view),
url(r'^workout/(?P<id>\d+)/editintervals$',views.workout_summary_edit_view),
url(r'^workout/(?P<id>\d+)/restore$',views.workout_summary_restore_view),
url(r'^workout/(?P<id>\d+)/interactiveplot$',views.workout_biginteractive_view),
url(r'^workout/(?P<id>\d+)/view$',views.workout_view),
url(r'^workout/(?P<id>\d+)$',views.workout_view),
url(r'^workout/fusion/(?P<id1>\d+)/(?P<id2>\d+)$',views.workout_fusion_view),
url(r'^workout/fusion/(\d+)/$',views.workout_fusion_list),
url(r'^workout/fusion/(?P<id>\d+)/$',views.workout_fusion_list),
url(r'^workout/fusion/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\w+.*)$',views.workout_fusion_list),
url(r'^physics$',TemplateView.as_view(template_name='physics.html'),name='physics'),
url(r'^partners$',TemplateView.as_view(template_name='partners.html'),name='partners'),
url(r'^workout/(\d+)/$',views.workout_view),
url(r'^workout/(\d+)/addtimeplot$',views.workout_add_timeplot_view),
url(r'^workout/(\d+)/addpiechart$',views.workout_add_piechart_view),
url(r'^workout/(\d+)/addpowerpiechart$',views.workout_add_power_piechart_view),
url(r'^workout/(\d+)/adddistanceplot$',views.workout_add_distanceplot_view),
url(r'^workout/(\d+)/adddistanceplot2$',views.workout_add_distanceplot2_view),
url(r'^workout/(\d+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
url(r'^workout/(\d+)/addtimeplot2$',views.workout_add_timeplot2_view),
url(r'^workout/(\d+)/delete$',views.workout_delete_view),
url(r'^workout/(\d+)/smoothenpace$',views.workout_smoothenpace_view),
url(r'^workout/(\d+)/undosmoothenpace$',views.workout_undo_smoothenpace_view),
url(r'^workout/c2import/c/(?P<message>\w+.*)$',views.workout_c2import_view),
url(r'^workout/(?P<id>\d+)/$',views.workout_view),
url(r'^workout/(?P<id>\d+)/addtimeplot$',views.workout_add_timeplot_view),
url(r'^workout/(?P<id>\d+)/addpiechart$',views.workout_add_piechart_view),
url(r'^workout/(?P<id>\d+)/addpowerpiechart$',views.workout_add_power_piechart_view),
url(r'^workout/(?P<id>\d+)/adddistanceplot$',views.workout_add_distanceplot_view),
url(r'^workout/(?P<id>\d+)/adddistanceplot2$',views.workout_add_distanceplot2_view),
url(r'^workout/(?P<id>\d+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
url(r'^workout/(?P<id>\d+)/addtimeplot2$',views.workout_add_timeplot2_view),
url(r'^workout/(?P<id>\d+)/delete$',views.workout_delete_view),
url(r'^workout/(?P<id>\d+)/smoothenpace$',views.workout_smoothenpace_view),
url(r'^workout/(?P<id>\d+)/undosmoothenpace$',views.workout_undo_smoothenpace_view),
url(r'^workout/c2import/$',views.workout_c2import_view),
url(r'^workout/stravaimport/$',views.workout_stravaimport_view),
url(r'^workout/c2import/(\d+)/$',views.workout_getc2workout_view),
url(r'^workout/stravaimport/(\d+)/$',views.workout_getstravaworkout_view),
url(r'^workout/c2import/(?P<id>\d+)/$',views.workout_getc2workout_view),
url(r'^workout/stravaimport/(?P<id>\d+)/$',views.workout_getstravaworkout_view),
url(r'^workout/sporttracksimport/$',views.workout_sporttracksimport_view),
url(r'^workout/sporttracksimport/(\d+)/$',views.workout_getsporttracksworkout_view),
url(r'^workout/sporttracksimport/(?P<id>\d+)/$',views.workout_getsporttracksworkout_view),
url(r'^workout/runkeeperimport/$',views.workout_runkeeperimport_view),
url(r'^workout/runkeeperimport/(\d+)/$',views.workout_getrunkeeperworkout_view),
url(r'^workout/runkeeperimport/(?P<id>\d+)/$',views.workout_getrunkeeperworkout_view),
url(r'^workout/underarmourimport/$',views.workout_underarmourimport_view),
url(r'^workout/underarmourimport/(\d+)/$',views.workout_getunderarmourworkout_view),
url(r'^workout/(\d+)/deleteconfirm$',views.workout_delete_confirm_view),
url(r'^workout/(\d+)/c2uploadw/$',views.workout_c2_upload_view),
url(r'^workout/(\d+)/stravauploadw/$',views.workout_strava_upload_view),
url(r'^workout/(\d+)/recalcsummary/$',views.workout_recalcsummary_view),
url(r'^workout/(\d+)/sporttracksuploadw/$',views.workout_sporttracks_upload_view),
url(r'^workout/(\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view),
url(r'^workout/(\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view),
url(r'^workout/(\d+)/tpuploadw/$',views.workout_tp_upload_view),
url(r'^workout/underarmourimport/(?P<id>\d+)/$',views.workout_getunderarmourworkout_view),
url(r'^workout/(?P<id>\d+)/deleteconfirm$',views.workout_delete_confirm_view),
url(r'^workout/(?P<id>\d+)/c2uploadw/$',views.workout_c2_upload_view),
url(r'^workout/(?P<id>\d+)/stravauploadw/$',views.workout_strava_upload_view),
url(r'^workout/(?P<id>\d+)/recalcsummary/$',views.workout_recalcsummary_view),
url(r'^workout/(?P<id>\d+)/sporttracksuploadw/$',views.workout_sporttracks_upload_view),
url(r'^workout/(?P<id>\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view),
url(r'^workout/(?P<id>\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view),
url(r'^workout/(?P<id>\d+)/tpuploadw/$',views.workout_tp_upload_view),
url(r'^multi-compare$',views.multi_compare_view),
url(r'^me/teams/c/(?P<message>\w+.*)/s/(?P<successmessage>\w+.*)$',views.rower_teams_view),
url(r'^me/teams/s/(?P<successmessage>\w+.*)$',views.rower_teams_view),
url(r'^me/teams/c/(?P<message>\w+.*)$',views.rower_teams_view),
url(r'^team/(?P<id>\d+)/s/(?P<successmessage>\w+.*)/c/(?P<message>\w+.*)$',views.team_view),
url(r'^me/teams/$',views.rower_teams_view),
url(r'^team/(?P<id>\d+)/c/(?P<message>\w+.*)$',views.team_view),
url(r'^team/(?P<id>\d+)/s/(?P<successmessage>\w+.*)$',views.team_view),
url(r'^team/(\d+)/$',views.team_view),
url(r'^team/(\d+)/edit$',views.team_edit_view),
url(r'^team/(\d+)/leaveconfirm/$',views.team_leaveconfirm_view),
url(r'^team/(\d+)/leave/$',views.team_leave_view),
url(r'^team/(\d+)/deleteconfirm/$',views.team_deleteconfirm_view),
url(r'^team/(\d+)/requestmembership/(\d+)$',views.team_requestmembership_view),
url(r'^team/(\d+)/delete/$',views.team_delete_view),
url(r'^team/(?P<id>\d+)/$',views.team_view),
url(r'^team/(?P<id>\d+)/edit$',views.team_edit_view),
url(r'^team/(?P<id>\d+)/leaveconfirm/$',views.team_leaveconfirm_view),
url(r'^team/(?P<id>\d+)/leave/$',views.team_leave_view),
url(r'^team/(?P<id>\d+)/deleteconfirm/$',views.team_deleteconfirm_view),
url(r'^team/(?P<teamid>\d+)/requestmembership/(?P<userid>\d+)$',views.team_requestmembership_view),
url(r'^team/(?P<id>\d+)/delete/$',views.team_delete_view),
url(r'^team/create/$',views.team_create_view),
url(r'^me/team/(\d+)/drop/(\d+)$',views.manager_member_drop_view),
url(r'^me/invitation/(\d+)/reject$',views.invitation_reject_view),
url(r'^me/invitation/(\d+)/revoke$',views.invitation_revoke_view),
url(r'^me/team/(?P<teamid>\d+)/drop/(?P<userid>\d+)$',views.manager_member_drop_view),
url(r'^me/invitation/(?P<id>\d+)/reject$',views.invitation_reject_view),
url(r'^me/invitation/(?P<id>\d+)/revoke$',views.invitation_revoke_view),
url(r'^me/invitation/$',views.rower_invitations_view),
url(r'^me/invitation/(\w+.*)/$',views.rower_invitations_view),
url(r'^me/request/c/(?P<message>\w+.*)/$',views.manager_requests_view),
url(r'^me/request/(\d+)/revoke',views.request_revoke_view),
url(r'^me/request/(\d+)/reject',views.request_reject_view),
url(r'^me/request/(?P<id>\d+)/revoke',views.request_revoke_view),
url(r'^me/request/(?P<id>\d+)/reject',views.request_reject_view),
url(r'^me/request/(\w+.*)/$',views.manager_requests_view),
url(r'^me/request/$',views.manager_requests_view),
url(r'^me/edit/c/(?P<message>\w+.*)$',views.rower_edit_view),
url(r'^me/edit/s/(?P<successmessage>\w+.*)$',views.rower_edit_view),
url(r'^me/edit/$',views.rower_edit_view),
url(r'^me/edit/(.+.*)/$',views.rower_edit_view),
url(r'^me/c2authorize/$',views.rower_c2_authorize),
url(r'^me/revokeapp/(\d+)$',views.rower_revokeapp_view),
url(r'^me/revokeapp/(?P<id>\d+)$',views.rower_revokeapp_view),
url(r'^me/stravaauthorize/$',views.rower_strava_authorize),
url(r'^me/sporttracksauthorize/$',views.rower_sporttracks_authorize),
url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize),
@@ -304,7 +271,7 @@ urlpatterns = [
url(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>\w+.*)/(?P<plottype>\w+.*)$',views.workout_comparison_view2),
url(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>\w+.*)/$',views.workout_comparison_view2),
url(r'^test\_callback',views.rower_process_testcallback),
url(r'^workout/(\d+)/test\_strokedata$',views.strokedataform),
url(r'^workout/(?P<id>\d+)/test\_strokedata$',views.strokedataform),
]
if settings.DEBUG:

File diff suppressed because it is too large Load Diff

Binary file not shown.