Private
Public Access
1
0

passing tests - views.py split over multiple files

This commit is contained in:
Sander Roosendaal
2019-02-07 17:41:17 +01:00
parent a3b309fb16
commit bc8bda7a38
12 changed files with 389 additions and 365 deletions

View File

@@ -1,3 +1,5 @@
from __future__ import absolute_import from __future__ import absolute_import
from .tasks import app as celery_app from .tasks import app as celery_app

Binary file not shown.

View File

@@ -7,7 +7,7 @@ from models import Workout,Rower,StrokeData,FavoriteChart
from rest_framework import routers, serializers, viewsets,permissions from rest_framework import routers, serializers, viewsets,permissions
from rest_framework.urlpatterns import format_suffix_patterns from rest_framework.urlpatterns import format_suffix_patterns
from rest_framework.permissions import * from rest_framework.permissions import *
from . import views from rowers import views
from django.contrib.auth import views as auth_views from django.contrib.auth import views as auth_views
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from django.conf.urls import ( from django.conf.urls import (
@@ -108,198 +108,207 @@ urlpatterns = [
url(r'^o/authorize/$', base.AuthorizationView.as_view(), name="authorize"), url(r'^o/authorize/$', base.AuthorizationView.as_view(), name="authorize"),
url(r'^o/token/$', base.TokenView.as_view(), name="token"), url(r'^o/token/$', base.TokenView.as_view(), name="token"),
url(r'^', include(router.urls)), url(r'^', include(router.urls)),
url(r'^api-docs/$', views.schema_view), url(r'^api-docs/$', views.schema_view,name='schema_view'),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api/workouts/(?P<id>\d+)/strokedata/$',views.strokedatajson), url(r'^api/workouts/(?P<id>\d+)/strokedata/$',views.strokedatajson,name='strokedatajson'),
url(r'^500v/$',views.error500_view), url(r'^500v/$',views.error500_view,name='error500_view'),
url(r'^502/$', TemplateView.as_view(template_name='502.html'),name='502'), url(r'^502/$', TemplateView.as_view(template_name='502.html'),name='502'),
url(r'^500/$', TemplateView.as_view(template_name='500.html'),name='500'), url(r'^500/$', TemplateView.as_view(template_name='500.html'),name='500'),
url(r'^404/$', TemplateView.as_view(template_name='404.html'),name='404'), 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'^400/$', TemplateView.as_view(template_name='400.html'),name='400'),
url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'), url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'),
# url(r'^imports/$', views.imports_view), # url(r'^imports/$', views.imports_view),
url(r'^exportallworkouts/?/$',views.workouts_summaries_email_view), url(r'^exportallworkouts/?/$',views.workouts_summaries_email_view,name='workouts_summaries_email_view'),
url(r'^update_empower/$',views.rower_update_empower_view), url(r'^update_empower/$',views.rower_update_empower_view,name='rower_update_empower_view'),
url(r'^agegroupcp/(?P<age>\d+)/$',views.agegroupcpview), url(r'^agegroupcp/(?P<age>\d+)/$',views.agegroupcpview,name='agegroupcpview'),
url(r'^agegroupcp/(?P<age>\d+)/(?P<normalize>\d+)/$',views.agegroupcpview), url(r'^agegroupcp/(?P<age>\d+)/(?P<normalize>\d+)/$',views.agegroupcpview,name='agegroupcpview'),
url(r'^ajax_agegroup/(?P<age>\d+)/(?P<weightcategory>\w+.*)/(?P<sex>\w+.*)/(?P<userid>\d+)/$', url(r'^ajax_agegroup/(?P<age>\d+)/(?P<weightcategory>\w+.*)/(?P<sex>\w+.*)/(?P<userid>\d+)/$',
views.ajax_agegrouprecords), views.ajax_agegrouprecords,name='ajax_agegrouprecords'),
url(r'^updatefitness/(?P<mode>\w+.*)/(?P<days>\d+)/$',views.fitness_metric_view), url(r'^updatefitness/(?P<mode>\w+.*)/(?P<days>\d+)/$',views.fitness_metric_view,name='fitness_metric_view'),
url(r'^updatefitness/(?P<mode>\w+.*)/$',views.fitness_metric_view), url(r'^updatefitness/(?P<mode>\w+.*)/$',views.fitness_metric_view,name='fitness_metric_view'),
url(r'^updatefitness/$',views.fitness_metric_view), url(r'^updatefitness/$',views.fitness_metric_view,name='fitness_metric_view'),
url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<distance>\d+)m/$', url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<distance>\d+)m/$',
views.agegrouprecordview), views.agegrouprecordview,name='agegrouprecordview'),
url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<duration>\d+)min/$', url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/(?P<duration>\d+)min/$',
views.agegrouprecordview), views.agegrouprecordview,name='agegrouprecordview'),
url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/$', url(r'^agegrouprecords/(?P<sex>\w+.*)/(?P<weightcategory>\w+.*)/$',
views.agegrouprecordview), views.agegrouprecordview,name='agegrouprecordview'),
url(r'^list-workouts/ranking/$',views.workouts_view,{'rankingonly':True}), url(r'^list-workouts/ranking/$',views.workouts_view,{'rankingonly':True},
url(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view), name='workouts_view'),
url(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view), url(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
url(r'^(?P<rowerid>\d+)/list-workouts/$',views.workouts_view), name='workouts_view'),
url(r'^(?P<rowerid>\d+)/list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view), url(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view,
url(r'^list-workouts/user/(?P<userid>\d+)/$',views.workouts_view), name='workouts_view'),
url(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.workouts_view), url(r'^(?P<rowerid>\d+)/list-workouts/$',views.workouts_view,
url(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view), name='workouts_view'),
url(r'^virtualevents/$',views.virtualevents_view), url(r'^(?P<rowerid>\d+)/list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
url(r'^virtualevent/create/$',views.virtualevent_create_view), name='workouts_view'),
url(r'^virtualevent/createindoor/$',views.indoorvirtualevent_create_view), url(r'^list-workouts/user/(?P<userid>\d+)/$',views.workouts_view,
name='workouts_view'),
url(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.workouts_view,
name='workouts_view'),
url(r'^list-workouts/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_view,
name='workouts_view'),
url(r'^virtualevents/$',views.virtualevents_view,name='virtualevents_view'),
url(r'^virtualevent/create/$',views.virtualevent_create_view,name='virtualevent_create_view'),
url(r'^virtualevent/createindoor/$',views.indoorvirtualevent_create_view,name='indoorvirtualevent_create_view'),
url(r'^raceregistration/togglenotification/(?P<id>\d+)/$', url(r'^raceregistration/togglenotification/(?P<id>\d+)/$',
views.virtualevent_toggle_email_view), views.virtualevent_toggle_email_view,name='virtualevent_toggle_email_view'),
url(r'^indoorraceregistration/togglenotification/(?P<id>\d+)/$', url(r'^indoorraceregistration/togglenotification/(?P<id>\d+)/$',
views.indoorvirtualevent_toggle_email_view), views.indoorvirtualevent_toggle_email_view,name='indoorvirtualevent_toggle_email_view'),
url(r'^virtualevent/(?P<id>\d+)/$',views.virtualevent_view), url(r'^virtualevent/(?P<id>\d+)/$',views.virtualevent_view,name='virtualevent_view'),
url(r'^virtualevent/(?P<id>\d+)/ranking$',views.virtualevent_ranking_view), url(r'^virtualevent/(?P<id>\d+)/ranking$',views.virtualevent_ranking_view,name='virtualevent_ranking_view'),
url(r'^virtualevent/(?P<id>\d+)/edit/$',views.virtualevent_edit_view), url(r'^virtualevent/(?P<id>\d+)/edit/$',views.virtualevent_edit_view,name='virtualevent_edit_view'),
url(r'^virtualevent/(?P<id>\d+)/editindoor/$',views.indoorvirtualevent_edit_view), url(r'^virtualevent/(?P<id>\d+)/editindoor/$',views.indoorvirtualevent_edit_view,name='indoorvirtualevent_edit_view'),
url(r'^virtualevent/(?P<id>\d+)/register/$',views.virtualevent_register_view), url(r'^virtualevent/(?P<id>\d+)/register/$',views.virtualevent_register_view,name='virtualevent_register_view'),
url(r'^virtualevent/(?P<id>\d+)/registerindoor/$',views.indoorvirtualevent_register_view), url(r'^virtualevent/(?P<id>\d+)/registerindoor/$',views.indoorvirtualevent_register_view,name='indoorvirtualevent_register_view'),
url(r'^virtualevent/(?P<id>\d+)/adddiscipline/$',views.virtualevent_addboat_view), url(r'^virtualevent/(?P<id>\d+)/adddiscipline/$',views.virtualevent_addboat_view,name='virtualevent_addboat_view'),
url(r'^virtualevent/(?P<id>\d+)/withdraw/(?P<recordid>\d+)/$',views.virtualevent_withdraw_view), url(r'^virtualevent/(?P<id>\d+)/withdraw/(?P<recordid>\d+)/$',views.virtualevent_withdraw_view,name='virtualevent_withdraw_view'),
url(r'^virtualevent/(?P<id>\d+)/withdraw/$',views.virtualevent_withdraw_view), url(r'^virtualevent/(?P<id>\d+)/withdraw/$',views.virtualevent_withdraw_view,name='virtualevent_withdraw_view'),
url(r'^virtualevent/(?P<id>\d+)/submit/$', url(r'^virtualevent/(?P<id>\d+)/submit/$',
views.virtualevent_submit_result_view), views.virtualevent_submit_result_view,name='virtualevent_submit_result_view'),
url(r'^virtualevent/(?P<id>\d+)/submit/(?P<workoutid>\d+)/$', url(r'^virtualevent/(?P<id>\d+)/submit/(?P<workoutid>\d+)/$',
views.virtualevent_submit_result_view), views.virtualevent_submit_result_view,name='virtualevent_submit_result_view'),
url(r'^virtualevent/(?P<raceid>\d+)/disqualify/(?P<recordid>\d+)/', url(r'^virtualevent/(?P<raceid>\d+)/disqualify/(?P<recordid>\d+)/',
views.virtualevent_disqualify_view), views.virtualevent_disqualify_view,name='virtualevent_submit_disqualify_view'),
url(r'^list-workouts/$',views.workouts_view), url(r'^list-workouts/$',views.workouts_view,
url(r'^list-courses/$',views.courses_view), name='workouts_view'),
url(r'^courses/upload/$',views.course_upload_view), url(r'^list-courses/$',views.courses_view,name='courses_view'),
url(r'^workout/addmanual/$',views.addmanual_view), url(r'^courses/upload/$',views.course_upload_view,name='course_upload_view'),
url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^workout/addmanual/$',views.addmanual_view,name='addmanual_view'),
url(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), url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select), url(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'),
url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select), url(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'),
url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(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), url(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'),
url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select), url(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'),
url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/workout/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/workout/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select), url(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'),
url(r'^team-compare-select/workout/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/workout/(?P<id>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/team/(?P<teamid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/user/(?P<userid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P<teamid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^team-compare-select/$',views.team_comparison_select), url(r'^team-compare-select/user/(?P<userid>\d+)/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^workouts-join-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_join_select), url(r'^team-compare-select/$',views.team_comparison_select,name='team_comparison_select'),
url(r'^workouts-join/$',views.workouts_join_view), url(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'),
url(r'^workouts-join-select/team/(?P<teamid>\d+)/$',views.workouts_join_select), url(r'^workouts-join/$',views.workouts_join_view,name='workouts_join_view'),
url(r'^workouts-join-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_join_select), url(r'^workouts-join-select/team/(?P<teamid>\d+)/$',views.workouts_join_select,name='workouts_join_select'),
url(r'^workouts-join-select/$',views.workouts_join_select), url(r'^workouts-join-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workouts_join_select,name='workouts_join_select'),
url(r'^user-boxplot-select/user/(?P<userid>\d+)/$',views.user_boxplot_select), url(r'^workouts-join-select/$',views.workouts_join_select,name='workouts_join_select'),
url(r'^user-boxplot-select/$',views.user_boxplot_select), url(r'^user-boxplot-select/user/(?P<userid>\d+)/$',views.user_boxplot_select,name='user_boxplot_select'),
url(r'^user-multiflex-select/user/(?P<userid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select), url(r'^user-boxplot-select/$',views.user_boxplot_select,name='user_boxplot_select'),
url(r'^user-multiflex-select/user/(?P<userid>\d+)/$',views.user_multiflex_select), url(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'),
url(r'^user-multiflex-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select), url(r'^user-multiflex-select/user/(?P<userid>\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
url(r'^user-multiflex-select/$',views.user_multiflex_select), url(r'^user-multiflex-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
url(r'^list-jobs/$',views.session_jobs_view), url(r'^user-multiflex-select/$',views.user_multiflex_select,name='user_multiflex_select'),
url(r'^jobs-status/$',views.session_jobs_status), url(r'^list-jobs/$',views.session_jobs_view,name='session_jobs_view'),
url(r'^jobs-status/$',views.session_jobs_status,name='session_jobs_status'),
url(r'^job-kill/(?P<id>.*)/$',views.kill_async_job), url(r'^job-kill/(?P<id>.*)/$',views.kill_async_job),
url(r'^test-job/(?P<aantal>\d+)/$',views.test_job_view), url(r'^test-job/(?P<aantal>\d+)/$',views.test_job_view),
url(r'^test-job2/(?P<aantal>\d+)/$',views.test_job_view2), url(r'^test-job2/(?P<aantal>\d+)/$',views.test_job_view2),
url(r'^record-progress/(?P<value>\d+)/(?P<id>.*)/$',views.post_progress), url(r'^record-progress/(?P<value>\d+)/(?P<id>.*)/$',views.post_progress,name='post_progress'),
url(r'^record-progress/(?P<id>.*)/$',views.post_progress), url(r'^record-progress/(?P<id>.*)/$',views.post_progress),
url(r'^record-progress/$',views.post_progress), url(r'^record-progress/$',views.post_progress),
url(r'^list-graphs/$',views.graphs_view), url(r'^list-graphs/$',views.graphs_view,name='graphs_view'),
url(r'^fitness-progress/$',views.fitnessmetric_view), url(r'^fitness-progress/$',views.fitnessmetric_view,name='fitnessmetric_view'),
url(r'^fitness-progress/user/(?P<id>\d+)/$',views.fitnessmetric_view), url(r'^fitness-progress/user/(?P<id>\d+)/$',views.fitnessmetric_view,name='fitnessmetric_view'),
url(r'^fitness-progress/user/(?P<id>\d+)/(?P<mode>\w+.*)/$',views.fitnessmetric_view), url(r'^fitness-progress/user/(?P<id>\d+)/(?P<mode>\w+.*)/$',views.fitnessmetric_view,name='fitnessmetric_view'),
url(r'^ote-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view), url(r'^ote-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view,name='rankings_view'),
url(r'^ote-bests/user/(?P<theuser>\d+)/$',views.rankings_view), url(r'^ote-bests/user/(?P<theuser>\d+)/$',views.rankings_view,name='rankings_view'),
url(r'^ote-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view), url(r'^ote-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view,name='rankings_view'),
url(r'^ote-bests/$',views.rankings_view), url(r'^ote-bests/$',views.rankings_view,name='rankings_view'),
url(r'^(?P<theuser>\d+)/ote-bests/$',views.rankings_view), url(r'^(?P<theuser>\d+)/ote-bests/$',views.rankings_view,name='rankings_view'),
url(r'^(?P<theuser>\d+)/ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2), url(r'^(?P<theuser>\d+)/ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2,name='rankings_view2'),
url(r'^ote-bests2/user/(?P<theuser>\d+)/$',views.rankings_view2), url(r'^ote-bests2/user/(?P<theuser>\d+)/$',views.rankings_view2,name='rankings_view2'),
url(r'^ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2), url(r'^ote-bests2/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.rankings_view2,name='rankings_view2'),
url(r'^ote-bests2/$',views.rankings_view2), url(r'^ote-bests2/$',views.rankings_view2,name='rankings_view2'),
url(r'^otw-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view), url(r'^otw-bests/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view,name='otwrankings_view'),
url(r'^otw-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view), url(r'^otw-bests/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwrankings_view,name='otwrankings_view'),
url(r'^otw-bests/user/(?P<theuser>\d+)/$',views.otwrankings_view), url(r'^otw-bests/user/(?P<theuser>\d+)/$',views.otwrankings_view,name='otwrankings_view'),
url(r'^otw-bests/$',views.otwrankings_view), url(r'^otw-bests/$',views.otwrankings_view,name='otwrankings_view'),
url(r'^ote-ranking/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view), url(r'^ote-ranking/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view,name='oterankings_view'),
url(r'^ote-ranking/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view), url(r'^ote-ranking/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.oterankings_view,name='oterankings_view'),
url(r'^ote-ranking/$',views.oterankings_view), url(r'^ote-ranking/$',views.oterankings_view,name='oterankings_view'),
url(r'^ote-ranking/user/(?P<theuser>\d+)/$',views.oterankings_view), url(r'^ote-ranking/user/(?P<theuser>\d+)/$',views.oterankings_view,name='oterankings_view'),
url(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), url(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'),
url(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cum_flex), url(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'),
url(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/$',views.cum_flex), url(r'^flexall/(?P<xparam>\w+.*)/(?P<yparam1>\w+.*)/(?P<yparam2>\w+.*)/$',views.cum_flex,name='cum_flex'),
url(r'^flexall/user/(?P<theuser>\d+)/$',views.cum_flex), url(r'^flexall/user/(?P<theuser>\d+)/$',views.cum_flex,name='cum_flex'),
url(r'^flexall/$',views.cum_flex), url(r'^flexall/$',views.cum_flex,name='cum_flex'),
url(r'^flexalldata/$',views.cum_flex_data), url(r'^flexalldata/$',views.cum_flex_data,name='cum_flex_data'),
url(r'^histo/user/(?P<theuser>\d+)/$',views.histo), url(r'^histo/user/(?P<theuser>\d+)/$',views.histo,name='histo'),
url(r'^histodata/$',views.histo_data), url(r'^histodata/$',views.histo_data,name='histo_data'),
url(r'^histo/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.histo), url(r'^histo/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.histo,name='histo'),
url(r'^histo/$',views.histo), url(r'^histo/$',views.histo,name='histo'),
url(r'^cumstats/user/(?P<theuser>\d+)/$',views.cumstats), url(r'^cumstats/user/(?P<theuser>\d+)/$',views.cumstats,name='cumstats'),
url(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats), url(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
url(r'^cumstats/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats), url(r'^cumstats/user/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
url(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats), url(r'^cumstats/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.cumstats,name='cumstats'),
url(r'^cumstats/$',views.cumstats), url(r'^cumstats/$',views.cumstats,name='cumstats'),
url(r'^graph/(?P<id>\d+)/$',views.graph_show_view), url(r'^graph/(?P<id>\d+)/$',views.graph_show_view,name='graph_show_view'),
url(r'^graph/(?P<pk>\d+)/delete/$',views.GraphDelete.as_view(),name='graph_delete'), url(r'^graph/(?P<pk>\d+)/delete/$',views.GraphDelete.as_view(),name='graph_delete'),
url(r'^workout/(?P<id>\d+)/get-thumbnails/$',views.get_thumbnails), url(r'^workout/(?P<id>\d+)/get-thumbnails/$',views.get_thumbnails,name='get_thumbnails'),
url(r'^workout/(?P<id>\d+)/toggle-ranking/$',views.workout_toggle_ranking), url(r'^workout/(?P<id>\d+)/toggle-ranking/$',views.workout_toggle_ranking,name='workout_toggle_ranking'),
url(r'^workout/(?P<id>\d+)/get-testscript/$',views.get_testscript), url(r'^workout/(?P<id>\d+)/get-testscript/$',views.get_testscript),
url(r'^workout/upload/team/$',views.team_workout_upload_view), url(r'^workout/upload/team/$',views.team_workout_upload_view,name='team_workout_upload_view'),
url(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'), url(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'),
url(r'^workout/(?P<id>\d+)/histo/$',views.workout_histo_view), url(r'^workout/(?P<id>\d+)/histo/$',views.workout_histo_view,name='workout_histo_view'),
url(r'^workout/(?P<id>\d+)/task/$',views.workout_test_task_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+)/forcecurve/$',views.workout_forcecurve_view,name='workout_forcecurve_view'),
url(r'^workout/(?P<id>\d+)/unsubscribe/$',views.workout_unsubscribe_view), url(r'^workout/(?P<id>\d+)/unsubscribe/$',views.workout_unsubscribe_view,name='workout_unsubscribe_view'),
# url(r'^workout/(?P<id>\d+)/export/$',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/(?P<id>\d+)/comment/$',views.workout_comment_view,name='workout_comment_view'),
url(r'^workout/(?P<id>\d+)/emailtcx/$',views.workout_tcxemail_view), url(r'^workout/(?P<id>\d+)/emailtcx/$',views.workout_tcxemail_view,name='workout_tcxemail_view'),
url(r'^workout/(?P<id>\d+)/emailgpx/$',views.workout_gpxemail_view), url(r'^workout/(?P<id>\d+)/emailgpx/$',views.workout_gpxemail_view,name='workout_gpxemail_view'),
url(r'^workout/(?P<id>\d+)/emailcsv/$',views.workout_csvemail_view), url(r'^workout/(?P<id>\d+)/emailcsv/$',views.workout_csvemail_view,name='workout_csvemail_view'),
url(r'^workout/(?P<id>\d+)/csvtoadmin/$',views.workout_csvtoadmin_view), url(r'^workout/(?P<id>\d+)/csvtoadmin/$',views.workout_csvtoadmin_view,name='workout_csvtoadmin_view'),
url(r'^ergcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otecp_toadmin_view), url(r'^ergcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otecp_toadmin_view,name='otecp_toadmin_view'),
url(r'^otwcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwcp_toadmin_view), url(r'^otwcpdatatoadmin/(?P<theuser>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.otwcp_toadmin_view,name='otwcp_toadmin_view'),
# url(r'^workout/compare/(?P<id>\d+)/$',views.workout_comparison_list), # 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/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>\d+-\d+-\d+)/$',views.workout_comparison_list), # url(r'^workout/compare/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workout_comparison_list),
url(r'^workout/(?P<id>\d+)/edit/$',views.workout_edit_view, url(r'^workout/(?P<id>\d+)/edit/$',views.workout_edit_view,
name='workout_edit_view'), name='workout_edit_view'),
url(r'^workout/(?P<id>\d+)/map/$',views.workout_map_view), url(r'^workout/(?P<id>\d+)/map/$',views.workout_map_view,name='workout_map_view'),
# url(r'^workout/(?P<id>\d+)/setprivate/$',views.workout_setprivate_view), # url(r'^workout/(?P<id>\d+)/setprivate/$',views.workout_setprivate_view),
url(r'^workout/(?P<id>\d+)/updatecp/$',views.workout_update_cp_view), url(r'^workout/(?P<id>\d+)/updatecp/$',views.workout_update_cp_view,name='workout_update_cp_view'),
# url(r'^workout/(?P<id>\d+)/makepublic/$',views.workout_makepublic_view), # url(r'^workout/(?P<id>\d+)/makepublic/$',views.workout_makepublic_view),
# url(r'^workout/(?P<id>\d+)/geeky/$',views.workout_geeky_view), # url(r'^workout/(?P<id>\d+)/geeky/$',views.workout_geeky_view),
# url(r'^workout/(?P<id>\d+)/advanced/$',views.workout_advanced_view), # url(r'^workout/(?P<id>\d+)/advanced/$',views.workout_advanced_view),
url(r'^workout/(?P<id>\d+)/instroke/(?P<metric>\w+.*)/$',views.instroke_chart), url(r'^workout/(?P<id>\d+)/instroke/(?P<metric>\w+.*)/$',views.instroke_chart,name='instroke_chart'),
url(r'^workout/(?P<id>\d+)/instroke/$',views.instroke_view), url(r'^workout/(?P<id>\d+)/instroke/$',views.instroke_view,name='instroke_view'),
url(r'^workout/(?P<id>\d+)/stats/$',views.workout_stats_view,name='workout_stats_view'), url(r'^workout/(?P<id>\d+)/stats/$',views.workout_stats_view,name='workout_stats_view'),
url(r'^workout/(?P<id>\d+)/data/$',views.workout_data_view, url(r'^workout/(?P<id>\d+)/data/$',views.workout_data_view,
name='workout_data_view'), name='workout_data_view'),
url(r'^workout/(?P<id>\d+)/otwsetpower/$',views.workout_otwsetpower_view), url(r'^workout/(?P<id>\d+)/otwsetpower/$',views.workout_otwsetpower_view,name='workout_otwsetpower_view'),
url(r'^workout/(?P<id>\d+)/interactiveotwplot/$',views.workout_otwpowerplot_view), url(r'^workout/(?P<id>\d+)/interactiveotwplot/$',views.workout_otwpowerplot_view,name='workout_otwpowerplot_view'),
url(r'^workout/(?P<id>\d+)/wind/$',views.workout_wind_view), url(r'^workout/(?P<id>\d+)/wind/$',views.workout_wind_view,name='workout_wind_view'),
url(r'^workout/(?P<id>\d+)/image/$',views.workout_uploadimage_view), url(r'^workout/(?P<id>\d+)/image/$',views.workout_uploadimage_view,name='workout_uploadimage_view'),
url(r'^virtualevent/(?P<id>\d+)/compare/$',views.virtualevent_compare_view), url(r'^virtualevent/(?P<id>\d+)/compare/$',views.virtualevent_compare_view,name='virtualevent_compare_view'),
url(r'^virtualevent/(?P<id>\d+)/image/$', url(r'^virtualevent/(?P<id>\d+)/image/$',
views.virtualevent_uploadimage_view), views.virtualevent_uploadimage_view,name='virtualevent_uploadimage_view'),
url(r'^virtualevent/(?P<id>\d+)/setimage/(?P<logoid>\d+)/$', url(r'^virtualevent/(?P<id>\d+)/setimage/(?P<logoid>\d+)/$',
views.virtualevent_setlogo_view), views.virtualevent_setlogo_view,name='virtualevent_setlog_view'),
url(r'^logo/(?P<id>\d+)/delete/$', url(r'^logo/(?P<id>\d+)/delete/$',
views.logo_delete_view), views.logo_delete_view,name='logo_delete_view'),
url(r'^workout/(?P<id>\d+)/darkskywind/$',views.workout_downloadwind_view), url(r'^workout/(?P<id>\d+)/darkskywind/$',views.workout_downloadwind_view,name='workout_downloadwind_view'),
url(r'^workout/(?P<id>\d+)/metar/(?P<airportcode>\w+)/$',views.workout_downloadmetar_view), url(r'^workout/(?P<id>\d+)/metar/(?P<airportcode>\w+)/$',views.workout_downloadmetar_view,name='workout_downloadmetar_view'),
url(r'^workout/(?P<id>\d+)/stream/$',views.workout_stream_view), url(r'^workout/(?P<id>\d+)/stream/$',views.workout_stream_view,name='workout_stream_view'),
# url(r'^workout/(?P<id>\d+)/crewnerdsummary/$',views.workout_crewnerd_summary_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+)/editintervals/$',views.workout_summary_edit_view,
name='workout_summary_edit_view'), name='workout_summary_edit_view'),
url(r'^workout/(?P<id>\d+)/restore/$',views.workout_summary_restore_view), url(r'^workout/(?P<id>\d+)/restore/$',views.workout_summary_restore_view,name='workout_summary_restore_view'),
url(r'^workout/(?P<id>\d+)/split/$',views.workout_split_view), url(r'^workout/(?P<id>\d+)/split/$',views.workout_split_view,name='workout_split_view'),
# url(r'^workout/(?P<id>\d+)/interactiveplot/$',views.workout_biginteractive_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+)/view/$',views.workout_view,name='workout_view'),
url(r'^workout/(?P<id>\d+)/$',views.workout_view), url(r'^workout/(?P<id>\d+)/$',views.workout_view,name='workout_view'),
url(r'^workout/fusion/(?P<id1>\d+)/(?P<id2>\d+)/$',views.workout_fusion_view), url(r'^workout/fusion/(?P<id1>\d+)/(?P<id2>\d+)/$',views.workout_fusion_view,name='workout_fusion_view'),
url(r'^workout/fusion/(?P<id>\d+)/$',views.workout_fusion_list), url(r'^workout/fusion/(?P<id>\d+)/$',views.workout_fusion_list,name='workout_fusion_list'),
url(r'^workout/fusion/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workout_fusion_list), url(r'^workout/fusion/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.workout_fusion_list,name='workout_fusion_list'),
url(r'^help/$',TemplateView.as_view( url(r'^help/$',TemplateView.as_view(
template_name='help.html'),name='help' template_name='help.html'),name='help'
), ),
@@ -308,125 +317,126 @@ urlpatterns = [
# keeping the old URLs for retrofit # keeping the old URLs for retrofit
url(r'^workout/(?P<id>\d+)/addtimeplot/$', url(r'^workout/(?P<id>\d+)/addtimeplot/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'1'}), {'plotnr':'1'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/adddistanceplot/$', url(r'^workout/(?P<id>\d+)/adddistanceplot/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'2'}), {'plotnr':'2'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/addpiechart/$', url(r'^workout/(?P<id>\d+)/addpiechart/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'3'}), {'plotnr':'3'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/adddistanceplot2/$', url(r'^workout/(?P<id>\d+)/adddistanceplot2/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'7'}), {'plotnr':'7'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/addtimeplot2/$', url(r'^workout/(?P<id>\d+)/addtimeplot2/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'8'}), {'plotnr':'8'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/addotwpowerplot/$', url(r'^workout/(?P<id>\d+)/addotwpowerplot/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'9'}), {'plotnr':'9'},name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/addpowerpiechart/$', url(r'^workout/(?P<id>\d+)/addpowerpiechart/$',
views.workout_add_chart_view, views.workout_add_chart_view,
{'plotnr':'13'}), {'plotnr':'13'},name='workout_add_chart_view'),
# addstatic is the new URL -> need to update in templates # addstatic is the new URL -> need to update in templates
url(r'^workout/(?P<id>\d+)/addstatic/(?P<plotnr>\d+)/$', url(r'^workout/(?P<id>\d+)/addstatic/(?P<plotnr>\d+)/$',
views.workout_add_chart_view), views.workout_add_chart_view,name='workout_add_chart_view'),
url(r'^workout/(?P<id>\d+)/addstatic/$',views.workout_add_chart_view), url(r'^workout/(?P<id>\d+)/addstatic/$',views.workout_add_chart_view,name='workout_add_chart_view'),
url(r'^workout/(?P<pk>\d+)/delete/$',login_required( url(r'^workout/(?P<pk>\d+)/delete/$',login_required(
views.WorkoutDelete.as_view()), views.WorkoutDelete.as_view()),
name='workout_delete'), name='workout_delete'),
url(r'^workout/(?P<id>\d+)/smoothenpace/$',views.workout_smoothenpace_view), url(r'^workout/(?P<id>\d+)/smoothenpace/$',views.workout_smoothenpace_view,name='workout_smoothenpace_view'),
url(r'^workout/(?P<id>\d+)/undosmoothenpace/$',views.workout_undo_smoothenpace_view), url(r'^workout/(?P<id>\d+)/undosmoothenpace/$',views.workout_undo_smoothenpace_view,name='workout_undo_smoothenpace_view'),
url(r'^workout/c2import/$',views.workout_c2import_view), url(r'^workout/c2import/$',views.workout_c2import_view,name='workout_c2import_view'),
url(r'^workout/c2list/$',views.workout_c2import_view), url(r'^workout/c2list/$',views.workout_c2import_view,name='workout_c2import_view'),
url(r'^workout/c2list/(?P<page>\d+)/$',views.workout_c2import_view), url(r'^workout/c2list/(?P<page>\d+)/$',views.workout_c2import_view,name='workout_c2import_view'),
url(r'^workout/c2list/user/(?P<userid>\d+)/$',views.workout_c2import_view), url(r'^workout/c2list/user/(?P<userid>\d+)/$',views.workout_c2import_view,name='workout_c2import_view'),
url(r'^workout/c2list/(?P<page>\d+)/user/(?P<userid>\d+)/$',views.workout_c2import_view), url(r'^workout/c2list/(?P<page>\d+)/user/(?P<userid>\d+)/$',views.workout_c2import_view,name='workout_c2import_view'),
url(r'^workout/stravaimport/$',views.workout_stravaimport_view), url(r'^workout/stravaimport/$',views.workout_stravaimport_view,name='workout_stravaimport_view'),
url(r'^workout/stravaimport/user/(?P<userid>\d+)/$',views.workout_stravaimport_view), url(r'^workout/stravaimport/user/(?P<userid>\d+)/$',views.workout_stravaimport_view,name='workout_stravaimport_view'),
url(r'^workout/c2import/all/$',views.workout_getc2workout_all), url(r'^workout/c2import/all/$',views.workout_getc2workout_all,name='workout_getc2workout_all'),
url(r'^workout/c2import/all/(?P<page>\d+)/$',views.workout_getc2workout_all), url(r'^workout/c2import/all/(?P<page>\d+)/$',views.workout_getc2workout_all,name='workout_getc2workout_all'),
url(r'^workout/(?P<source>\w+.*)import/(?P<externalid>\d+)/$',views.workout_getimportview), url(r'^workout/(?P<source>\w+.*)import/(?P<externalid>\d+)/$',views.workout_getimportview,name='workout_getimportview'),
url(r'^workout/stravaimport/all/$',views.workout_getstravaworkout_all), url(r'^workout/stravaimport/all/$',views.workout_getstravaworkout_all,name='workout_getstravaworkout_all'),
url(r'^workout/stravaimport/next/$',views.workout_getstravaworkout_next), url(r'^workout/stravaimport/next/$',views.workout_getstravaworkout_next,name='workout_getstravaworkout_next'),
url(r'^workout/sporttracksimport/$',views.workout_sporttracksimport_view), url(r'^workout/sporttracksimport/$',views.workout_sporttracksimport_view,name='workout_sporttracksimport_view'),
url(r'^workout/sporttracksimport/user/(?P<userid>\d+)/$',views.workout_sporttracksimport_view), url(r'^workout/sporttracksimport/user/(?P<userid>\d+)/$',views.workout_sporttracksimport_view,name='workout_sporttracksimport_view'),
url(r'^workout/sporttracksimport/all/$',views.workout_getsporttracksworkout_all), url(r'^workout/sporttracksimport/all/$',views.workout_getsporttracksworkout_all,name='workout_getsporttracksworkout_all'),
url(r'^workout/polarimport/$',views.workout_polarimport_view), url(r'^workout/polarimport/$',views.workout_polarimport_view,name='workout_polarimport_view'),
url(r'^workout/polarimport/user/(?P<userid>\d+)/',views.workout_polarimport_view), url(r'^workout/polarimport/user/(?P<userid>\d+)/',views.workout_polarimport_view,name='workout_polarimport_view'),
url(r'^workout/runkeeperimport/$',views.workout_runkeeperimport_view), url(r'^workout/runkeeperimport/$',views.workout_runkeeperimport_view,name='workout_runkeeperimport_view'),
url(r'^workout/runkeeperimport/user/(?P<userid>\d+)/$',views.workout_runkeeperimport_view), url(r'^workout/runkeeperimport/user/(?P<userid>\d+)/$',views.workout_runkeeperimport_view,name='workout_runkeeperimport_view'),
url(r'^workout/underarmourimport/$',views.workout_underarmourimport_view), url(r'^workout/underarmourimport/$',views.workout_underarmourimport_view,name='workout_underarmourimport_view'),
# url(r'^workout/(?P<id>\d+)/deleteconfirm/$',views.workout_delete_confirm_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+)/c2uploadw/$',views.workout_c2_upload_view,name='workout_c2_upload_view'),
url(r'^workout/(?P<id>\d+)/stravauploadw/$',views.workout_strava_upload_view), url(r'^workout/(?P<id>\d+)/stravauploadw/$',views.workout_strava_upload_view,name='workout_strava_upload_view'),
url(r'^workout/(?P<id>\d+)/recalcsummary/$',views.workout_recalcsummary_view), url(r'^workout/(?P<id>\d+)/recalcsummary/$',views.workout_recalcsummary_view,name='workout_recalcsummary_view'),
url(r'^workout/(?P<id>\d+)/sporttracksuploadw/$',views.workout_sporttracks_upload_view), url(r'^workout/(?P<id>\d+)/sporttracksuploadw/$',views.workout_sporttracks_upload_view,name='workout_sporttracks_upload_view'),
url(r'^workout/(?P<id>\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view), url(r'^workout/(?P<id>\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view,name='workout_runkeeper_upload_view'),
url(r'^workout/(?P<id>\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view), url(r'^workout/(?P<id>\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view,name='workout_underarmour_upload_view'),
url(r'^workout/(?P<id>\d+)/tpuploadw/$',views.workout_tp_upload_view), url(r'^workout/(?P<id>\d+)/tpuploadw/$',views.workout_tp_upload_view,name='workout_tp_upload_view'),
url(r'^multi-compare/workout/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.multi_compare_view), url(r'^multi-compare/workout/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.multi_compare_view,
url(r'^multi-compare/workout/(?P<id>\d+)/$',views.multi_compare_view), name='multi_compare_view'),
url(r'^multi-compare/$',views.multi_compare_view), url(r'^multi-compare/workout/(?P<id>\d+)/$',views.multi_compare_view,name='multi_compare_view'),
url(r'^user-boxplot/user/(?P<userid>\d+)/$',views.boxplot_view), url(r'^multi-compare/$',views.multi_compare_view,name='multi_compare_view'),
url(r'^user-boxplot/$',views.boxplot_view), url(r'^user-boxplot/user/(?P<userid>\d+)/$',views.boxplot_view,name='boxplot_view'),
url(r'^user-boxplot-data/$',views.boxplot_view_data), url(r'^user-boxplot/$',views.boxplot_view,name='boxplot_view'),
url(r'^user-multiflex/user/(?P<userid>\d+)/$',views.multiflex_view), url(r'^user-boxplot-data/$',views.boxplot_view_data,name='boxplot_view_data'),
url(r'^user-multiflex/$',views.multiflex_view), url(r'^user-multiflex/user/(?P<userid>\d+)/$',views.multiflex_view,name='multiflex_view'),
url(r'^user-multiflex-data/$',views.multiflex_data), url(r'^user-multiflex/$',views.multiflex_view,name='multiflex_view'),
url(r'^me/deactivate/$',views.deactivate_user), url(r'^user-multiflex-data/$',views.multiflex_data,name='multiflex_data'),
url(r'^me/delete/$',views.remove_user), url(r'^me/deactivate/$',views.deactivate_user,name='deactivate_user'),
url(r'^me/gdpr-optin-confirm/?/$',views.user_gdpr_confirm), url(r'^me/delete/$',views.remove_user,name='remove_user'),
url(r'^me/gdpr-optin-confirm/$',views.user_gdpr_confirm), url(r'^me/gdpr-optin-confirm/?/$',views.user_gdpr_confirm,name='user_gdpr_confirm'),
url(r'^me/gdpr-optin/?/$',views.user_gdpr_optin), url(r'^me/gdpr-optin-confirm/$',views.user_gdpr_confirm,name='user_gdpr_confirm'),
url(r'^me/gdpr-optin/$',views.user_gdpr_optin), url(r'^me/gdpr-optin/?/$',views.user_gdpr_optin,name='user_gdpr_optin'),
url(r'^me/teams/$',views.rower_teams_view), url(r'^me/gdpr-optin/$',views.user_gdpr_optin,name='user_gdpr_optin'),
url(r'^me/calcdps/$',views.rower_calcdps_view), url(r'^me/teams/$',views.rower_teams_view,name='rower_teams_view'),
url(r'^me/exportsettings/$',views.rower_exportsettings_view), url(r'^me/calcdps/$',views.rower_calcdps_view,name='rower_calcdps_view'),
url(r'^me/exportsettings/user/(?P<userid>\d+)/$',views.rower_exportsettings_view), url(r'^me/exportsettings/$',views.rower_exportsettings_view,name='rower_exportsettings_view'),
url(r'^team/(?P<id>\d+)/$',views.team_view), url(r'^me/exportsettings/user/(?P<userid>\d+)/$',views.rower_exportsettings_view,name='rower_exportsettings_view'),
url(r'^team/(?P<id>\d+)/memberstats/$',views.team_members_stats_view), url(r'^team/(?P<id>\d+)/$',views.team_view,name='team_view'),
url(r'^team/(?P<id>\d+)/edit/$',views.team_edit_view), url(r'^team/(?P<id>\d+)/memberstats/$',views.team_members_stats_view,name='team_members_stats_view'),
url(r'^team/(?P<id>\d+)/leaveconfirm/$',views.team_leaveconfirm_view), url(r'^team/(?P<id>\d+)/edit/$',views.team_edit_view,name='team_edit_view'),
url(r'^team/(?P<id>\d+)/leave/$',views.team_leave_view), url(r'^team/(?P<id>\d+)/leaveconfirm/$',views.team_leaveconfirm_view,name='team_leaveconfirm_view'),
url(r'^team/(?P<id>\d+)/deleteconfirm/$',views.team_deleteconfirm_view), url(r'^team/(?P<id>\d+)/leave/$',views.team_leave_view,name='team_leave_view'),
url(r'^team/(?P<teamid>\d+)/requestmembership/(?P<userid>\d+)/$',views.team_requestmembership_view), url(r'^team/(?P<id>\d+)/deleteconfirm/$',views.team_deleteconfirm_view,name='team_deleteconfirm_view'),
url(r'^team/(?P<id>\d+)/delete/$',views.team_delete_view), url(r'^team/(?P<teamid>\d+)/requestmembership/(?P<userid>\d+)/$',views.team_requestmembership_view,name='team_requestmembership_view'),
url(r'^team/create/$',views.team_create_view), url(r'^team/(?P<id>\d+)/delete/$',views.team_delete_view,name='team_delete_view'),
url(r'^me/team/(?P<teamid>\d+)/drop/(?P<userid>\d+)/$',views.manager_member_drop_view), url(r'^team/create/$',views.team_create_view,name='team_create_view'),
url(r'^me/invitation/(?P<id>\d+)/reject/$',views.invitation_reject_view), url(r'^me/team/(?P<teamid>\d+)/drop/(?P<userid>\d+)/$',views.manager_member_drop_view,name='manager_member_drop_view'),
url(r'^me/invitation/(?P<id>\d+)/revoke/$',views.invitation_revoke_view), url(r'^me/invitation/(?P<id>\d+)/reject/$',views.invitation_reject_view,name='invitation_reject_view'),
url(r'^me/invitation/$',views.rower_invitations_view), url(r'^me/invitation/(?P<id>\d+)/revoke/$',views.invitation_revoke_view,name='invitation_revoke_view'),
url(r'^me/raise500/$',views.raise_500), url(r'^me/invitation/$',views.rower_invitations_view,name='rower_invitations_view'),
url(r'^me/invitation/(\w+.*)/$',views.rower_invitations_view), url(r'^me/raise500/$',views.raise_500,name='raise_500'),
url(r'^me/request/(?P<id>\d+)/revoke/$',views.request_revoke_view), url(r'^me/invitation/(\w+.*)/$',views.rower_invitations_view,name='rower_invitations_view'),
url(r'^me/request/(?P<id>\d+)/reject/$',views.request_reject_view), url(r'^me/request/(?P<id>\d+)/revoke/$',views.request_revoke_view,name='request_revoke_view'),
url(r'^me/request/(\w+.*)/$',views.manager_requests_view), url(r'^me/request/(?P<id>\d+)/reject/$',views.request_reject_view,name='request_reject_view'),
url(r'^me/request/$',views.manager_requests_view), url(r'^me/request/(\w+.*)/$',views.manager_requests_view,name='manager_requests_view'),
url(r'^me/edit/$',views.rower_edit_view), url(r'^me/request/$',views.manager_requests_view,name='manager_requests_view'),
url(r'^me/edit/user/(?P<userid>\d+)/$',views.rower_edit_view), url(r'^me/edit/$',views.rower_edit_view,name='rower_edit_view'),
url(r'^me/preferences/$',views.rower_prefs_view), url(r'^me/edit/user/(?P<userid>\d+)/$',views.rower_edit_view,name='rower_edit_view'),
url(r'^me/transactions/$',views.transactions_view), url(r'^me/preferences/$',views.rower_prefs_view,name='rower_prefs_view'),
url(r'^me/preferences/user/(?P<userid>\d+)/$',views.rower_prefs_view), url(r'^me/transactions/$',views.transactions_view,name='transactions_view'),
url(r'^me/edit/(.+.*)/$',views.rower_edit_view), url(r'^me/preferences/user/(?P<userid>\d+)/$',views.rower_prefs_view,name='rower_prefs_view'),
url(r'^me/c2authorize/$',views.rower_c2_authorize), url(r'^me/edit/(.+.*)/$',views.rower_edit_view,name='rower_edit_view'),
url(r'^me/polarauthorize/$',views.rower_polar_authorize), url(r'^me/c2authorize/$',views.rower_c2_authorize,name='rower_c2_authorize'),
url(r'^me/revokeapp/(?P<id>\d+)/$',views.rower_revokeapp_view), url(r'^me/polarauthorize/$',views.rower_polar_authorize,name='rower_polar_authorize'),
url(r'^me/stravaauthorize/$',views.rower_strava_authorize), url(r'^me/revokeapp/(?P<id>\d+)/$',views.rower_revokeapp_view,name='rower_revokeapp_view'),
url(r'^me/sporttracksauthorize/$',views.rower_sporttracks_authorize), url(r'^me/stravaauthorize/$',views.rower_strava_authorize,name='rower_strava_authorize'),
url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize), url(r'^me/sporttracksauthorize/$',views.rower_sporttracks_authorize,name='rower_sporttracks_authorize'),
url(r'^me/tpauthorize/$',views.rower_tp_authorize), url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize,name='rower_underarmour_authorize'),
url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize), url(r'^me/tpauthorize/$',views.rower_tp_authorize,name='rower_tp_authorize'),
url(r'^me/sporttracksrefresh/$',views.rower_sporttracks_token_refresh), url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize,name='rower_runkeeper_authorize'),
url(r'^me/underarmourrefresh/$',views.rower_underarmour_token_refresh), url(r'^me/sporttracksrefresh/$',views.rower_sporttracks_token_refresh,name='rower_sporttracks_token_refresh'),
url(r'^me/tprefresh/$',views.rower_tp_token_refresh), url(r'^me/underarmourrefresh/$',views.rower_underarmour_token_refresh,name='rower_underarmoud_token_refresh'),
url(r'^me/c2refresh/$',views.rower_c2_token_refresh), url(r'^me/tprefresh/$',views.rower_tp_token_refresh,name='rower_tp_token_refresh'),
url(r'^me/favoritecharts/$',views.rower_favoritecharts_view), url(r'^me/c2refresh/$',views.rower_c2_token_refresh,name='rower_c2_token_refresh'),
url(r'^me/favoritecharts/user/(?P<userid>\d+)/$',views.rower_favoritecharts_view), url(r'^me/favoritecharts/$',views.rower_favoritecharts_view,name='rower_favoritecharts_view'),
url(r'^me/favoritecharts/user/(?P<userid>\d+)/$',views.rower_favoritecharts_view,name='rower_favoritecharts_view'),
# url(r'^me/workflowconfig/$',views.workout_workflow_config_view), # url(r'^me/workflowconfig/$',views.workout_workflow_config_view),
url(r'^me/workflowconfig2/$',views.workout_workflow_config2_view), url(r'^me/workflowconfig2/$',views.workout_workflow_config2_view,name='workout_workflow_config2_view'),
url(r'^me/workflowconfig2/user/(?P<userid>\d+)/$',views.workout_workflow_config2_view), url(r'^me/workflowconfig2/user/(?P<userid>\d+)/$',views.workout_workflow_config2_view,name='workout_workflow_config2_view'),
url(r'^me/workflowdefault/$',views.workflow_default_view), url(r'^me/workflowdefault/$',views.workflow_default_view,name='workflow_default_view'),
url(r'^email/send/$', views.sendmail), url(r'^email/send/$', views.sendmail,name='sendmail'),
url(r'^email/thankyou/$', TemplateView.as_view(template_name='thankyou.html'), name='thankyou'), url(r'^email/thankyou/$', TemplateView.as_view(template_name='thankyou.html'), name='thankyou'),
url(r'^email/$', TemplateView.as_view(template_name='email.html'), name='email'), url(r'^email/$', TemplateView.as_view(template_name='email.html'), name='email'),
url(r'^about', TemplateView.as_view(template_name='about_us.html'),name='about'), url(r'^about', TemplateView.as_view(template_name='about_us.html'),name='about'),
@@ -440,39 +450,39 @@ urlpatterns = [
url(r'^analysis/$', views.analysis_view,name='analysis'), url(r'^analysis/$', views.analysis_view,name='analysis'),
url(r'^laboratory/$', views.laboratory_view,name='laboratory'), url(r'^laboratory/$', views.laboratory_view,name='laboratory'),
url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'), url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'),
url(r'^checkout/(?P<planid>\d+)/$',views.payment_confirm_view), url(r'^checkout/(?P<planid>\d+)/$',views.payment_confirm_view,name='payment_confirm_view'),
url(r'^upgradecheckout/(?P<planid>\d+)/$',views.upgrade_confirm_view), url(r'^upgradecheckout/(?P<planid>\d+)/$',views.upgrade_confirm_view,name='upgrade_confirm_view'),
url(r'^downgradecheckout/(?P<planid>\d+)/$',views.downgrade_confirm_view), url(r'^downgradecheckout/(?P<planid>\d+)/$',views.downgrade_confirm_view,name='downgrade_confirm_view'),
url(r'^billing/$',views.billing_view,name='billing'), url(r'^billing/$',views.billing_view,name='billing'),
url(r'^upgrade/$',views.upgrade_view,name='upgrade'), url(r'^upgrade/$',views.upgrade_view,name='upgrade'),
url(r'^downgrade/$',views.downgrade_view,name='downgrade'), url(r'^downgrade/$',views.downgrade_view,name='downgrade'),
url(r'^paymentcompleted/$',views.payment_completed_view), url(r'^paymentcompleted/$',views.payment_completed_view,name='payment_completed_view'),
url(r'^downgradecompleted/$',views.downgrade_completed_view), url(r'^downgradecompleted/$',views.downgrade_completed_view,name='downgrade_completed_view'),
url(r'^paidplans/$',views.paidplans_view,name='paidplans'), url(r'^paidplans/$',views.paidplans_view,name='paidplans'),
url(r'^me/cancelsubscriptions/$',views.plan_stop_view), url(r'^me/cancelsubscriptions/$',views.plan_stop_view,name='plan_stop_view'),
url(r'^me/cancelsubscription/(?P<id>[\w\ ]+.*)/$',views.plan_tobasic_view), url(r'^me/cancelsubscription/(?P<id>[\w\ ]+.*)/$',views.plan_tobasic_view,name='plan_tobasic_view'),
url(r'^checkouts/$',views.checkouts_view,name='checkouts'), url(r'^checkouts/$',views.checkouts_view,name='checkouts'),
url(r'^upgradecheckouts/$',views.upgrade_checkouts_view,name='upgrade_checkouts'), url(r'^upgradecheckouts/$',views.upgrade_checkouts_view,name='upgrade_checkouts'),
url(r'^downgradecheckouts/$',views.downgrade_checkouts_view,name='downgrade_checkouts'), url(r'^downgradecheckouts/$',views.downgrade_checkouts_view,name='downgrade_checkouts'),
url(r'^planrequired/',views.planrequired_view), url(r'^planrequired/',views.planrequired_view,name='planrequired_view'),
url(r'^starttrial/$',views.start_trial_view), url(r'^starttrial/$',views.start_trial_view,name='start_trial_view'),
url(r'^startplantrial/$',views.start_plantrial_view), url(r'^startplantrial/$',views.start_plantrial_view,name='start_plantrial_view'),
# url(r'^planmembership', TemplateView.as_view(template_name='planmembership.html'),name='planmembership'), # url(r'^planmembership', TemplateView.as_view(template_name='planmembership.html'),name='planmembership'),
# url(r'^paypaltest', TemplateView.as_view(template_name='paypaltest.html'),name='paypaltest'), # url(r'^paypaltest', TemplateView.as_view(template_name='paypaltest.html'),name='paypaltest'),
url(r'^legal', TemplateView.as_view(template_name='legal.html'),name='legal'), url(r'^legal', TemplateView.as_view(template_name='legal.html'),name='legal'),
url(r'^register/$',views.rower_register_view), url(r'^register/$',views.rower_register_view,name='rower_register_view'),
url(r'^register/thankyou/$', TemplateView.as_view(template_name='registerthankyou.html'), name='registerthankyou'), url(r'^register/thankyou/$', TemplateView.as_view(template_name='registerthankyou.html'), name='registerthankyou'),
url(r'^workout/(?P<id>\d+)/workflow/$',views.workout_workflow_view, url(r'^workout/(?P<id>\d+)/workflow/$',views.workout_workflow_view,
name='workout_workflow_view'), name='workout_workflow_view'),
url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>[\w\ ]+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/(?P<plottype>\w+)/$',views.workout_flexchart3_view), url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>[\w\ ]+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/(?P<plottype>\w+)/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>\w+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/(?P<plottype>\w+.*)/$',views.workout_flexchart3_view), url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>\w+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/(?P<plottype>\w+.*)/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>\w+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/$',views.workout_flexchart3_view), url(r'^workout/(?P<id>\d+)/flexchart/(?P<xparam>\w+.*)/(?P<yparam1>[\w\ ]+.*)/(?P<yparam2>[\w\ ]+.*)/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
url(r'^workout/(?P<id>\d+)/flexchart/$',views.workout_flexchart3_view), url(r'^workout/(?P<id>\d+)/flexchart/$',views.workout_flexchart3_view,name='workout_flexchart3_view'),
# 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\ ]+.*)/(?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'^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'^test\_callback',views.rower_process_testcallback,name='rower_process_testcallback'),
url(r'^createplan/$',views.rower_create_trainingplan), url(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
url(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan), url(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
url(r'^deleteplan/(?P<pk>\d+)/$',login_required( url(r'^deleteplan/(?P<pk>\d+)/$',login_required(
views.TrainingPlanDelete.as_view())), views.TrainingPlanDelete.as_view())),
url(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required( url(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required(

View File

@@ -1 +0,0 @@
E408191@CZ27LT9RCGN72.1380:1549472010

12
rowers/views/__init__.py Normal file
View File

@@ -0,0 +1,12 @@
from .analysisviews import *
from .apiviews import *
from .errorviews import *
from .exportviews import *
from .importviews import *
from .otherviews import *
from .paymentviews import *
from .planviews import *
from .racesviews import *
from .teamviews import *
from .userviews import *
from .workoutviews import *

View File

@@ -401,7 +401,7 @@ def cum_flex(request,theuser=0,
def planrequired_view(request): def planrequired_view(request):
messages.info(request,"This functionality requires Coach or Self-Coach membership") messages.info(request,"This functionality requires Coach or Self-Coach membership")
return HttpResponseRedirect(reverse(paidplans_view)) return HttpResponseRedirect(reverse('paidplans'))
@user_passes_test(hasplannedsessions,login_url="/rowers/paidplans", @user_passes_test(hasplannedsessions,login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan", message="This functionality requires a Coach or Self-Coach plan",
@@ -2149,7 +2149,7 @@ def user_multiflex_select(request,
'name': 'Compare Select' 'name': 'Compare Select'
}, },
{ {
'url':reverse(multi_compare_view), 'url':reverse('multi_compare_view'),
'name': 'Comparison Chart' 'name': 'Comparison Chart'
} }
] ]

View File

@@ -118,7 +118,7 @@ def workout_strava_upload_view(request,id=0):
os.remove(tcxfile) os.remove(tcxfile)
except WindowsError: except WindowsError:
pass pass
url = reverse(workout_edit_view,kwargs={'id':w.id}) url = reverse('workout_edit_view',kwargs={'id':w.id})
messages.info(request,mes) messages.info(request,mes)
@@ -235,7 +235,7 @@ def workout_runkeeper_upload_view(request,id=0):
runkeeperid = runkeeperstuff.getidfromresponse(response) runkeeperid = runkeeperstuff.getidfromresponse(response)
w.uploadedtorunkeeper = runkeeperid w.uploadedtorunkeeper = runkeeperid
w.save() w.save()
url = reverse(workout_edit_view, kwargs={'id':w.id}) url = reverse('workout_edit_view', kwargs={'id':w.id})
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
@@ -300,7 +300,7 @@ def workout_underarmour_upload_view(request,id=0):
underarmourid = underarmourstuff.getidfromresponse(response) underarmourid = underarmourstuff.getidfromresponse(response)
w.uploadedtounderarmour = underarmourid w.uploadedtounderarmour = underarmourid
w.save() w.save()
url = reverse(workout_edit_view,kwargs={'id':w.id}) url = reverse('workout_edit_view',kwargs={'id':w.id})
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
@@ -367,7 +367,7 @@ def workout_sporttracks_upload_view(request,id=0):
message = "Upload to SportTracks was successful" message = "Upload to SportTracks was successful"
messages.info(request,message) messages.info(request,message)
url = reverse(workout_edit_view,kwargs={'id':w.id}) url = reverse('workout_edit_view',kwargs={'id':w.id})
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
s = response s = response
@@ -528,7 +528,7 @@ def rower_c2_token_refresh(request):
message = "Something went wrong (refreshing tokens). Please reauthorize:" message = "Something went wrong (refreshing tokens). Please reauthorize:"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -556,7 +556,7 @@ def rower_underarmour_token_refresh(request):
successmessage = "Tokens refreshed. Good to go" successmessage = "Tokens refreshed. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -584,7 +584,7 @@ def rower_tp_token_refresh(request):
successmessage = "Tokens refreshed. Good to go" successmessage = "Tokens refreshed. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -613,7 +613,7 @@ def rower_sporttracks_token_refresh(request):
successmessage = "Tokens refreshed. Good to go" successmessage = "Tokens refreshed. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -629,7 +629,7 @@ def rower_process_callback(request):
message = "The resource owner or authorization server denied the request" message = "The resource owner or authorization server denied the request"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -639,7 +639,7 @@ def rower_process_callback(request):
message += ' Contact info@rowsandall.com if this behavior persists.' message += ' Contact info@rowsandall.com if this behavior persists.'
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -658,7 +658,7 @@ def rower_process_callback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -681,7 +681,7 @@ def rower_process_polarcallback(request):
message = "access error" message = "access error"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -700,7 +700,7 @@ def rower_process_polarcallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -720,7 +720,7 @@ def rower_process_stravacallback(request):
message = "access error" message = "access error"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -743,12 +743,12 @@ def rower_process_stravacallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
message = "Something went wrong with the Strava authorization" message = "Something went wrong with the Strava authorization"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -762,7 +762,7 @@ def rower_process_runkeepercallback(request):
if access_token == 0: if access_token == 0:
messages.error(request,"Something went wrong importing the token") messages.error(request,"Something went wrong importing the token")
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -775,7 +775,7 @@ def rower_process_runkeepercallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -803,7 +803,7 @@ def rower_process_sporttrackscallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -830,7 +830,7 @@ def rower_process_underarmourcallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -856,7 +856,7 @@ def rower_process_tpcallback(request):
successmessage = "Tokens stored. Good to go" successmessage = "Tokens stored. Good to go"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -908,7 +908,7 @@ def workout_stravaimport_view(request,message="",userid=0):
return HttpResponseRedirect("/rowers/me/stravaauthorize/") return HttpResponseRedirect("/rowers/me/stravaauthorize/")
message = "Something went wrong in workout_stravaimport_view" message = "Something went wrong in workout_stravaimport_view"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
workouts = [] workouts = []
@@ -999,7 +999,7 @@ def workout_runkeeperimport_view(request,message="",userid=0):
if settings.DEBUG: if settings.DEBUG:
return HttpResponse(res) return HttpResponse(res)
else: else:
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
workouts = [] workouts = []
@@ -1098,7 +1098,7 @@ def workout_polarimport_view(request,userid=0):
a = exercises.status_code a = exercises.status_code
if a == 401: if a == 401:
messages.error(request,'Not authorized. You need to connect to Polar first') messages.error(request,'Not authorized. You need to connect to Polar first')
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
except: except:
pass pass
@@ -1164,7 +1164,7 @@ def workout_sporttracksimport_view(request,message="",userid=0):
if settings.DEBUG: if settings.DEBUG:
return HttpResponse(res) return HttpResponse(res)
else: else:
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
workouts = [] workouts = []
@@ -1231,7 +1231,7 @@ def c2listdebug_view(request,page=1,message=""):
if settings.DEBUG: if settings.DEBUG:
return HttpResponse(res) return HttpResponse(res)
else: else:
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
workouts = [] workouts = []
@@ -1285,7 +1285,7 @@ def workout_getc2workout_all(request,page=1,message=""):
workoutid = c2stuff.create_async_workout(alldata, workoutid = c2stuff.create_async_workout(alldata,
request.user,c2id) request.user,c2id)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -1310,7 +1310,7 @@ def workout_c2import_view(request,page=1,userid=0,message=""):
if (res.status_code != 200): if (res.status_code != 200):
message = "Something went wrong in workout_c2import_view (C2 token refresh)" message = "Something went wrong in workout_c2import_view (C2 token refresh)"
messages.error(request,message) messages.error(request,message)
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
workouts = [] workouts = []
@@ -1380,7 +1380,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
res = importsources[source].get_workout(request.user,externalid) res = importsources[source].get_workout(request.user,externalid)
if not res[0]: if not res[0]:
messages.error(request,res[1]) messages.error(request,res[1])
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -1393,7 +1393,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
try: try:
if strokedata == 0: if strokedata == 0:
messages.error(request,'An error occurred importing the workout from Concept2') messages.error(request,'An error occurred importing the workout from Concept2')
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
except ValueError: except ValueError:
pass pass
@@ -1552,7 +1552,7 @@ def workout_getsporttracksworkout_all(request):
w.uploadedtosporttracks=sporttracksid w.uploadedtosporttracks=sporttracksid
w.save() w.save()
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -1566,7 +1566,7 @@ def workout_getstravaworkout_all(request):
else: else:
messages.error(request,"Couldn't import Strava workouts ") messages.error(request,"Couldn't import Strava workouts ")
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -1598,7 +1598,7 @@ def workout_getstravaworkout_next(request):
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)

View File

@@ -1,4 +1,6 @@
from statements import *
def paidplans_view(request): def paidplans_view(request):
if not request.user.is_anonymous(): if not request.user.is_anonymous():
r = getrequestrower(request) r = getrequestrower(request)

View File

@@ -401,7 +401,7 @@ def plannedsession_teamcreate_view(request,
teaminitial = [str(teams[0].id)] teaminitial = [str(teams[0].id)]
else: else:
messages.info(request,"You have no teams established yet. We are redirecting you to the Team Management page.") messages.info(request,"You have no teams established yet. We are redirecting you to the Team Management page.")
url = reverse(rower_teams_view) url = reverse('rower_teams_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
startdate,enddate = get_dates_timeperiod(request) startdate,enddate = get_dates_timeperiod(request)

View File

@@ -103,9 +103,9 @@ from rowers.models import (
FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement,BasePlannedSessionFormSet, FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement,BasePlannedSessionFormSet,
get_course_timezone get_course_timezone
) )
from rowers.metrics import rowingmetrics,defaultfavoritecharts from rowers.metrics import rowingmetrics,defaultfavoritecharts,nometrics
from rowers import metrics from rowers import metrics as metrics
from rowers import courses from rowers import courses as courses
import rowers.uploads as uploads import rowers.uploads as uploads
from django.forms.formsets import formset_factory from django.forms.formsets import formset_factory
from django.forms import modelformset_factory from django.forms import modelformset_factory
@@ -116,22 +116,22 @@ from time import strftime,strptime,mktime,time,daylight
import os,sys import os,sys
import datetime import datetime
import iso8601 import iso8601
import c2stuff import rowers.c2stuff as c2stuff
from c2stuff import c2_open from rowers.c2stuff import c2_open
from runkeeperstuff import runkeeper_open from rowers.runkeeperstuff import runkeeper_open
from sporttracksstuff import sporttracks_open from rowers.sporttracksstuff import sporttracks_open
from tpstuff import tp_open from rowers.tpstuff import tp_open
from iso8601 import ParseError from iso8601 import ParseError
import stravastuff import rowers.stravastuff as stravastuff
from stravastuff import strava_open from rowers.stravastuff import strava_open
import polarstuff import rowers.polarstuff as polarstuff
import sporttracksstuff import rowers.sporttracksstuff as sporttracksstuff
import underarmourstuff import rowers.underarmourstuff as underarmourstuff
from underarmourstuff import underarmour_open from rowers.underarmourstuff import underarmour_open
import tpstuff import rowers.tpstuff as tpstuff
import runkeeperstuff import rowers.runkeeperstuff as runkeeperstuff
import ownapistuff import rowers.ownapistuff as ownapistuff
from ownapistuff import TEST_CLIENT_ID, TEST_CLIENT_SECRET, TEST_REDIRECT_URI from rowers.ownapistuff import TEST_CLIENT_ID, TEST_CLIENT_SECRET, TEST_REDIRECT_URI
from rowsandall_app.settings import ( from rowsandall_app.settings import (
C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET,
STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET,
@@ -181,7 +181,7 @@ from scipy.signal import savgol_filter
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from Cookie import SimpleCookie from Cookie import SimpleCookie
from shutil import copyfile,move from shutil import copyfile,move
import mytypes import rowers.mytypes as mytypes
from rowingdata import rower as rrower from rowingdata import rower as rrower
from rowingdata import main as rmain from rowingdata import main as rmain
from rowingdata import rowingdata as rrdata from rowingdata import rowingdata as rrdata
@@ -200,7 +200,7 @@ import mpld3
from mpld3 import plugins from mpld3 import plugins
import stravalib import stravalib
from stravalib.exc import ActivityUploadFailed,TimeoutExceeded from stravalib.exc import ActivityUploadFailed,TimeoutExceeded
from weather import get_wind_data,get_airport_code,get_metar_data from rowers.weather import get_wind_data,get_airport_code,get_metar_data
from oauth2_provider.models import Application,Grant,AccessToken from oauth2_provider.models import Application,Grant,AccessToken
@@ -228,6 +228,33 @@ class JSONResponse(HttpResponse):
kwargs['content_type'] = 'application/json' kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs) super(JSONResponse, self).__init__(content, **kwargs)
def getfavorites(r,row):
workouttype = 'ote'
if row.workouttype in mytypes.otwtypes:
workouttype = 'otw'
matchworkouttypes = [workouttype,'all']
workoutsource = row.workoutsource
if 'speedcoach2' in row.workoutsource:
workoutsource = 'speedcoach2'
try:
favorites = FavoriteChart.objects.filter(user=r,
workouttype__in=matchworkouttypes).order_by("id")
favorites2 = FavoriteChart.objects.filter(user=r,
workouttype__in=[workoutsource]).order_by("id")
favorites = favorites | favorites2
maxfav = len(favorites)-1
except:
favorites = None
maxfav = 0
return favorites,maxfav
def getrequestrower(request,rowerid=0,userid=0,notpermanent=False): def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
@@ -365,23 +392,23 @@ from rowers.serializers import RowerSerializer,WorkoutSerializer
from rest_framework import status,permissions,generics from rest_framework import status,permissions,generics
from rest_framework.decorators import api_view, renderer_classes from rest_framework.decorators import api_view, renderer_classes
from permissions import IsOwnerOrNot from rowers.permissions import IsOwnerOrNot
import plots import rowers.plots as plots
import mailprocessing import rowers.mailprocessing as mailprocessing
from io import BytesIO from io import BytesIO
from scipy.special import lambertw from scipy.special import lambertw
from dataprep import timedeltaconv from rowers.dataprep import timedeltaconv
from dataprep import getsmallrowdata_db from rowers.dataprep import getsmallrowdata_db
from scipy.interpolate import griddata from scipy.interpolate import griddata
#LOCALTIMEZONE = tz('Etc/UTC') #LOCALTIMEZONE = tz('Etc/UTC')
USER_LANGUAGE = 'en-US' USER_LANGUAGE = 'en-US'
from interactiveplots import * from rowers.interactiveplots import *
from rowers.celery import result as celery_result from rowers.celery import result as celery_result
# Define the API documentation # Define the API documentation
@@ -852,14 +879,14 @@ def getidfromuri(uri):
from utils import ( from rowers.utils import (
geo_distance,serialize_list,deserialize_list,uniqify, geo_distance,serialize_list,deserialize_list,uniqify,
str2bool,range_to_color_hex,absolute,myqueue,get_call, str2bool,range_to_color_hex,absolute,myqueue,get_call,
calculate_age,rankingdistances,rankingdurations, calculate_age,rankingdistances,rankingdurations,
is_ranking_piece,my_dict_from_instance,wavg,NoTokenError is_ranking_piece,my_dict_from_instance,wavg,NoTokenError
) )
import datautils import rowers.datautils as datautils
from rowers.models import checkworkoutuser,checkaccessuser from rowers.models import checkworkoutuser,checkaccessuser
@@ -1142,7 +1169,7 @@ def trydf(df,aantal,column):
return s return s
import teams import rowers.teams as teams
from rowers.models import C2WorldClassAgePerformance from rowers.models import C2WorldClassAgePerformance

View File

@@ -119,7 +119,7 @@ def rower_calcdps_view(request):
messages.info(request,"Your workouts are being updated in the background. You will receive email when this is done.") messages.info(request,"Your workouts are being updated in the background. You will receive email when this is done.")
url = reverse(workouts_view) url = reverse('workouts_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@login_required() @login_required()

View File

@@ -514,9 +514,9 @@ def workout_update_cp_view(request,id=0):
dataprep.runcpupdate(r) dataprep.runcpupdate(r)
if row.workouttype in mytypes.otwtypes: if row.workouttype in mytypes.otwtypes:
url = reverse(otwrankings_view) url = reverse('otwrankings_view')
else: else:
url = reverse(oterankings_view) url = reverse('oterankings_view')
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -944,7 +944,7 @@ def team_comparison_select(request,
'name': firstworkout.name 'name': firstworkout.name
}, },
{ {
'url':reverse(team_comparison_select,kwargs={'id':id,'teamid':teamid}), 'url':reverse('team_comparison_select',kwargs={'id':id,'teamid':teamid}),
'name':'Compare Select' 'name':'Compare Select'
}, },
] ]
@@ -955,7 +955,7 @@ def team_comparison_select(request,
'name':'Workouts' 'name':'Workouts'
}, },
{ {
'url':reverse(team_comparison_select,kwargs={'teamid':teamid}), 'url':reverse('team_comparison_select',kwargs={'teamid':teamid}),
'name': 'Compare Select' 'name': 'Compare Select'
}, },
@@ -2428,7 +2428,6 @@ def instroke_view(request,id=0):
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
from metrics import nometrics
rowdata = rrdata(csvfile=w.csvfilename) rowdata = rrdata(csvfile=w.csvfilename)
try: try:
instrokemetrics = rowdata.get_instroke_columns() instrokemetrics = rowdata.get_instroke_columns()
@@ -2880,33 +2879,6 @@ def workout_workflow_config2_view(request,userid=0):
}) })
def getfavorites(r,row):
workouttype = 'ote'
if row.workouttype in mytypes.otwtypes:
workouttype = 'otw'
matchworkouttypes = [workouttype,'all']
workoutsource = row.workoutsource
if 'speedcoach2' in row.workoutsource:
workoutsource = 'speedcoach2'
try:
favorites = FavoriteChart.objects.filter(user=r,
workouttype__in=matchworkouttypes).order_by("id")
favorites2 = FavoriteChart.objects.filter(user=r,
workouttype__in=[workoutsource]).order_by("id")
favorites = favorites | favorites2
maxfav = len(favorites)-1
except:
favorites = None
maxfav = 0
return favorites,maxfav
# Workflow View # Workflow View
@login_required() @login_required()