adding session edit
This commit is contained in:
@@ -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'
|
||||||
|
|||||||
76
rowers/templates/plannedsessionedit.html
Normal file
76
rowers/templates/plannedsessionedit.html
Normal 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> </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 %}
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -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 |
Reference in New Issue
Block a user