diff --git a/infoscreen/static/html/infoscreen_admin.html b/infoscreen/static/html/infoscreen_admin.html
index 89262df..5a28847 100644
--- a/infoscreen/static/html/infoscreen_admin.html
+++ b/infoscreen/static/html/infoscreen_admin.html
@@ -24,14 +24,18 @@
Select rotation to edit:
diff --git a/infoscreen/static/js/infoadmin_controllers.js b/infoscreen/static/js/infoadmin_controllers.js
index d7ff0e4..1e0ca2a 100644
--- a/infoscreen/static/js/infoadmin_controllers.js
+++ b/infoscreen/static/js/infoadmin_controllers.js
@@ -38,15 +38,19 @@ app.service("InstanceList", ["$http", function($http){
}
});
}
+ this.deleteInstance = function(id){
+ $http.delete("/infoscreen/instance/"+id).then(function(response){
+ self.getRotation(self.selected_rot.id);
+ });
+ }
this.createRotation = function(name) {
data = {'name': name}
console.log(name)
$http.post("/infoscreen/create_rotation", data).then(function(response) {
});
}
- this.deleteInstance = function(id){
- $http.delete("/infoscreen/instance/"+id).then(function(response){
- self.getRotation(self.selected_rot.id);
+ this.deleteRotation = function(id) {
+ $http.delete("/infoscreen/delete_rotation/" + id).then(function(response) {
});
}
}]);
@@ -90,6 +94,11 @@ app.controller('infoadmin_ctrl', function($scope, $http, $window, ItemList, Inst
InstanceList.createRotation(name);
$window.location.reload();
};
+ $scope.deleteRotation = function(id) {
+ InstanceList.deleteRotation(id);
+ $window.location.reload();
+ }
+
$scope.createInstance = InstanceList.createInstance;
$scope.deleteInstance = InstanceList.deleteInstance;
// fetch data
diff --git a/infoscreen/views.py b/infoscreen/views.py
index 6865045..7f3c47b 100644
--- a/infoscreen/views.py
+++ b/infoscreen/views.py
@@ -154,6 +154,21 @@ def createRotation(request, *args, **kwargs):
return resp
+@require_http_methods(["DELETE"])
+@ensure_csrf_cookie
+@permission_required('infoscreen.delete_rotation', login_url='/login')
+def deleteRotation(request, *args, **kwargs):
+
+ id = kwargs.pop("id", 0)
+ logging.warning("Deleting rotation with id={}".format(id))
+
+ try:
+ Rotation.objects.filter(id=id).delete()
+ resp = HttpResponse(status=200)
+ except:
+ resp = HttpResponse('{"error" : "could not delete rotation!"}', status=400)
+
+ return resp
createInstance = itemCreator(InfoInstance)
deleteInstance = itemDeletor(InfoInstance)
diff --git a/sikweb/urls.py b/sikweb/urls.py
index 858a106..76e75ad 100644
--- a/sikweb/urls.py
+++ b/sikweb/urls.py
@@ -45,6 +45,7 @@ from infoscreen.views import createImageItem
from infoscreen.views import createABBItem
from infoscreen.views import createSossoItem
from infoscreen.views import createRotation
+from infoscreen.views import deleteRotation
from infoscreen.views import admin as infoscreen_admin
#application
from members.views import applicationindex
@@ -84,6 +85,7 @@ urlpatterns = [
url(r'^infoscreen/create_sossoitem$', createSossoItem),
url(r'^infoscreen/admin$', infoscreen_admin),
url(r'^infoscreen/create_rotation$', createRotation),
+ url(r'^infoscreen/delete_rotation/(?P\d+)$', deleteRotation),
#application
url(r'^application/$', applicationindex),
url(r'^application/success$', applicationSuccessIndex),