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: