Private
Public Access
1
0

adding plan/actual in plan view

This commit is contained in:
Sander Roosendaal
2018-09-15 22:05:29 +02:00
parent 90f022f690
commit 7fb606842d
4 changed files with 269 additions and 56 deletions

View File

@@ -14499,17 +14499,98 @@ def rower_trainingplan_view(request,id=0):
count = 0
cycles = {}
r = plan.rower
for m in macrocycles:
createmesofillers(m)
m.plantime = 0
m.actualtime = 0
m.plandistance = 0
m.actualdistance = 0
m.planrscore = 0
m.actualrscore = 0
m.plantrimp = 0
m.actualtrimp = 0
mesocycles = TrainingMesoCycle.objects.filter(plan=m).order_by("startdate")
mesos = {}
count2 = 0
for me in mesocycles:
createmicrofillers(me)
me.plantime = 0
me.actualtime = 0
me.plandistance = 0
me.actualdistance = 0
me.planrscore = 0
me.actualrscore = 0
me.plantrimp = 0
me.actualtrimp = 0
microcycles = TrainingMicroCycle.objects.filter(plan=me).order_by("startdate")
for mm in microcycles:
sps = PlannedSession.objects.filter(
rower = plan.rower,
startdate__lte=mm.enddate,
enddate__gte=mm.startdate)
mm.plantime = 0
mm.actualtime = 0
mm.plandistance = 0
mm.actualdistance = 0
mm.planrscore = 0
mm.actualrscore = 0
mm.plantrimp = 0
mm.actualtrimp = 0
if mm.type == 'userdefined':
for ps in sps:
ratio, status, cdate = is_session_complete(r,ps)
if ps.sessionmode == 'time':
mm.plantime += ps.sessionvalue
mm.actualtime += ps.sessionvalue*ratio
elif ps.sessionmode == 'distance':
mm.plandistance += ps.sessionvalue
mm.actualdistance += ps.sessionvalue*ratio
elif ps.sessionmode == 'rScore':
mm.planrscore += ps.sessionvalue
mm.actualrscore += ps.sessionvalue*ratio
elif ps.sessionmode == 'TRIMP':
mm.plantrimp += ps.sessionvalue
mm.actualtrimp += ps.sessionvalue*ratio
mm.save()
me.plantime += mm.plantime
me.actualtime += mm.actualtime
me.plandistance += mm.plandistance
me.actualdistance += mm.actualdistance
me.planrscore += mm.planrscore
me.actualrscore += mm.actualrscore
me.plantrimp += mm.plantrimp
me.actualtrimp += mm.actualtrimp
if me.type == 'userdefined':
me.save()
m.plantime += me.plantime
m.actualtime += me.actualtime
m.plandistance += me.plandistance
m.actualdistance += me.actualdistance
m.planrscore += me.planrscore
m.actualrscore += me.actualrscore
m.plantrimp += me.plantrimp
m.actualtrimp += me.actualtrimp
mesos[count2] = (me, microcycles)
count2 += 1
if m.type == 'userdefined':
m.save()
cycles[count] = (m,mesos)
count += 1
@@ -14604,6 +14685,7 @@ class TrainingMicroCycleUpdate(UpdateView):
form.instance.user = self.request.user
form.instance.post_date = datetime.datetime.now()
microcycle = form.save()
return super(TrainingMicroCycleUpdate, self).form_valid(form)
def get_object(self, *args, **kwargs):