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