force curve comparison
This commit is contained in:
@@ -1844,6 +1844,108 @@ def agegrouprecordview(request, sex='male', weightcategory='hwt',
|
||||
'the_div': div,
|
||||
})
|
||||
|
||||
@user_passes_test(ispromember, login_url="/rowers/paidplans",
|
||||
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 forcecurveanalysis_view(request, userid=0):
|
||||
r = getrequestrower(request, userid=userid)
|
||||
|
||||
analyses = ForceCurveAnalysis.objects.filter(rower=r).order_by("-date","-id")
|
||||
selected = []
|
||||
|
||||
div = ""
|
||||
script = ""
|
||||
|
||||
|
||||
if request.method == 'POST':
|
||||
form = ForceCurveMultipleCompareForm(request.POST)
|
||||
|
||||
if form.is_valid():
|
||||
cd = form.cleaned_data
|
||||
selected = cd['analyses']
|
||||
request.session['analyses'] = [a.id for a in selected]
|
||||
# now should redirect to analysis
|
||||
|
||||
script, div = forcecurve_multi_interactive_chart(selected)
|
||||
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': '/rowers/analysis',
|
||||
'name': 'Analysis'
|
||||
},
|
||||
{
|
||||
'url': reverse('instrokeanalysis_view'),
|
||||
'name': 'In-Stroke Analysis',
|
||||
},
|
||||
]
|
||||
|
||||
return render(request, 'forcecurve_analysis.html',
|
||||
{
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'analyses': analyses,
|
||||
'rower': r,
|
||||
'the_script': script,
|
||||
'the_div': div,
|
||||
'selected': selected,
|
||||
})
|
||||
|
||||
#instroke analysis delete view
|
||||
class ForceCurveAnalysisDelete(DeleteView):
|
||||
login_required = True
|
||||
model = ForceCurveAnalysis
|
||||
template_name = 'forcecurveanalysis_delete_confirm.html'
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ForceCurveAnalysisDelete, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs: # pragma: no cover
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid = 0
|
||||
|
||||
context['rower'] = getrequestrower(self.request, userid=userid)
|
||||
context['alert'] = self.object
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': '/rowers/analysis',
|
||||
'name': 'Analysis'
|
||||
},
|
||||
{
|
||||
'url': reverse('forcecurveanalysis_view'),
|
||||
'name': 'Force Curve Analysis',
|
||||
},
|
||||
{
|
||||
'url': reverse('workout_forcecurve_view',
|
||||
kwargs={'userid': userid,
|
||||
'id': encoder.encode_hex(self.object.workout.id),
|
||||
'analysis': self.object.pk}),
|
||||
'name': self.object.name,
|
||||
},
|
||||
{
|
||||
'url': reverse('forcecurve_analysis_delete_view', kwargs={'pk': self.object.pk}),
|
||||
'name': 'Delete'
|
||||
}
|
||||
]
|
||||
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('forcecurveanalysis_view')
|
||||
|
||||
def get_object(self, *args, **kwargs):
|
||||
obj = super(ForceCurveAnalysisDelete, self).get_object(*args, **kwargs)
|
||||
|
||||
if obj.rower != self.request.user.rower:
|
||||
raise PermissionDenied("You are not allowed to delete this Analysis")
|
||||
|
||||
return obj
|
||||
|
||||
@user_passes_test(ispromember, login_url="/rowers/paidplans",
|
||||
message="This functionality requires a Pro plan or higher."
|
||||
@@ -1856,8 +1958,9 @@ def instrokeanalysis_view(request, userid=0):
|
||||
analyses = InStrokeAnalysis.objects.filter(rower=r).order_by("-date","-id")
|
||||
selected = []
|
||||
|
||||
script = ""
|
||||
div = ""
|
||||
script = ""
|
||||
|
||||
|
||||
if request.method == 'POST':
|
||||
form = InStrokeMultipleCompareForm(request.POST)
|
||||
|
||||
Reference in New Issue
Block a user