Private
Public Access
1
0

adding plan and target edit

This commit is contained in:
Sander Roosendaal
2018-09-07 19:32:04 +02:00
parent 4c8e81d0e7
commit 54cc552a99
5 changed files with 123 additions and 3 deletions

View File

@@ -840,6 +840,7 @@ def checkworkoutuser(user,workout):
except Rower.DoesNotExist:
return False
# Check if user is coach or rower
def checkaccessuser(user,rower):
try:
@@ -1008,7 +1009,7 @@ class TrainingPlan(models.Model):
self.startdate = enddate
self.enddate = startdate
otherplans = TrainingPlan.objects.filter(rower=self.rower)
otherplans = TrainingPlan.objects.filter(rower=self.rower).exclude(pk=self.pk)
for otherplan in otherplans:
if otherplan.startdate <= self.enddate and otherplan.startdate >= self.startdate:
@@ -1016,8 +1017,6 @@ class TrainingPlan(models.Model):
if otherplan.enddate >= self.startdate and otherplan.enddate <= self.enddate:
self.startdate = otherplan.enddate+datetime.timedelta(days=1)
print self.startdate,self.enddate
if not self.enddate <= self.startdate:
super(TrainingPlan,self).save(*args, **kwargs)

View File

@@ -34,6 +34,8 @@
<td> {{ target.date }}</td>
<td> {{ target.name }}</td>
<td> {{ target.notes }}</td>
<td> <a href="/rowers/edittarget/{{ target.id }}">Edit</a>
<td> <a href="/rowers/deletetarget/{{ target.id }}">Delete</a>
</tr>
{% endfor %}
</tbody>
@@ -82,6 +84,8 @@
<td> {{ plan.startdate }} </td>
<td> {{ plan.enddate }}</td>
<td> {{ plan.name }}</td>
<td> <a href="/rowers/editplan/{{ plan.id }}">Edit</a>
<td> <a href="/rowers/deleteplan/{{ plan.id }}">Delete</a>
</tr>
{% endfor %}
</tbody>

View File

@@ -0,0 +1,32 @@
{% extends "base.html" %}
{% load staticfiles %}
{% load rowerfilters %}
{% block title %}Rowsandall Training Plans{% endblock %}
{% block scripts %}
{% endblock %}
{% block content %}
<style>
#mypointer {
cursor: pointer;
}
</style>
<div class="grid_12">
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<div class="grid_1 prefix_2 suffix_9 alpha">
<input class="button green" type="submit" value="Save">
</div>
</form>
</div>
{% endblock %}

View File

@@ -421,6 +421,10 @@ urlpatterns = [
url(r'^test\_callback',views.rower_process_testcallback),
url(r'^createplan$',views.rower_create_trainingplan),
url(r'^createplan/(?P<id>\d+)$',views.rower_create_trainingplan),
url(r'^deleteplan/(?P<id>\d+)$',views.rower_delete_trainingplan),
url(r'^deletetarget/(?P<id>\d+)$',views.rower_delete_trainingtarget),
url(r'^editplan/(?P<pk>\d+)$',views.TrainingPlanUpdate.as_view()),
url(r'^edittarget/(?P<pk>\d+)$',views.TrainingTargetUpdate.as_view()),
url(r'^workout/(?P<id>\d+)/test\_strokedata$',views.strokedataform),
url(r'^sessions/teamcreate$',views.plannedsession_teamcreate_view),

View File

@@ -27,6 +27,9 @@ import codecs
import isodate
from django.shortcuts import render
from django.views.generic.edit import UpdateView
from django.http import (
HttpResponse, HttpResponseRedirect,
HttpResponseForbidden, HttpResponseNotAllowed,
@@ -125,6 +128,9 @@ from rowers.tasks_standalone import addcomment2
from django.contrib import messages
from async_messages import messages as a_messages
from django.contrib.admin.widgets import AdminDateWidget,AdminTimeWidget,AdminSplitDateTime
import requests
import json
from rest_framework.renderers import JSONRenderer
@@ -14170,6 +14176,41 @@ def virtualevent_submit_result_view(request,id=0):
'w_form':w_form,
})
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingtarget(request,id=0):
try:
target = TrainingTarget.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,target.rower):
target.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingplan(request,id=0):
try:
plan = TrainingPlan.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,plan.rower):
plan.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_create_trainingplan(request,id=0):
@@ -14228,3 +14269,43 @@ def rower_create_trainingplan(request,id=0):
class TrainingPlanUpdate(UpdateView):
model = TrainingPlan
template_name = 'trainingplan_edit.html'
form_class = TrainingPlanForm
def get_success_url(self):
return reverse(rower_create_trainingplan)
def form_valid(self, form):
form.instance.user = self.request.user
form.instance.post_date = datetime.datetime.now()
plan = form.save()
return super(TrainingPlanUpdate, self).form_valid(form)
def get_object(self, *args, **kwargs):
obj = super(TrainingPlanUpdate, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.rower):
raise Http404
return obj
class TrainingTargetUpdate(UpdateView):
model = TrainingTarget
template_name = 'trainingplan_edit.html'
form_class = TrainingTargetForm
def get_success_url(self):
return reverse(rower_create_trainingplan)
def form_valid(self, form):
form.instance.user = self.request.user
form.instance.post_date = datetime.datetime.now()
plan = form.save()
return super(TrainingTargetUpdate, self).form_valid(form)
def get_object(self, *args, **kwargs):
obj = super(TrainingTargetUpdate, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.rower):
raise Http404
return obj