diff --git a/rowers/templates/plannedsessiondeleteconfirm.html b/rowers/templates/plannedsessiondeleteconfirm.html
index 0a6f3d7f..a299e6b0 100644
--- a/rowers/templates/plannedsessiondeleteconfirm.html
+++ b/rowers/templates/plannedsessiondeleteconfirm.html
@@ -1,45 +1,43 @@
-{% extends "base.html" %}
+{% extends "newbase.html" %}
{% load staticfiles %}
{% block title %}Planned Session{% endblock %}
-{% block content %}
-
- {% include "planningbuttons.html" %}
-
-
-
-
Confirm Delete
-
This will permanently delete the planned session
+{% block main %}
+
Confirm Delete
+
This will permanently delete the planned session
-
-
-
-
+
-
-
-
Session {{ psdict.name.1 }}
-
- {% for attr in attrs %}
- {% for key,value in psdict.items %}
- {% if key == attr %}
-
- | {{ value.0 }} | {{ value.1 }} |
-
- {% endif %}
- {% endfor %}
- {% endfor %}
-
-
+
+ Session {{ psdict.name.1 }}
+
+ {% for attr in attrs %}
+ {% for key,value in psdict.items %}
+ {% if key == attr %}
+
+ | {{ value.0 }} | {{ value.1 }} |
+
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
+
+
+
+{% endblock %}
+
+{% block sidebar %}
+{% include 'menu_plan.html' %}
{% endblock %}
diff --git a/rowers/urls.py b/rowers/urls.py
index 080a7b61..c6184a05 100644
--- a/rowers/urls.py
+++ b/rowers/urls.py
@@ -466,8 +466,9 @@ urlpatterns = [
name='plannedsession_view'),
url(r'^sessions/(?P\d+)/user/(?P\d+)$',views.plannedsession_view,
name='plannedsession_view'),
- url(r'^sessions/(?P\d+)/deleteconfirm$',views.plannedsession_deleteconfirm_view),
- url(r'^sessions/(?P\d+)/delete$',views.plannedsession_delete_view),
+ url(r'^sessions/(?P\d+)/deleteconfirm$',views.PlannedSessionDelete.as_view()),
+ url(r'^sessions/(?P\d+)/delete$',views.PlannedSessionDelete.as_view(),
+ name='plannedsession_delete_view'),
url(r'^sessions/manage/session/(?P\d+)$',
views.plannedsessions_manage_view),
url(r'^sessions/manage/user/(?P\d+)/session/(?P\d+)$',
diff --git a/rowers/views.py b/rowers/views.py
index 0c33fa4b..f2216340 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -14786,6 +14786,78 @@ def plannedsession_view(request,id=0,userid=0):
}
)
+class PlannedSessionDelete(DeleteView):
+ model = PlannedSession
+ template_name = 'plannedsessiondeleteconfirm.html'
+
+ # extra parameters
+ def get_context_data(self, **kwargs):
+ context = super(PlannedSessionDelete,self).get_context_data(**kwargs)
+
+ if 'userid' in kwargs:
+ userid = kwargs['userid']
+ else:
+ userid = 0
+
+ context['active']= 'nav-plan'
+ context['rower'] = getrequestrower(self.request,userid=userid)
+ context['ps'] = self.object
+
+ psdict = my_dict_from_instance(self.object,PlannedSession)
+
+ context['psdict'] = psdict
+
+ context['attrs'] = ['name','startdate','enddate','sessiontype']
+
+ breadcrumbs = [
+ {
+ 'url':reverse(plannedsessions_view,
+ kwargs={'userid':userid}),
+ 'name': 'Plan'
+ },
+ {
+ 'url': reverse(plannedsessions_view,
+ kwargs={'userid':userid}),
+ 'name': 'Sessions'
+ },
+ {
+ 'url':reverse(plannedsession_view,
+ kwargs={
+ 'userid':userid,
+ 'id':self.object.pk,
+ }
+ ),
+ 'name': self.object.pk
+ },
+ {
+ 'url':reverse('plannedsession_delete_view',
+ kwargs={'pk':self.object.pk}),
+ 'name': 'Delete'
+ }
+ ]
+
+ context['breadcrumbs'] = breadcrumbs
+
+ return context
+
+ def get_success_url(self):
+ ws = Workout.objects.filter(plannedsession=self.object)
+ for w in ws:
+ w.plannedsession = None
+ w.save()
+
+ url = reverse(plannedsessions_view)
+
+ return url
+
+ def get_object(self, *args, **kwargs):
+ obj = super(PlannedSessionDelete, self).get_object(*args, **kwargs)
+ m = Rower.objects.get(user=obj.manager)
+ if not checkaccessuser(self.request.user,m):
+ raise PermissionDenied('You are not allowed to delete this planned session')
+
+ return obj
+
@login_required()
def plannedsession_delete_view(request,id=0):
r = getrower(request.user)