From fa39b05319bd9e31937702fdb30ace2ee965e3c0 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 22 Jan 2020 18:45:53 +0100 Subject: [PATCH] working on permissions_2 --- rowers/tests/test_permissions2.py | 160 ++++---- rowers/tests/viewnames.csv | 620 +++++++++++++++--------------- rowers/urls.py | 2 + 3 files changed, 392 insertions(+), 390 deletions(-) diff --git a/rowers/tests/test_permissions2.py b/rowers/tests/test_permissions2.py index 7fd0b1da..bc2e6b36 100644 --- a/rowers/tests/test_permissions2.py +++ b/rowers/tests/test_permissions2.py @@ -1,5 +1,56 @@ from .statements import * +viewstotest = [ + ('workout_view', + { + 'anonymous': True, + 'anonymous_response':200, + 'own': 'basic', + 'own_response': 200, + 'own_nonperm': 302, + 'member': 'basic', + 'member_response': 200, + 'member_nonperm': 404, + 'coachee': 'coach', + 'coachee_response': 200, + 'coachee_nonperm': 404, + 'is_staff': False, + 'workoutid': True, + 'userid': False, + 'dotest': True, + } + ), +] + +import pandas as pd +df = pd.read_csv('./rowers/tests/viewnames.csv') + +for id, row in df.iterrows(): + view = row['view'] + tpl = (view, + { + 'anonymous':row.anonymous, + 'anonymous_response':row.anonymous_response, + 'own': row.own, + 'own_response':row.own_response, + 'own_nonperm': row.own_nonperm, + 'member': row.member, + 'member_response':row.member_response, + 'member_nonperm': row.member_nonperm, + 'coachee': row.coachee, + 'coachee_response':row.coachee_response, + 'coachee_nonperm': row.coachee_nonperm, + 'is_staff':row.is_staff, + 'workoutid':row.workoutid, + 'userid':row.userid, + 'dotest':row.dotest, + }) + if row.dotest: + viewstotest.append(tpl) + + +plans = ['basic','plan','coach','pro'] + @override_settings(TESTING=True) class PermissionsViewTests(TestCase): def setUp(self): @@ -161,76 +212,6 @@ class PermissionsViewTests(TestCase): self.ubasic['user'].rower.coachinggroups.add(coachinggroup) - viewstotest = [ - ('workout_view', - { - 'anonymous': True, - 'anonymous_response':200, - 'own': 'basic', - 'own_response': 200, - 'own_nonperm': 302, - 'member': 'basic', - 'member_response': 200, - 'member_nonperm': 404, - 'coachee': 'coach', - 'coachee_response': 200, - 'coachee_nonperm': 404, - 'is_staff': False, - 'workoutid': True, - 'userid': False, - 'dotest': True, - } - ), - ('workouts_view', - { - 'anonymous': False, - 'anonymous_response':302, - 'own': 'basic', - 'own_response': 200, - 'own_nonperm': 302, - 'member': 'basic', - 'member_response': 200, - 'member_nonperm': 404, - 'coachee': 'coach', - 'coachee_response': 200, - 'coachee_nonperm': 404, - 'is_staff': False, - 'workoutid': False, - 'userid': True, - 'dotest': True, - } - ) - ] - - import pandas as pd - df = pd.read_csv('./rowers/tests/viewnames.csv') - - for id, row in df.iterrows(): - view = row['view'] - tpl = (view, - { - 'anonymous':row.anonymous, - 'anonymous_response':row.anonymous_response, - 'own': row.own, - 'own_response':row.own_response, - 'own_nonperm': row.own_nonperm, - 'member': row.member, - 'member_response':row.member_response, - 'member_nonperm': row.member_nonperm, - 'coachee': row.coachee, - 'coachee_response':row.coachee_response, - 'coachee_nonperm': row.coachee_nonperm, - 'is_staff':row.is_staff, - 'workoutid':row.workoutid, - 'userid':row.userid, - 'dotest':row.dotest, - }) - if row.dotest: - viewstotest.append(tpl) - - - plans = ['basic','plan','coach','pro'] - # Test access for anonymous users @parameterized.expand(viewstotest) @patch('rowers.dataprep.create_engine') @@ -249,7 +230,11 @@ class PermissionsViewTests(TestCase): mocked_get_video_data, ): - if permissions['anonymous'] in plans and not permissions['is_staff'] and permissions['dotest']: + print() + print(view,'anonymous',permissions['anonymous'],permissions['is_staff'],permissions['dotest']) + print() + + if permissions['anonymous'] and not permissions['is_staff'] and permissions['dotest']: urlstotest = [] if permissions['workoutid']: url = reverse(view,kwargs={'id':encoder.encode_hex(self.ucoach['workouts'][0].id)}) @@ -258,8 +243,9 @@ class PermissionsViewTests(TestCase): url = reverse(view) urlstotest.append(url) + print(view,'anonymous',urlstotest) + for url in urlstotest: - print(url) result = self.c.get(url) self.assertEqual(result.status_code,permissions['anonymous_response']) @@ -281,6 +267,10 @@ class PermissionsViewTests(TestCase): mocked_get_video_data, ): + print() + print(view,'own') + print() + if permissions['own'] in plans and not permissions['is_staff'] and permissions['dotest']: urlstotest = [] falseurlstotest = [] @@ -290,6 +280,8 @@ class PermissionsViewTests(TestCase): memberuser = self.uplan notuser = None + print(view,'own') + if permissions['own'] == 'basic': thisuser = self.ubasic memberuser = self.uplan @@ -323,23 +315,22 @@ class PermissionsViewTests(TestCase): url = reverse(view) urlstotest.append(url) + print(view,'own',urlstotest,falseurlstotest,otheruserurls) + # test logged in as user who has permissions for url in urlstotest: - print(url) login = self.c.login(username = thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code, permissions['own_response']) # test logged as user with no permissions (e.g. too low plan) for url in falseurlstotest: - print(url) login = self.c.login(username = notuser['username'],password = notuser['password']) result = self.c.get(url) self.assertEqual(result.status_code, permissions['own_nonperm']) # test as user with permissions, accessing object of non-related user for url in otheruserurls: - print(url) login = self.c.login(username=thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code,403) @@ -362,6 +353,10 @@ class PermissionsViewTests(TestCase): mocked_get_video_data, ): + print() + print(view,'member') + print() + if permissions['member'] in plans and not permissions['is_staff'] and permissions['dotest']: urlstotest = [] falseurlstotest = [] @@ -371,6 +366,8 @@ class PermissionsViewTests(TestCase): memberuser = self.uplan notuser = None + print(view,'member') + if permissions['member'] == 'basic': thisuser = self.ubasic memberuser = self.uplan @@ -405,23 +402,22 @@ class PermissionsViewTests(TestCase): url = reverse(view) urlstotest.append(url) + print('member',urlstotest,falseurlstotest,otheruserurls) + # test logged in as user who has permissions for url in urlstotest: - print(url) login = self.c.login(username = thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code, permissions['member_response']) # test logged as user with no permissions (e.g. too low plan) for url in falseurlstotest: - print(url) login = self.c.login(username = notuser['username'],password = notuser['password']) result = self.c.get(url) self.assertEqual(result.status_code, permissions['member_nonperm']) # test as user with permissions, accessing object of non-related user for url in otheruserurls: - print(url) login = self.c.login(username=thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code,403) @@ -444,6 +440,10 @@ class PermissionsViewTests(TestCase): mocked_get_video_data, ): + print() + print(view,'coachee') + print() + if permissions['coachee'] in plans and not permissions['is_staff'] and permissions['dotest']: urlstotest = [] falseurlstotest = [] @@ -470,16 +470,16 @@ class PermissionsViewTests(TestCase): url = reverse(view) urlstotest.append(url) + print('coachee',urlstotest,falseurlstotest,otheruserurls) + # test logged in as user who has permissions for url in urlstotest: - print(url) login = self.c.login(username = thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code, permissions['coachee_response']) # test as user with permissions, accessing object of non-related user for url in otheruserurls: - print(url) login = self.c.login(username=thisuser['username'],password = thisuser['password']) result = self.c.get(url) self.assertEqual(result.status_code,403) diff --git a/rowers/tests/viewnames.csv b/rowers/tests/viewnames.csv index 5889fe8e..23abc42c 100644 --- a/rowers/tests/viewnames.csv +++ b/rowers/tests/viewnames.csv @@ -1,312 +1,312 @@ ,id,view,function,anonymous,anonymous_response,own,own_response,own_nonperm,member,member_response,member_nonperm,coachee,coachee_response,coachee_nonperm,is_staff,userid,workoutid,dotest 0,0,workouts_summaries_email_view,sends summary excel with workouts list and links to data to user,TRUE,302,basic,200,302,FALSE,404,404,FALSE,404,404,FALSE,FALSE,FALSE,TRUE -1,1,rower_update_empower_view,updates old Empower Oarlock files (corrects Power bug),TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,TRUE,FALSE,FALSE,TRUE -2,2,agegroupcpview,needs age,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -3,4,ajax_agegrouprecords,gets age group records from C2 ,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -4,5,fitness_metric_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -5,6,agegrouprecordview,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -6,7,workouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -7,8,virtualevents_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -8,9,virtualevent_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -9,10,indoorvirtualevent_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -10,11,virtualevent_toggle_email_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -11,12,indoorvirtualevent_toggle_email_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -12,13,virtualevent_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -13,14,virtualevent_ranking_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -14,15,virtualevent_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -15,16,indoorvirtualevent_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -16,17,virtualevent_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -17,18,indoorvirtualevent_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -18,19,virtualevent_addboat_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -19,20,virtualevent_withdraw_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -20,21,virtualevent_submit_result_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -21,22,virtualevent_disqualify_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -22,24,courses_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -23,25,course_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -24,26,addmanual_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -25,27,team_comparison_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,TRUE,FALSE -26,28,workouts_join_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -27,29,workouts_join_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -28,30,user_boxplot_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -29,31,analysis_new,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -30,32,user_multiflex_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -31,33,session_jobs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -32,34,session_jobs_status,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -33,35,kill_async_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -34,36,post_progress,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -35,37,graphs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -36,38,fitnessmetric_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -37,39,rankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -38,40,rankings_view2,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -39,41,otwrankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -40,42,oterankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -41,43,cum_flex,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -42,44,analysis_view_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -43,47,cum_flex_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -44,48,histo,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -45,49,histo_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -46,51,cumstats,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -47,53,graph_show_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -48,54,GraphDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -49,55,get_thumbnails,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -50,56,otw_use_impeller,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -51,57,otw_use_gps,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -52,58,workout_toggle_ranking,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -53,59,team_workout_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -54,60,workout_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -55,61,workout_histo_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -56,62,workout_forcecurve_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -57,63,workout_unsubscribe_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -58,64,workout_comment_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -59,65,workout_tcxemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -60,66,workout_gpxemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -61,67,workout_csvemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -62,68,workout_csvtoadmin_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -63,69,workout_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -64,70,workout_map_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -65,71,workout_update_cp_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -66,72,instroke_chart,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -67,73,instroke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -68,74,workout_stats_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -69,75,workout_data_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -70,76,workout_otwsetpower_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -71,77,workout_otwpowerplot_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -72,78,workout_wind_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -73,79,workout_uploadimage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -74,80,virtualevent_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -75,81,virtualevent_uploadimage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -76,82,virtualevent_setlogo_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -77,83,logo_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -78,84,workout_downloadwind_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -79,85,workout_downloadmetar_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -80,86,workout_stream_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -81,87,workout_summary_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -82,88,workout_summary_restore_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -83,89,workout_split_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -84,90,workout_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -85,91,workout_video_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -86,92,VideoDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -87,93,workout_video_view_mini,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -88,94,workout_video_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -89,95,list_videos,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -90,96,video_selectworkout,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -91,98,workout_fusion_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -92,99,workout_fusion_list,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -93,100,TemplateView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -94,103,workout_add_chart_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -95,112,WorkoutDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -96,113,workout_smoothenpace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -97,114,workout_undo_smoothenpace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -98,115,workout_c2import_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -99,120,workout_stravaimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -100,122,workout_getc2workout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -101,124,workout_getimportview,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -102,125,workout_getstravaworkout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -103,126,workout_getstravaworkout_next,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -104,127,workout_sporttracksimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -105,129,workout_getsporttracksworkout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -106,130,workout_polarimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -107,132,workout_runkeeperimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -108,134,workout_underarmourimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -109,135,workout_c2_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -110,136,workout_strava_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -111,137,workout_recalcsummary_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -112,138,workout_sporttracks_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -113,139,workout_runkeeper_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -114,140,workout_underarmour_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -115,141,workout_tp_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -116,142,multi_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -117,145,alerts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -118,147,AlertDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -119,148,alert_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -120,150,alert_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -121,152,alert_report_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -122,155,boxplot_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -123,157,boxplot_view_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -124,158,multiflex_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -125,160,multiflex_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -126,161,deactivate_user,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -127,162,remove_user,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -128,163,user_gdpr_confirm,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -129,165,user_gdpr_optin,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -130,167,rower_teams_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -131,168,rower_calcdps_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -132,169,rower_exportsettings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -133,171,team_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -134,172,team_members_stats_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -135,173,team_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -136,174,team_leaveconfirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -137,175,team_leave_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -138,176,team_deleteconfirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -139,177,team_requestmembership_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -140,178,reject_revoke_coach_request,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -141,179,coach_drop_athlete_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -142,180,coach_drop_athlete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -143,181,athlete_drop_coach_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -144,182,athlete_drop_coach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -145,184,reject_revoke_coach_offer,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -146,186,request_coaching_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -147,187,offer_coaching_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -148,188,coach_accept_coachrequest_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -149,189,rower_accept_coachoffer_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -150,190,team_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -151,191,team_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -152,192,manager_member_drop_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -153,193,invitation_reject_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -154,194,invitation_revoke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -155,195,rower_invitations_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -156,196,raise_500,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -157,198,request_revoke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -158,199,request_reject_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -159,200,manager_requests_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -160,202,rower_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -161,204,rower_prefs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -162,205,transactions_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -163,208,rower_c2_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -164,209,rower_polar_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -165,210,rower_revokeapp_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -166,211,rower_strava_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -167,212,rower_sporttracks_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -168,213,rower_underarmour_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -169,214,rower_tp_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -170,215,rower_runkeeper_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -171,216,rower_sporttracks_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -172,217,rower_underarmour_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -173,218,rower_tp_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -174,219,rower_c2_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -175,220,rower_favoritecharts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -176,222,workout_workflow_config2_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -177,224,workflow_default_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -178,225,sendmail,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -179,231,analysis_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -180,232,laboratory_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -181,233,errormessage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -182,237,payment_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -183,238,upgrade_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -184,240,downgrade_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -185,241,billing_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -186,242,upgrade_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -187,243,downgrade_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -188,244,payment_completed_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -189,245,downgrade_completed_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -190,246,paidplans_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -191,247,plan_stop_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -192,248,plan_tobasic_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -193,249,checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -194,250,upgrade_checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -195,251,downgrade_checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -196,252,planrequired_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -197,253,start_trial_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -198,254,start_plantrial_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -199,256,rower_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -200,257,freecoach_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -201,259,workout_workflow_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -202,260,workout_flexchart3_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -203,264,rower_process_testcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -204,265,rower_create_trainingplan,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -205,267,TrainingPlanDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -206,268,MicroCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -207,269,MesoCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -208,270,MacroCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -209,271,rower_trainingplan_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -210,279,rower_trainingplan_execution_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -211,281,TrainingMacroCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -212,282,TrainingMesoCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -213,283,planmacrocyclebymonth,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -214,285,planmesocyclebyweek,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -215,287,TrainingMicroCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -216,288,rower_delete_trainingtarget,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -217,289,TrainingPlanUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -218,290,TrainingTargetUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -219,291,strokedataform,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -220,292,plannedsession_teamcreate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -221,296,plannedsession_teamedit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -222,298,plannedsession_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -223,300,plannedsession_multiclone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -224,302,plannedsession_multicreate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -225,305,plannedsession_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -226,306,plannedsession_totemplate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -227,307,plannedsession_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -228,310,plannedsession_clone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -229,311,plannedsession_teamclone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -230,313,plannedsession_detach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -231,315,plannedsession_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -232,317,PlannedSessionDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -233,319,plannedsessions_manage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -234,323,plannedsessions_coach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -235,325,plannedsessions_coach_icsemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -236,326,plannedsessions_print_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -237,327,plannedsession_comment_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -238,330,plannedsessions_icsemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -239,332,plannedsessions_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,TRUE,FALSE,FALSE -240,334,course_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -241,335,course_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -242,336,course_kmldownload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -243,337,course_replace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -244,338,course_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -245,339,course_map_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -246,341,c2listdebug_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -247,343,rower_process_callback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -248,344,rower_process_stravacallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -249,345,rower_process_sporttrackscallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -250,346,rower_process_underarmourcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -251,347,rower_process_polarcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -252,348,rower_process_runkeepercallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -253,349,rower_process_tpcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -254,350,rower_process_twittercallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -255,351,set_language,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -256,352,SetOffsetView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -257,353,stats,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -258,354,stats_json,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -259,355,jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -260,356,workers,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -261,357,worker_details,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -262,358,finished_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -263,359,started_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -264,360,deferred_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -265,361,clear_queue,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -266,362,requeue_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -267,363,job_detail,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -268,364,delete_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -269,365,actions,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -270,366,requeue_job_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -271,367,enqueue_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -272,368,JavaScriptCatalog,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -273,369,serve,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -274,371,LoginView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -275,372,LogoutView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -276,373,PasswordChangeView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -277,374,PasswordChangeDoneView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -278,375,PasswordResetView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -279,376,PasswordResetDoneView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -280,377,PasswordResetConfirmView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -281,378,PasswordResetCompleteView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -282,386,index,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -283,387,login,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -284,388,logout,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -285,389,password_change,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -286,390,password_change_done,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -287,391,i18n_javascript,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -288,392,shortcut,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -289,393,changelist_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -290,394,add_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -291,395,autocomplete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -292,396,history_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -293,397,delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -294,398,change_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -295,399,RedirectView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -296,568,app_index,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -297,571,landingview,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -298,573,get_blog_posts,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -299,576,AuthorizationView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -300,577,TokenView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -301,578,WorkoutViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -302,582,RowerViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -303,586,FavoriteChartViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -304,590,APIRootView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -305,592,SwaggerSchemaView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -306,595,strokedatajson,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE -307,596,error500_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -308,603,failed_queue_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -309,604,failed_queue_empty,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,FALSE,FALSE -310,605,failed_job_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,TRUE,FALSE,TRUE,FALSE +1,1,rower_update_empower_view,updates old Empower Oarlock files (corrects Power bug),TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +2,2,agegroupcpview,needs age,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +3,4,ajax_agegrouprecords,gets age group records from C2 ,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +4,5,fitness_metric_view,updates a person's fitness metric,TRUE,302,basic,302,302,FALSE,404,302,FALSE,404,404,FALSE,FALSE,FALSE,TRUE +5,6,agegrouprecordview,shows ergo age group records,TRUE,200,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +6,7,workouts_view,workouts list,TRUE,302,basic,200,302,basic,200,404,coach,200,404,FALSE,TRUE,FALSE,TRUE +7,8,virtualevents_view,virtual races list,TRUE,200,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +8,9,virtualevent_create_view,create virtual event,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +9,10,indoorvirtualevent_create_view,create indoor virtual event,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +10,11,virtualevent_toggle_email_view,toggle email notifications,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +11,12,indoorvirtualevent_toggle_email_view,toggle email notifications,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +12,13,virtualevent_view,view virtual race,TRUE,200,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +13,14,virtualevent_ranking_view,view ranking,TRUE,200,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +14,15,virtualevent_edit_view,edit race,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +15,16,indoorvirtualevent_edit_view,edit race,TRUE,303,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE +16,17,virtualevent_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +17,18,indoorvirtualevent_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +18,19,virtualevent_addboat_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +19,20,virtualevent_withdraw_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +20,21,virtualevent_submit_result_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +21,22,virtualevent_disqualify_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +22,24,courses_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +23,25,course_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +24,26,addmanual_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +25,27,team_comparison_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,TRUE,FALSE +26,28,workouts_join_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +27,29,workouts_join_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +28,30,user_boxplot_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +29,31,analysis_new,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +30,32,user_multiflex_select,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +31,33,session_jobs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +32,34,session_jobs_status,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +33,35,kill_async_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +34,36,post_progress,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +35,37,graphs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +36,38,fitnessmetric_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +37,39,rankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +38,40,rankings_view2,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +39,41,otwrankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +40,42,oterankings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +41,43,cum_flex,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +42,44,analysis_view_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +43,47,cum_flex_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +44,48,histo,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +45,49,histo_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +46,51,cumstats,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +47,53,graph_show_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +48,54,GraphDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +49,55,get_thumbnails,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +50,56,otw_use_impeller,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +51,57,otw_use_gps,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +52,58,workout_toggle_ranking,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +53,59,team_workout_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +54,60,workout_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +55,61,workout_histo_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +56,62,workout_forcecurve_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +57,63,workout_unsubscribe_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +58,64,workout_comment_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +59,65,workout_tcxemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +60,66,workout_gpxemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +61,67,workout_csvemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +62,68,workout_csvtoadmin_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +63,69,workout_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +64,70,workout_map_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +65,71,workout_update_cp_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +66,72,instroke_chart,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +67,73,instroke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +68,74,workout_stats_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +69,75,workout_data_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +70,76,workout_otwsetpower_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +71,77,workout_otwpowerplot_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +72,78,workout_wind_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +73,79,workout_uploadimage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +74,80,virtualevent_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +75,81,virtualevent_uploadimage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +76,82,virtualevent_setlogo_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +77,83,logo_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +78,84,workout_downloadwind_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +79,85,workout_downloadmetar_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +80,86,workout_stream_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +81,87,workout_summary_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +82,88,workout_summary_restore_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +83,89,workout_split_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +84,90,workout_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +85,91,workout_video_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +86,92,VideoDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +87,93,workout_video_view_mini,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +88,94,workout_video_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +89,95,list_videos,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +90,96,video_selectworkout,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +91,98,workout_fusion_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +92,99,workout_fusion_list,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +93,100,TemplateView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +94,103,workout_add_chart_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +95,112,WorkoutDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +96,113,workout_smoothenpace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +97,114,workout_undo_smoothenpace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +98,115,workout_c2import_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +99,120,workout_stravaimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +100,122,workout_getc2workout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +101,124,workout_getimportview,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +102,125,workout_getstravaworkout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +103,126,workout_getstravaworkout_next,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +104,127,workout_sporttracksimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +105,129,workout_getsporttracksworkout_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +106,130,workout_polarimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +107,132,workout_runkeeperimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +108,134,workout_underarmourimport_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +109,135,workout_c2_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +110,136,workout_strava_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +111,137,workout_recalcsummary_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +112,138,workout_sporttracks_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +113,139,workout_runkeeper_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +114,140,workout_underarmour_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +115,141,workout_tp_upload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +116,142,multi_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +117,145,alerts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +118,147,AlertDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +119,148,alert_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +120,150,alert_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +121,152,alert_report_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +122,155,boxplot_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +123,157,boxplot_view_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +124,158,multiflex_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +125,160,multiflex_data,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +126,161,deactivate_user,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +127,162,remove_user,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +128,163,user_gdpr_confirm,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +129,165,user_gdpr_optin,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +130,167,rower_teams_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +131,168,rower_calcdps_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +132,169,rower_exportsettings_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +133,171,team_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +134,172,team_members_stats_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +135,173,team_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +136,174,team_leaveconfirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +137,175,team_leave_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +138,176,team_deleteconfirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +139,177,team_requestmembership_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +140,178,reject_revoke_coach_request,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +141,179,coach_drop_athlete_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +142,180,coach_drop_athlete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +143,181,athlete_drop_coach_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +144,182,athlete_drop_coach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +145,184,reject_revoke_coach_offer,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +146,186,request_coaching_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +147,187,offer_coaching_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +148,188,coach_accept_coachrequest_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +149,189,rower_accept_coachoffer_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +150,190,team_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +151,191,team_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +152,192,manager_member_drop_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +153,193,invitation_reject_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +154,194,invitation_revoke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +155,195,rower_invitations_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +156,196,raise_500,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +157,198,request_revoke_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +158,199,request_reject_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +159,200,manager_requests_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +160,202,rower_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +161,204,rower_prefs_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +162,205,transactions_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +163,208,rower_c2_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +164,209,rower_polar_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +165,210,rower_revokeapp_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +166,211,rower_strava_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +167,212,rower_sporttracks_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +168,213,rower_underarmour_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +169,214,rower_tp_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +170,215,rower_runkeeper_authorize,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +171,216,rower_sporttracks_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +172,217,rower_underarmour_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +173,218,rower_tp_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +174,219,rower_c2_token_refresh,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +175,220,rower_favoritecharts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +176,222,workout_workflow_config2_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +177,224,workflow_default_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +178,225,sendmail,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +179,231,analysis_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +180,232,laboratory_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +181,233,errormessage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +182,237,payment_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +183,238,upgrade_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +184,240,downgrade_confirm_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +185,241,billing_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +186,242,upgrade_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +187,243,downgrade_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +188,244,payment_completed_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +189,245,downgrade_completed_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +190,246,paidplans_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +191,247,plan_stop_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +192,248,plan_tobasic_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +193,249,checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +194,250,upgrade_checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +195,251,downgrade_checkouts_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +196,252,planrequired_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +197,253,start_trial_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +198,254,start_plantrial_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +199,256,rower_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +200,257,freecoach_register_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +201,259,workout_workflow_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +202,260,workout_flexchart3_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +203,264,rower_process_testcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +204,265,rower_create_trainingplan,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +205,267,TrainingPlanDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +206,268,MicroCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +207,269,MesoCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +208,270,MacroCycleDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +209,271,rower_trainingplan_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +210,279,rower_trainingplan_execution_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +211,281,TrainingMacroCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +212,282,TrainingMesoCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +213,283,planmacrocyclebymonth,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +214,285,planmesocyclebyweek,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +215,287,TrainingMicroCycleUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +216,288,rower_delete_trainingtarget,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +217,289,TrainingPlanUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +218,290,TrainingTargetUpdate,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +219,291,strokedataform,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +220,292,plannedsession_teamcreate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +221,296,plannedsession_teamedit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +222,298,plannedsession_create_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +223,300,plannedsession_multiclone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +224,302,plannedsession_multicreate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +225,305,plannedsession_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +226,306,plannedsession_totemplate_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +227,307,plannedsession_compare_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +228,310,plannedsession_clone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +229,311,plannedsession_teamclone_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +230,313,plannedsession_detach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +231,315,plannedsession_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +232,317,PlannedSessionDelete,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +233,319,plannedsessions_manage_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +234,323,plannedsessions_coach_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +235,325,plannedsessions_coach_icsemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +236,326,plannedsessions_print_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +237,327,plannedsession_comment_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +238,330,plannedsessions_icsemail_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +239,332,plannedsessions_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,TRUE,FALSE,FALSE +240,334,course_edit_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +241,335,course_delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +242,336,course_kmldownload_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +243,337,course_replace_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +244,338,course_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +245,339,course_map_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +246,341,c2listdebug_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +247,343,rower_process_callback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +248,344,rower_process_stravacallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +249,345,rower_process_sporttrackscallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +250,346,rower_process_underarmourcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +251,347,rower_process_polarcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +252,348,rower_process_runkeepercallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +253,349,rower_process_tpcallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +254,350,rower_process_twittercallback,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +255,351,set_language,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +256,352,SetOffsetView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +257,353,stats,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +258,354,stats_json,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +259,355,jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +260,356,workers,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +261,357,worker_details,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +262,358,finished_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +263,359,started_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +264,360,deferred_jobs,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +265,361,clear_queue,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +266,362,requeue_all,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +267,363,job_detail,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +268,364,delete_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +269,365,actions,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +270,366,requeue_job_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +271,367,enqueue_job,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +272,368,JavaScriptCatalog,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +273,369,serve,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +274,371,LoginView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +275,372,LogoutView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +276,373,PasswordChangeView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +277,374,PasswordChangeDoneView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +278,375,PasswordResetView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +279,376,PasswordResetDoneView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +280,377,PasswordResetConfirmView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +281,378,PasswordResetCompleteView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +282,386,index,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +283,387,login,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +284,388,logout,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +285,389,password_change,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +286,390,password_change_done,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +287,391,i18n_javascript,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +288,392,shortcut,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +289,393,changelist_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +290,394,add_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +291,395,autocomplete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +292,396,history_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +293,397,delete_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +294,398,change_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +295,399,RedirectView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +296,568,app_index,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +297,571,landingview,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +298,573,get_blog_posts,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +299,576,AuthorizationView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +300,577,TokenView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +301,578,WorkoutViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +302,582,RowerViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +303,586,FavoriteChartViewSet,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +304,590,APIRootView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +305,592,SwaggerSchemaView,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +306,595,strokedatajson,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE +307,596,error500_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +308,603,failed_queue_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +309,604,failed_queue_empty,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE +310,605,failed_job_view,,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE diff --git a/rowers/urls.py b/rowers/urls.py index 91614718..7ef0a425 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -153,6 +153,8 @@ urlpatterns = [ views.agegrouprecordview,name='agegrouprecordview'), re_path(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/$', views.agegrouprecordview,name='agegrouprecordview'), + re_path(r'^agegrouprecords/$', + views.agegrouprecordview,name='agegrouprecordview'), re_path(r'^list-workouts/ranking/$',views.workouts_view,{'rankingonly':True}, name='workouts_view'), # re_path(r'^list-workouts/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_view,