Private
Public Access
1
0

Merge branch 'release/v8.41'

This commit is contained in:
Sander Roosendaal
2018-11-06 18:46:48 +01:00
6 changed files with 126 additions and 81 deletions

View File

@@ -948,6 +948,19 @@ class PlannedSessionTeamForm(forms.Form):
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):
members = forms.ModelMultipleChoiceField(

View File

@@ -71,6 +71,11 @@
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
</a>
</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>
</li>
</ul><!-- cd-accordion-menu -->

View File

@@ -7,13 +7,39 @@
{% block main %}
<h1>Edit Session</h1>
{% if user.is_authenticated and user|is_manager %}
<p>
<a href="/rowers/sessions/teamedit/{{ thesession.id }}/">
Assign to my Teams
</a>
</p>
{% endif %}
<ul class="main-content">
<li class="grid_2">
<h2>{{ thesession.name }}</h2>
<p>
<a href="/rowers/sessions/teamedit/{{ thesession.id }}/">
Assign to my Teams
</a>
</p>
<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>
<li class="grid_2">
<h2>Plan</h2>
<p>
@@ -63,32 +89,6 @@
</tbody>
</table>
</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>
{% endblock %}

View File

@@ -18,12 +18,20 @@
<li class="grid_2">
{% csrf_token %}
<h1>Select Team</h1>
<p>
<h1>New Team Session</h1>
<table>
{{ teamform.as_table }}
</table></p>
{% if plannedsessions %}
</table>
<table>
{{ form.as_table }}
</table>
<input class="button green" type="submit" value="Save">
<div id="id_guidance" class="padded">
</div>
</li>
{% if plannedsessions %}
<li class="grid_2">
<h1>Team Plan Sessions</h1>
<p>
<table class="listtable shortpadded" width="80%">
@@ -70,18 +78,8 @@
</tbody>
</table>
</p>
{% 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>
{% endif %}
</ul>
</form>

View File

@@ -31,6 +31,24 @@
{{ rowersform.as_table }}
</table>
</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 %}
<h1>Team Plan Sessions</h1>
<p>
@@ -79,25 +97,7 @@
</table>
</p>
{% 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>
</ul>
</form>

View File

@@ -679,11 +679,12 @@ def get_blog_posts(request):
for postdata in blogs_json[0:3]:
try:
featuredmedia = postdata['featured_media']
url = 'https://analytics.rowsandall.com/wp-json/wp/v2/media/%d' % featuredmedia
response = requests.get(url)
if response.status_code == 200:
image_json = response.json()
image_url = image_json[
@@ -695,6 +696,8 @@ def get_blog_posts(request):
][
'source_url'
]
else:
image_url = ''
except KeyError:
image_url = ''
@@ -14353,7 +14356,7 @@ def plannedsession_teamcreate_view(request,
sessionteamselectform = PlannedSessionTeamForm(
request.user,request.POST
)
if sessioncreateform.is_valid():
if sessioncreateform.is_valid() and sessionteamselectform.is_valid():
cd = sessioncreateform.cleaned_data
startdate = cd['startdate']
enddate = cd['enddate']
@@ -14388,22 +14391,46 @@ def plannedsession_teamcreate_view(request,
ps.save()
# some logic when to add all selected rowers
if sessionteamselectform.is_valid():
cd = sessionteamselectform.cleaned_data
teams = cd['team']
for team in teams:
add_team_session(team,ps)
rs = Rower.objects.filter(team__in=[team])
for r in rs:
add_rower_session(r,ps)
url = reverse(plannedsession_teamcreate_view)
if when:
url += '?when='+when
cd = sessionteamselectform.cleaned_data
teams = cd['team']
for team in teams:
add_team_session(team,ps)
rs = Rower.objects.filter(team__in=[team])
for r in rs:
add_rower_session(r,ps)
url = reverse(plannedsession_teamcreate_view)
if 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:
initial = {
'startdate':startdate,
@@ -14522,6 +14549,8 @@ def plannedsession_teamedit_view(request,
remove_team_session(team,ps)
else:
selectedteams = []
for team in teams:
remove_team_session(team,ps)
if sessionrowerform.is_valid():