diff --git a/flowspec/admin.py b/flowspec/admin.py
index 5ee2e914af67d198a2905c6ef3bdad89189cb873..c8e59d83f7755c78a518686babfaf08f8d11d6a0 100644
--- a/flowspec/admin.py
+++ b/flowspec/admin.py
@@ -8,6 +8,7 @@ from django.contrib.auth.admin import UserAdmin
from accounts.models import UserProfile
from flowspy.flowspec.forms import *
import datetime
+from django.conf import settings
class RouteAdmin(admin.ModelAdmin):
form = RouteForm
@@ -21,9 +22,11 @@ class RouteAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.status = "PENDING"
- obj.expires = datetime.date.today()
obj.save()
- obj.commit_add()
+ if change:
+ obj.commit_edit()
+ else:
+ obj.commit_add()
def has_delete_permission(self, request, obj=None):
return False
@@ -35,6 +38,7 @@ class RouteAdmin(admin.ModelAdmin):
("Match", {'fields': ['source', 'sourceport', 'destination', 'destinationport', 'port']}),
('Advanced Match Statements', {'fields': ['dscp', 'fragmenttype', 'icmpcode', 'icmptype', 'packetlength', 'protocol', 'tcpflag'], 'classes': ['collapse']}),
("Then", {'fields': ['then' ]}),
+ ("Expires", {'fields': ['expires' ]}),
(None, {'fields': ['comments',]}),
]
diff --git a/flowspec/tasks.py b/flowspec/tasks.py
index 27ade78e14cf7493e0d2988ffcac3f999c1a3fea..412d5e4800a00c18b6c9e43cd73811264d290169 100644
--- a/flowspec/tasks.py
+++ b/flowspec/tasks.py
@@ -6,6 +6,7 @@ import json
from celery.task.http import *
from flowspy.utils import beanstalkc
from django.conf import settings
+import datetime
import os
@@ -92,6 +93,7 @@ def batch_delete(routes, **kwargs):
for route in routes:
route.status = status
route.response = response
+ route.expires = datetime.date.today()
route.save()
subtask(announce).delay("[%s] Rule removal: %s%s- Result %s" %(route.applier, route.name, reason_text, response), route.applier)
else: