Private
Public Access
1
0

links on analysis now to new analysis function

This commit is contained in:
Sander Roosendaal
2019-05-18 20:40:07 +02:00
parent f70f971436
commit 108a9d8970
5 changed files with 73 additions and 24 deletions

View File

@@ -16,7 +16,7 @@ env.filters['floatformat'] = floatformat
from django.contrib.staticfiles import finders
from rowers.forms import analysischoices
# generic Analysis view -
@@ -32,11 +32,16 @@ defaultoptions = {
@user_passes_test(ispromember, login_url="/rowers/paidplans",
message="This functionality requires a Pro plan or higher",
redirect_field_name=None)
def analysis_new(request,userid=0,function='boxplot'):
def analysis_new(request,userid=0,function='boxplot',teamid=0):
r = getrequestrower(request, userid=userid)
user = r.user
userid = user.id
try:
theteam = Team.objects.get(id=teamid)
except Team.DoesNotExist:
theteam = None
if 'options' in request.session:
options = request.session['options']
@@ -64,7 +69,8 @@ def analysis_new(request,userid=0,function='boxplot'):
else:
startdate=timezone.now()-datetime.timedelta(days=42)
if function not in [c[0] for c in analysischoices]:
function = 'boxplot'
if 'enddate' in request.session:
enddate = iso8601.parse_date(request.session['enddate'])
@@ -162,14 +168,29 @@ def analysis_new(request,userid=0,function='boxplot'):
if b[0] not in waterboattype:
negtypes.append(b[0])
if theteam is not None and (theteam.viewing == 'allmembers' or theteam.manager == request.user):
workouts = Workout.objects.filter(team=theteam,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
workouttype__in=modalities,
)
elif theteam is not None and theteam.viewing == 'coachonly':
workouts = Workout.objects.filter(team=theteam,user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
workouttype__in=modalities,
)
else:
workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
workouttype__in=modalities,
)
workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
workouttype__in=modalities,
).order_by(
workouts = workouts.order_by(
"-date", "-starttime"
).exclude(boattype__in=negtypes)
if rankingonly:
workouts = workouts.exclude(rankingpiece=False)
@@ -188,13 +209,14 @@ def analysis_new(request,userid=0,function='boxplot'):
if request.method != 'POST':
form = WorkoutMultipleCompareForm()
chartform = AnalysisChoiceForm()
chartform = AnalysisChoiceForm(initial={'function':function})
selectedworkouts = Workout.objects.none()
else:
selectedworkouts = Workout.objects.filter(id__in=ids)
form.fields["workouts"].queryset = workouts | selectedworkouts
print(function,'aap')
optionsform = AnalysisOptionsForm(initial={
'modality':modality,