Private
Public Access
1
0

adding session edit

This commit is contained in:
Sander Roosendaal
2018-02-05 22:02:25 +01:00
parent ba334554eb
commit 51d8f3c9e1
5 changed files with 136 additions and 1 deletions

View File

@@ -110,6 +110,14 @@ def get_sessions(r,startdate=timezone.now(),
rower__in=[r], rower__in=[r],
startdate__gte=startdate, startdate__gte=startdate,
enddate__lte=enddate, enddate__lte=enddate,
).order_by("startdate") ).order_by("startdate","enddate")
return sps return sps
def update_plannedsession(ps,cd):
for attr, value in cd.items():
setattr(ps, attr, value)
ps.save()
return 1,'Planned Session Updated'

View File

@@ -0,0 +1,76 @@
{% extends "base.html" %}
{% load staticfiles %}
{% block title %}Update Planned Session{% endblock %}
{% block content %}
<div class="grid_12 alpha">
{% include "planningbuttons.html" %}
</div>
<div id="left" class="grid_6 alpha">
<h1>Edit Session {{ thesession.name }}</h1>
<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 %}
<table>
{{ form.as_table }}
</table>
{% csrf_token %}
<div id="formbutton" class="grid_1 prefix_4 suffix_1">
<input class="button green" type="submit" value="Submit">
</div>
</div>
<div id="right" class="grid_6 omega">
<h1>Plan</h1>
<p>
Click on session name to view
</p>
<table class="listtable shortpadded">
<thead>
<tr>
<th>After</th>
<th>Before</th>
<th>Name</th>
<th>Value</th>
<th>&nbsp;</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
{% for ps in plannedsessions %}
<tr>
<td> {{ ps.startdate|date:"Y-m-d" }} </td>
<td> {{ ps.enddate|date:"Y-m-d" }} </td>
<td>
{% if ps.name != '' %}
<a class="small"
href="/rowers/sessions/{{ ps.id }}">{{ ps.name }}</a>
{% else %}
<a class="small"
href="/rowers/sessions/{{ ps.id }}">Unnamed Session</a>
{% endif %}
</td>
<td> {{ ps.sessionvalue }} </td>
<td> {{ ps.sessionunit }} </td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/edit">Edit</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm">Delete</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</form>
{% endblock %}

View File

@@ -397,6 +397,7 @@ urlpatterns = [
url(r'^test\_callback',views.rower_process_testcallback), url(r'^test\_callback',views.rower_process_testcallback),
url(r'^workout/(?P<id>\d+)/test\_strokedata$',views.strokedataform), url(r'^workout/(?P<id>\d+)/test\_strokedata$',views.strokedataform),
url(r'^sessions/create$',views.plannedsession_create_view), url(r'^sessions/create$',views.plannedsession_create_view),
url(r'^sessions/(?P<id>\d+)/edit$',views.plannedsession_edit_view),
] ]
if settings.DEBUG: if settings.DEBUG:

View File

@@ -11751,3 +11751,53 @@ def plannedsession_create_view(request):
'form':sessioncreateform, 'form':sessioncreateform,
'plannedsessions':sps, 'plannedsessions':sps,
}) })
# Edit an existing planned session
@user_passes_test(hasplannedsessions,login_url="/",
redirect_field_name=None)
def plannedsession_edit_view(request,id=0):
r = getrower(request.user)
try:
ps = PlannedSession.objects.get(id=id)
except PlannedSession.DoesNotExist:
raise Http404("Planned Session does not exist")
if request.method == 'POST':
sessioncreateform = PlannedSessionForm(request.POST,instance=ps)
if sessioncreateform.is_valid():
cd = sessioncreateform.cleaned_data
startdate = cd['startdate']
enddate = cd['enddate']
sessiontype = cd['sessiontype']
sessionmode = cd['sessionmode']
sessionvalue = cd['sessionvalue']
sessionunit = cd['sessionunit']
comment = cd['comment']
name = cd['name']
res,message = update_plannedsession(ps,cd)
if res:
messages.info(request,message)
else:
messages.error(request,message)
url = reverse(plannedsession_edit_view,
kwargs={
'id':int(ps.id),
})
return HttpResponseRedirect(url)
else:
sessioncreateform = PlannedSessionForm(instance=ps)
sps = get_sessions(r)
return render(request,'plannedsessionedit.html',
{
'teams':get_my_teams(request.user),
'form':sessioncreateform,
'plannedsessions':sps,
'thesession':ps,
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 475 KiB