adding athlete selector for coaches when creating target/plan
This commit is contained in:
@@ -973,18 +973,24 @@ class TrainingTargetForm(ModelForm):
|
||||
}
|
||||
|
||||
def __init__(self,*args, **kwargs):
|
||||
user = kwargs.pop('user',None)
|
||||
super(TrainingTargetForm, self).__init__(*args, **kwargs)
|
||||
|
||||
try:
|
||||
teams = Team.objects.filter(manager=self.instance.manager.user)
|
||||
if not teams:
|
||||
self.fields.pop('rowers')
|
||||
else:
|
||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||
team__in=teams
|
||||
).distinct().order_by("user__last_name","user__first_name")
|
||||
except AttributeError:
|
||||
if user:
|
||||
teams = Team.objects.filter(manager=user)
|
||||
else:
|
||||
teams = []
|
||||
|
||||
if not teams:
|
||||
self.fields.pop('rowers')
|
||||
else:
|
||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||
team__in=teams
|
||||
).distinct().order_by("user__last_name","user__first_name")
|
||||
|
||||
|
||||
|
||||
# SportTracks has a TrainingGoal like this
|
||||
@@ -1095,6 +1101,7 @@ class TrainingPlanForm(ModelForm):
|
||||
|
||||
def __init__(self,*args, **kwargs):
|
||||
targets = kwargs.pop('targets',None)
|
||||
user = kwargs.pop('user',None)
|
||||
super(TrainingPlanForm, self).__init__(*args, **kwargs)
|
||||
|
||||
if targets:
|
||||
@@ -1110,15 +1117,18 @@ class TrainingPlanForm(ModelForm):
|
||||
|
||||
try:
|
||||
teams = Team.objects.filter(manager=self.instance.manager.user)
|
||||
|
||||
if not teams:
|
||||
self.fields.pop('rowers')
|
||||
else:
|
||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||
team__in=teams
|
||||
).distinct().order_by("user__last_name","user__first_name")
|
||||
except AttributeError:
|
||||
if user:
|
||||
teams = Team.objects.filter(manager=user)
|
||||
else:
|
||||
teams = []
|
||||
|
||||
if not teams:
|
||||
self.fields.pop('rowers')
|
||||
else:
|
||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||
team__in=teams
|
||||
).distinct().order_by("user__last_name","user__first_name")
|
||||
|
||||
cycletypechoices = (
|
||||
('filler','System Defined'),
|
||||
|
||||
@@ -16263,7 +16263,7 @@ def rower_create_trainingplan(request,userid=0):
|
||||
themanager = getrower(request.user)
|
||||
|
||||
if request.method == 'POST' and 'date' in request.POST:
|
||||
targetform = TrainingTargetForm(request.POST)
|
||||
targetform = TrainingTargetForm(request.POST,user=request.user)
|
||||
if targetform.is_valid():
|
||||
name = targetform.cleaned_data['name']
|
||||
date = targetform.cleaned_data['date']
|
||||
@@ -16281,22 +16281,26 @@ def rower_create_trainingplan(request,userid=0):
|
||||
t.save()
|
||||
|
||||
elif request.method == 'POST' and 'startdate' in request.POST:
|
||||
form = TrainingPlanForm(request.POST)
|
||||
form = TrainingPlanForm(request.POST,user=request.user)
|
||||
|
||||
|
||||
if form.is_valid():
|
||||
|
||||
name = form.cleaned_data['name']
|
||||
try:
|
||||
target = form.cleaned_data['target']
|
||||
except KeyError:
|
||||
try:
|
||||
targetid = request.POST['target']
|
||||
target = TrainingTarget.objects.get(id=targetid)
|
||||
if targetid != '':
|
||||
target = TrainingTarget.objects.get(id=int(targetid))
|
||||
else:
|
||||
target = None
|
||||
except KeyError:
|
||||
target = None
|
||||
startdate = form.cleaned_data['startdate']
|
||||
enddate = form.cleaned_data['enddate']
|
||||
|
||||
athletes = form.cleaned_data['rowers']
|
||||
|
||||
p = TrainingPlan(
|
||||
name=name,
|
||||
@@ -16307,20 +16311,23 @@ def rower_create_trainingplan(request,userid=0):
|
||||
)
|
||||
|
||||
p.save()
|
||||
|
||||
p.rowers.add(therower)
|
||||
|
||||
for athlete in athletes:
|
||||
p.rowers.add(athlete)
|
||||
|
||||
|
||||
targets = TrainingTarget.objects.filter(
|
||||
rowers=therower,
|
||||
date__gte=datetime.date.today(),
|
||||
).order_by("date")
|
||||
targetform = TrainingTargetForm()
|
||||
targetform = TrainingTargetForm(user=request.user)
|
||||
|
||||
plans = TrainingPlan.objects.filter(rowers=therower).order_by("-startdate")
|
||||
|
||||
|
||||
form = TrainingPlanForm(targets=targets,initial={'status':False})
|
||||
form = TrainingPlanForm(targets=targets,
|
||||
initial={'status':False,'rowers':[therower]},
|
||||
user=request.user)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user