diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 112be938..fb8d8c64 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1521,17 +1521,15 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', 'CP':cpcp, }) - if powerdf.empty: - return('','

No valid data found

') powerdf = powerdf[powerdf['CP']>0] powerdf.dropna(axis=0,inplace=True) powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True) powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True) - res = datautils.cpfit(powerdf) + res2 = datautils.cpfit(powerdf) if len(powerdf) != 0: - p1 = res[0] + p1 = res2[0] r.p0 = p1[0] r.p1 = p1[1] r.p2 = p1[2] @@ -1553,17 +1551,16 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', 'Delta':dd, 'CP':cpcp, }) - if powerdf.empty: - return('','

No valid data found

') + powerdf = powerdf[powerdf['CP']>0] powerdf.dropna(axis=0,inplace=True) powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True) powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True) - res = datautils.cpfit(powerdf) + res2 = datautils.cpfit(powerdf) if len(powerdf) != 0: res = datautils.cpfit(powerdf) - p1 = res[0] + p1 = res2[0] r.ep0 = p1[0] r.ep1 = p1[1] r.ep2 = p1[2] @@ -1599,7 +1596,6 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', r.user.last_name, btvalues=btvalues.to_json()) - return (w.id, message) parsers = { diff --git a/rowers/urls.py b/rowers/urls.py index f812ea13..28c47cb8 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -324,9 +324,9 @@ urlpatterns = [ re_path(r'^workouts-join-select/user/(?P\d+)/$',views.workouts_join_select,name='workouts_join_select'), re_path(r'^user-boxplot-select/user/(?P\d+)/$',views.user_boxplot_select,name='user_boxplot_select'), re_path(r'^user-boxplot-select/$',views.user_boxplot_select,name='user_boxplot_select'), + re_path(r'^user-analysis-select/(?P\w.*)/workout/(?P\b[0-9A-Fa-f]+\b)/$',views.analysis_new,name='analysis_new'), re_path(r'^user-analysis-select/(?P\w.*)/user/(?P\d+)/$',views.analysis_new,name='analysis_new'), re_path(r'^user-analysis-select/(?P\w.*)/team/(?P\d+)/$',views.analysis_new,name='analysis_new'), - re_path(r'^user-analysis-select/(?P\w.*)/workout/(?P\b[0-9A-Fa-f]+\b)/$',views.analysis_new,name='analysis_new'), re_path(r'^user-analysis-select/user/(?P\d+)/$',views.analysis_new,name='analysis_new'), re_path(r'^user-analysis-select/team/(?P\d+)/$',views.analysis_new,name='analysis_new'), re_path(r'^user-analysis-select/(?P\w.*)/$',views.analysis_new,name='analysis_new'), diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index a1a31e02..891f548f 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -34,18 +34,17 @@ defaultoptions = { message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None) @permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True) -def analysis_new(request,userid=0,function='boxplot',teamid=0,id=0): +def analysis_new(request,userid=0,function='boxplot',teamid=0,id=''): r = getrequestrower(request, userid=userid) user = r.user userid = user.id + firstworkout = None if id: firstworkout = get_workout(id) if not is_workout_team(request.user,firstworkout): raise PermissionDenied("You are not allowed to use this workout") firstworkoutquery = Workout.objects.filter(id=encoder.decode_hex(id)) - else: - firtworkout = None try: theteam = Team.objects.get(id=teamid)