From 6e9a94195ead1bb959c4cb260316b41f4597f513 Mon Sep 17 00:00:00 2001 From: Leonidas Poulopoulos <leopoul@noc.grnet.gr> Date: Thu, 22 Dec 2011 17:52:24 +0200 Subject: [PATCH] Minor fixes. Added expiration date to admin interface. Distinguish between add and edit in admin. Different handling --- flowspec/admin.py | 8 ++++++-- flowspec/tasks.py | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/flowspec/admin.py b/flowspec/admin.py index 5ee2e914..c8e59d83 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 27ade78e..412d5e48 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: -- GitLab