Private
Public Access
1
0

fixing export

This commit is contained in:
2025-04-13 14:38:34 +02:00
parent 305e12f201
commit 724945bc22
4 changed files with 33 additions and 30 deletions

View File

@@ -382,9 +382,12 @@ def resample(id, r, parent, overwrite=False):
rowdata['time'] = (rowdata['time']-rowdata.loc[0,'time'])*1000.
rowdata.set_index('time', inplace=True)
data.set_index('time', inplace=True)
rowdata_interpolated = rowdata.reindex(data.index.union(rowdata.index)).interpolate('index')
data = data.merge(rowdata_interpolated, left_index=True, right_index=True, how='left')
data = data.reset_index()
try:
rowdata_interpolated = rowdata.reindex(data.index.union(rowdata.index)).interpolate('index')
data = data.merge(rowdata_interpolated, left_index=True, right_index=True, how='left')
data = data.reset_index()
except ValueError:
return data, id, "Error: Could not interpolate data"
messages = []

View File

@@ -1836,7 +1836,7 @@ def handle_send_email_noinvoice(
'reason': reason,
}
_ = send_template_email(from_email, "support@rowsandall.com", subject,
_ = send_template_email(from_email, ["support@rowsandall.com"], subject,
'paymentconfirmationemail_noinvoice.html',
d, **kwargs)

Binary file not shown.

View File

@@ -265,7 +265,7 @@ def plannedsession_message_view(request, id=0, userid=0):
# Cloning sessions
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_multiclone_view(
request,
@@ -421,7 +421,7 @@ def plannedsession_multiclone_view(
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def template_share_view(request, id=0, userid=0):
ps = get_object_or_404(PlannedSession, pk=id)
@@ -437,7 +437,7 @@ def template_share_view(request, id=0, userid=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def template_makeprivate_view(request, id=0, userid=0):
ps = get_object_or_404(PlannedSession, pk=id)
@@ -449,7 +449,7 @@ def template_makeprivate_view(request, id=0, userid=0):
# Manage Template sessions (library)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def template_library_view(request, userid=0):
r = getrequestplanrower(request, userid=userid)
@@ -511,7 +511,7 @@ def template_library_view(request, userid=0):
# Individual user creates training for himself
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_create_view(request,
userid=0,
@@ -690,7 +690,7 @@ def plannedsession_create_view(request,
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_createtemplate_view(request,
userid=0,
@@ -783,7 +783,7 @@ def plannedsession_createtemplate_view(request,
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_multicreate_view(request,
teamid=0, userid=0, extrasessions=0):
@@ -917,7 +917,7 @@ def plannedsession_multicreate_view(request,
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_teamcreate_view(request,
teamid=0, userid=0):
@@ -1091,7 +1091,7 @@ def plannedsession_teamcreate_view(request,
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
def plannedsession_teamedit_view(request,
@@ -1837,7 +1837,7 @@ def plannedsessions_manage_view(request, userid=0,
# need clarity on cloning behavior time shift
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_clone_view(request, id=0, userid=0):
@@ -1899,7 +1899,7 @@ def plannedsession_clone_view(request, id=0, userid=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_teamclone_view(request, id=0):
@@ -1950,7 +1950,7 @@ def plannedsession_teamclone_view(request, id=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_templateedit_view(request, id=0):
r = getrequestrower(request)
@@ -2069,7 +2069,7 @@ def plannedsession_templateedit_view(request, id=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_tointervals_view(request, id=0):
@@ -2102,7 +2102,7 @@ def plannedsession_tointervals_view(request, id=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_togarmin_view(request, id=0):
@@ -2137,7 +2137,7 @@ def plannedsession_togarmin_view(request, id=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_totemplate_view(request, id=0):
@@ -2172,7 +2172,7 @@ def plannedsession_totemplate_view(request, id=0):
@permission_required('plannedsession.change_session', fn=get_session_by_pk, raise_exception=True)
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def plannedsession_edit_view(request, id=0, userid=0):
@@ -2970,7 +2970,7 @@ def rower_select_instantplan(request, id=0):
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def rower_create_trainingplan(request, id=0):
therower = getrequestrower(request, userid=id)
@@ -3095,7 +3095,7 @@ def rower_create_trainingplan(request, id=0):
@csrf_exempt
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def stepadder(request, id=0):
is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
@@ -3168,7 +3168,7 @@ def stepadder(request, id=0):
return JSONResponse(status=200,data=post_data)
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def stepdelete(request, id=0):
step = get_object_or_404(PlannedSessionStep, pk=id)
@@ -3185,7 +3185,7 @@ def stepdelete(request, id=0):
return HttpResponseRedirect(url)
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def stepedit(request, id=0, psid=0):
step = get_object_or_404(PlannedSessionStep, pk=id)
@@ -3291,7 +3291,7 @@ def stepedit(request, id=0, psid=0):
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def stepeditor(request, id=0):
ps = get_object_or_404(PlannedSession, pk=id)
@@ -3384,7 +3384,7 @@ def stepeditor(request, id=0):
})
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
@permission_required('target.delete_target', fn=get_target_by_pk, raise_exception=True)
def rower_delete_trainingtarget(request, id=0):
@@ -3605,7 +3605,7 @@ class MacroCycleDelete(DeleteView): # pragma: no cover
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
def rower_trainingplan_execution_view(request,
id=0,
@@ -3698,7 +3698,7 @@ def rower_trainingplan_execution_view(request,
# @user_passes_test(can_plan,login_url="/rowers/paidplans",
# message="This functionality requires a Coach or Self-Coach plan",
# message="This functionality requires a Pro plan",
# redirect_field_name=None)
@login_required()
@permission_required('plan.view_plan', fn=get_plan_by_pk, raise_exception=True)
@@ -4124,7 +4124,7 @@ class TrainingTargetUpdate(UpdateView): # pragma: no cover
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
@permission_required('cycle.change_cycle', fn=get_meso_by_pk, raise_exception=True)
def planmesocyclebyweek(request, id=0, userid=0): # pragma: no cover
@@ -4173,7 +4173,7 @@ def planmesocyclebyweek(request, id=0, userid=0): # pragma: no cover
@user_passes_test(can_plan, login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan",
message="This functionality requires a Pro plan",
redirect_field_name=None)
@permission_required('cycle.change_cycle', fn=get_macro_by_pk, raise_exception=True)
def planmacrocyclebymonth(request, id=0, userid=0): # pragma: no cover