Private
Public Access
1
0

Merge branch 'release/v16.7.0'

This commit is contained in:
Sander Roosendaal
2021-11-09 16:06:55 +01:00
5 changed files with 20 additions and 7 deletions

View File

@@ -1571,9 +1571,11 @@ class TrainingTargetForm(ModelForm):
if not teams: if not teams:
self.fields.pop('rowers') self.fields.pop('rowers')
else: else:
self.fields['rowers'].queryset = Rower.objects.filter( qs1 = Rower.objects.filter(
team__in=teams team__in=teams
).distinct().order_by("user__last_name","user__first_name") ).distinct().order_by("user__last_name","user__first_name")
self.fields['rowers'].queryset = qs1
class InstantPlan(models.Model): class InstantPlan(models.Model):

View File

@@ -1050,6 +1050,7 @@ def get_workouts_session(r,ps):
def create_sessions_from_json(plansteps,rower,startdate,manager): def create_sessions_from_json(plansteps,rower,startdate,manager):
trainingdays = plansteps['trainingDays'] trainingdays = plansteps['trainingDays']
planstartdate = startdate
for day in trainingdays: for day in trainingdays:
for workout in day['workouts']: for workout in day['workouts']:
sessionsport = 'water' sessionsport = 'water'
@@ -1058,10 +1059,12 @@ def create_sessions_from_json(plansteps,rower,startdate,manager):
except KeyError: except KeyError:
pass pass
preferreddate = planstartdate+timedelta(days=day['order'])
ps = PlannedSession( ps = PlannedSession(
startdate = startdate+timedelta(days=day['order']), startdate = preferreddate-timedelta(days=preferreddate.weekday()),
enddate = startdate, enddate = preferreddate+timedelta(days=-preferreddate.weekday(),weeks=1),
preferreddate = startdate, preferreddate = preferreddate,
sessionsport = sessionsport, # change this sessionsport = sessionsport, # change this
name = workout['workoutName'], name = workout['workoutName'],
steps = workout, steps = workout,

View File

@@ -47,6 +47,7 @@
<thead> <thead>
<tr> <tr>
<th align="left">Status</th> <th align="left">Status</th>
<th align="left">Date</th>
<th align="left">On or After</th> <th align="left">On or After</th>
<th align="left">On or Before</th> <th align="left">On or Before</th>
<th align="left">Name</th> <th align="left">Name</th>
@@ -78,6 +79,7 @@
href="/rowers/virtualevent/{{ ps.id }}/submit">&nbsp;</a> href="/rowers/virtualevent/{{ ps.id }}/submit">&nbsp;</a>
{% endif %} {% endif %}
</td> </td>
<td> {{ ps.preferreddate|date:"Y-m-d"}} </td>
<td> {{ ps.startdate|date:"Y-m-d" }} </td> <td> {{ ps.startdate|date:"Y-m-d" }} </td>
<td> {{ ps.enddate|date:"Y-m-d" }} </td> <td> {{ ps.enddate|date:"Y-m-d" }} </td>
<td> <td>

View File

@@ -95,6 +95,11 @@ def buy_trainingplan_view(request,id=0):
r = request.user.rower r = request.user.rower
targets = TrainingTarget.objects.filter(
rowers=r,
date__gte=timezone.now(),
).order_by("-date")
plan = get_object_or_404(InstantPlan,pk=id) plan = get_object_or_404(InstantPlan,pk=id)
if r.paymentprocessor != 'braintree': # pragma: no cover if r.paymentprocessor != 'braintree': # pragma: no cover
@@ -110,7 +115,7 @@ def buy_trainingplan_view(request,id=0):
if request.method == 'POST': if request.method == 'POST':
billingaddressform = RowerBillingAddressForm(instance=r) billingaddressform = RowerBillingAddressForm(instance=r)
form = InstantPlanSelectForm(request.POST) form = InstantPlanSelectForm(request.POST,targets=targets)
if billingaddressform.is_valid(): # pragma: no cover if billingaddressform.is_valid(): # pragma: no cover
cd = billingaddressform.cleaned_data cd = billingaddressform.cleaned_data
for attr, value in cd.items(): for attr, value in cd.items():
@@ -129,7 +134,8 @@ def buy_trainingplan_view(request,id=0):
# get target and set enddate # get target and set enddate
try: try:
target = cd['target'] targetid = cd['target']
target = TrainingTarget.objects.get(id=int(targetid))
except KeyError: except KeyError:
try: try:
targetid = request.POST['target'] targetid = request.POST['target']

View File

@@ -2795,7 +2795,7 @@ def rower_select_instantplan(request,id=0):
themanager = getrower(request.user) themanager = getrower(request.user)
# get and present available plans # get and present available plans
ips = InstantPlan.objects.all().order_by("sessionsperweek","hoursperweek","duration","id") ips = InstantPlan.objects.all().order_by("name","sessionsperweek","hoursperweek","duration","id")
breadcrumbs = [ breadcrumbs = [
{ {