some improvements in team sessions
This commit is contained in:
@@ -948,6 +948,19 @@ class PlannedSessionTeamForm(forms.Form):
|
|||||||
|
|
||||||
self.fields['team'].queryset = Team.objects.filter(manager=user)
|
self.fields['team'].queryset = Team.objects.filter(manager=user)
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
|
if any(self.errors):
|
||||||
|
return
|
||||||
|
|
||||||
|
cd = self.cleaned_data
|
||||||
|
print cd['team'],'aap'
|
||||||
|
if not cd['team']:
|
||||||
|
raise forms.ValidationError(
|
||||||
|
'You must select at least one team'
|
||||||
|
)
|
||||||
|
|
||||||
|
return cd
|
||||||
|
|
||||||
|
|
||||||
class PlannedSessionTeamMemberForm(forms.Form):
|
class PlannedSessionTeamMemberForm(forms.Form):
|
||||||
members = forms.ModelMultipleChoiceField(
|
members = forms.ModelMultipleChoiceField(
|
||||||
|
|||||||
@@ -71,6 +71,11 @@
|
|||||||
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li id="plan-microcycle">
|
||||||
|
<a href="/rowers/sessions/multiclone/user/{{ rower.user.id }}/?when={{ timeperiod }}">
|
||||||
|
<i class="fas fa-layer-plus fa-fw"></i>Clone Multiple Sessions
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul><!-- cd-accordion-menu -->
|
</ul><!-- cd-accordion-menu -->
|
||||||
|
|||||||
@@ -7,13 +7,39 @@
|
|||||||
{% block main %}
|
{% block main %}
|
||||||
<h1>Edit Session</h1>
|
<h1>Edit Session</h1>
|
||||||
{% if user.is_authenticated and user|is_manager %}
|
{% if user.is_authenticated and user|is_manager %}
|
||||||
<p>
|
{% endif %}
|
||||||
|
<ul class="main-content">
|
||||||
|
<li class="grid_2">
|
||||||
|
<h2>{{ thesession.name }}</h2>
|
||||||
|
<p>
|
||||||
<a href="/rowers/sessions/teamedit/{{ thesession.id }}/">
|
<a href="/rowers/sessions/teamedit/{{ thesession.id }}/">
|
||||||
Assign to my Teams
|
Assign to my Teams
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||||
<ul class="main-content">
|
{% if form.errors %}
|
||||||
|
<p style="color: red;">
|
||||||
|
Please correct the error{{ form.errors|pluralize }} below.
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
<p>
|
||||||
|
<table>
|
||||||
|
{{ form.as_table }}
|
||||||
|
</table>
|
||||||
|
</p>
|
||||||
|
{% csrf_token %}
|
||||||
|
<div id="id_guidance">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
<a href="/rowers/sessions/{{ thesession.id }}/deleteconfirm">Delete</a>
|
||||||
|
<a href="/rowers/sessions/{{ thesession.id }}/clone/?when={{ timeperiod }}">Clone</a>
|
||||||
|
</p>
|
||||||
|
<input class="button green"
|
||||||
|
action="/rowers/sessions/{{ thesession.id }}/edit/user/{{ rower.user.id }}" type="submit" value="Save">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</li>
|
||||||
<li class="grid_2">
|
<li class="grid_2">
|
||||||
<h2>Plan</h2>
|
<h2>Plan</h2>
|
||||||
<p>
|
<p>
|
||||||
@@ -63,32 +89,6 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</li>
|
</li>
|
||||||
<li class="grid_2">
|
|
||||||
<h2>{{ thesession.name }}</h2>
|
|
||||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
|
||||||
{% if form.errors %}
|
|
||||||
<p style="color: red;">
|
|
||||||
Please correct the error{{ form.errors|pluralize }} below.
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
<p>
|
|
||||||
<table>
|
|
||||||
{{ form.as_table }}
|
|
||||||
</table>
|
|
||||||
</p>
|
|
||||||
{% csrf_token %}
|
|
||||||
<div id="id_guidance">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<a href="/rowers/sessions/{{ thesession.id }}/deleteconfirm">Delete</a>
|
|
||||||
<a href="/rowers/sessions/{{ thesession.id }}/clone/?when={{ timeperiod }}">Clone</a>
|
|
||||||
</p>
|
|
||||||
<input class="button green"
|
|
||||||
action="/rowers/sessions/{{ thesession.id }}/edit/user/{{ rower.user.id }}" type="submit" value="Save">
|
|
||||||
</form>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -18,12 +18,20 @@
|
|||||||
<li class="grid_2">
|
<li class="grid_2">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
<h1>Select Team</h1>
|
<h1>New Team Session</h1>
|
||||||
<p>
|
|
||||||
<table>
|
<table>
|
||||||
{{ teamform.as_table }}
|
{{ teamform.as_table }}
|
||||||
</table></p>
|
</table>
|
||||||
|
<table>
|
||||||
|
{{ form.as_table }}
|
||||||
|
</table>
|
||||||
|
<input class="button green" type="submit" value="Save">
|
||||||
|
<div id="id_guidance" class="padded">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
{% if plannedsessions %}
|
{% if plannedsessions %}
|
||||||
|
<li class="grid_2">
|
||||||
<h1>Team Plan Sessions</h1>
|
<h1>Team Plan Sessions</h1>
|
||||||
<p>
|
<p>
|
||||||
<table class="listtable shortpadded" width="80%">
|
<table class="listtable shortpadded" width="80%">
|
||||||
@@ -70,18 +78,8 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
|
||||||
<li class="grid_2">
|
|
||||||
<h1>New Session</h1>
|
|
||||||
<table>
|
|
||||||
{{ form.as_table }}
|
|
||||||
</table>
|
|
||||||
<input class="button green" type="submit" value="Save">
|
|
||||||
<div id="id_guidance" class="padded">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,24 @@
|
|||||||
{{ rowersform.as_table }}
|
{{ rowersform.as_table }}
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
|
<h1>Session {{ plannedsession.name }}</h1>
|
||||||
|
<table>
|
||||||
|
{{ form.as_table }}
|
||||||
|
</table>
|
||||||
|
<p>
|
||||||
|
<a href="/rowers/sessions/{{ plannedsession.id }}/deleteconfirm">Delete</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="/rowers/sessions/{{ plannedsession.id }}/clone">Clone</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<input class="button green" type="submit" value="Save">
|
||||||
|
</p>
|
||||||
|
<div id="id_guidance" class="padded">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="grid_2">
|
||||||
{% if plannedsessions %}
|
{% if plannedsessions %}
|
||||||
<h1>Team Plan Sessions</h1>
|
<h1>Team Plan Sessions</h1>
|
||||||
<p>
|
<p>
|
||||||
@@ -79,25 +97,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
|
||||||
<li class="grid_2">
|
|
||||||
|
|
||||||
<h1>Session {{ plannedsession.name }}</h1>
|
|
||||||
<table>
|
|
||||||
{{ form.as_table }}
|
|
||||||
</table>
|
|
||||||
<p>
|
|
||||||
<a href="/rowers/sessions/{{ plannedsession.id }}/deleteconfirm">Delete</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="/rowers/sessions/{{ plannedsession.id }}/clone">Clone</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<input class="button green" type="submit" value="Save">
|
|
||||||
</p>
|
|
||||||
<div id="id_guidance" class="padded">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -14353,7 +14353,7 @@ def plannedsession_teamcreate_view(request,
|
|||||||
sessionteamselectform = PlannedSessionTeamForm(
|
sessionteamselectform = PlannedSessionTeamForm(
|
||||||
request.user,request.POST
|
request.user,request.POST
|
||||||
)
|
)
|
||||||
if sessioncreateform.is_valid():
|
if sessioncreateform.is_valid() and sessionteamselectform.is_valid():
|
||||||
cd = sessioncreateform.cleaned_data
|
cd = sessioncreateform.cleaned_data
|
||||||
startdate = cd['startdate']
|
startdate = cd['startdate']
|
||||||
enddate = cd['enddate']
|
enddate = cd['enddate']
|
||||||
@@ -14388,8 +14388,6 @@ def plannedsession_teamcreate_view(request,
|
|||||||
|
|
||||||
ps.save()
|
ps.save()
|
||||||
|
|
||||||
# some logic when to add all selected rowers
|
|
||||||
if sessionteamselectform.is_valid():
|
|
||||||
cd = sessionteamselectform.cleaned_data
|
cd = sessionteamselectform.cleaned_data
|
||||||
teams = cd['team']
|
teams = cd['team']
|
||||||
for team in teams:
|
for team in teams:
|
||||||
@@ -14404,6 +14402,32 @@ def plannedsession_teamcreate_view(request,
|
|||||||
url += '?when='+when
|
url += '?when='+when
|
||||||
|
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
|
else:
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsession_teamcreate_view),
|
||||||
|
'name': 'Add Team Session'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
return render(request,'plannedsessionteamcreate.html',
|
||||||
|
{
|
||||||
|
'teams':get_my_teams(request.user),
|
||||||
|
'plan':trainingplan,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
|
'form':sessioncreateform,
|
||||||
|
'teamform':sessionteamselectform,
|
||||||
|
'timeperiod':timeperiod,
|
||||||
|
'plannedsessions':sps,
|
||||||
|
'rower':therower,
|
||||||
|
'active':'nav-plan'
|
||||||
|
})
|
||||||
|
|
||||||
else:
|
else:
|
||||||
initial = {
|
initial = {
|
||||||
'startdate':startdate,
|
'startdate':startdate,
|
||||||
@@ -14522,6 +14546,8 @@ def plannedsession_teamedit_view(request,
|
|||||||
remove_team_session(team,ps)
|
remove_team_session(team,ps)
|
||||||
else:
|
else:
|
||||||
selectedteams = []
|
selectedteams = []
|
||||||
|
for team in teams:
|
||||||
|
remove_team_session(team,ps)
|
||||||
|
|
||||||
|
|
||||||
if sessionrowerform.is_valid():
|
if sessionrowerform.is_valid():
|
||||||
|
|||||||
Reference in New Issue
Block a user