diff --git a/flowspec/admin.py b/flowspec/admin.py
index a9c502bbe3916df9c85343f40d8ef4299d577bb6..f6131d33766e4d8695080cd088d772f415acde7c 100644
--- a/flowspec/admin.py
+++ b/flowspec/admin.py
@@ -2,31 +2,36 @@ from django.contrib import admin
 from flowspy.flowspec.models import *
 from flowspy.accounts.models import *
 from utils import proxy as PR
+from flowspec.tasks import *
+from django.contrib.auth.models import User
+from django.contrib.auth.admin import UserAdmin
+from accounts.models import UserProfile
 
-#class RouteAdmin(admin.ModelAdmin):
-#    
-#    actions = ['deactivate']
-#    
-#    def deactivate(self, request, queryset):
-#        applier = PR.Applier(route_objects=queryset)
-#        commit, response = applier.apply(configuration=applier.delete_routes())
-#        if commit:
-#            rows = queryset.update(is_online=False, is_active=False)
-#            queryset.update(response="Successfully removed route from network")
-#            self.message_user(request, "Successfully removed %s routes from network" % rows)
-#        else:
-#            self.message_user(request, "Could not remove routes from network")
-#    deactivate.short_description = "Deactivate selected routes from network"
-#
-#    list_display = ('name', 'is_online', 'applier', 'get_match', 'get_then', 'response')
-#    fieldsets = [
-#        (None,               {'fields': ['name','applier']}),
-#        ("Match",               {'fields': ['source', 'sourceport', 'destination', 'destinationport', 'port']}),
-#        ('Advanced Match Statements', {'fields': ['dscp', 'fragmenttype', 'icmpcode', 'icmptype', 'packetlength', 'protocol', 'tcpflag'], 'classes': ['collapse']}),
-#        ("Then",               {'fields': ['then' ]}),
-#        (None,               {'fields': ['comments',]}),
-#        
-#    ]
+
+class RouteAdmin(admin.ModelAdmin):
+    
+    actions = ['deactivate']
+    
+    def deactivate(self, request, queryset):
+        response = batch_delete.delay(queryset, reason="ADMININACTIVE")
+        self.message_user(request, "Added request %s to job que. Check in a while for result" % response)
+    deactivate.short_description = "Remove selected routes from network"
+
+    list_display = ('name', 'status', 'applier' , 'applier_peer', 'get_match', 'get_then', 'response')
+    fieldsets = [
+        (None,               {'fields': ['name','applier']}),
+        ("Match",               {'fields': ['source', 'sourceport', 'destination', 'destinationport', 'port']}),
+        ('Advanced Match Statements', {'fields': ['dscp', 'fragmenttype', 'icmpcode', 'icmptype', 'packetlength', 'protocol', 'tcpflag'], 'classes': ['collapse']}),
+        ("Then",               {'fields': ['then' ]}),
+        (None,               {'fields': ['comments',]}),
+        
+    ]
+    
+class UserProfileInline(admin.StackedInline):
+    model = UserProfile
+    
+class UserProfileAdmin(UserAdmin):
+    inlines = [UserProfileInline]
 #    fields = ('name', 'applier', 'expires')
 
     #def formfield_for_dbfield(self, db_field, **kwargs):
@@ -35,6 +40,7 @@ from utils import proxy as PR
     #    return db_field.formfield(**kwargs)
 
 #admin.site.register(MatchAddress)
+admin.site.unregister(User)
 admin.site.register(MatchPort)
 admin.site.register(MatchDscp)
 admin.site.register(UserProfile)
@@ -47,8 +53,8 @@ admin.site.register(UserProfile)
 admin.site.register(ThenAction)
 #admin.site.register(ThenStatement)
 #admin.site.register(MatchStatement)
-admin.site.register(Route)
-
+admin.site.register(Route, RouteAdmin)
+admin.site.register(User, UserProfileAdmin)
 admin.site.disable_action('delete_selected')
 
 
diff --git a/flowspec/models.py b/flowspec/models.py
index 5092cc4bdce06281c90e095fe0f807b6a2ced80c..b1f5ac5e45c082f41610ca34fc7d0311aa59d93b 100644
--- a/flowspec/models.py
+++ b/flowspec/models.py
@@ -45,7 +45,8 @@ ROUTE_STATES = (
     ("EXPIRED", "EXPIRED"),
     ("PENDING", "PENDING"),
     ("OUTOFSYNC", "OUTOFSYNC"),
-    ("INACTIVE", "INACTIVE"),            
+    ("INACTIVE", "INACTIVE"),
+    ("ADMININACTIVE", "ADMININACTIVE"),           
 )
 
 
@@ -299,6 +300,14 @@ class Route(models.Model):
         
     get_match.short_description = 'Match statement'
     get_match.allow_tags = True
+    
+    @property
+    def applier_peer(self):
+        try:
+            applier_peer = self.applier.get_profile().peer
+        except:
+            applier_peer = None
+        return applier_peer
 
 def send_message(msg, user):
 #    username = user.username
diff --git a/flowspec/tasks.py b/flowspec/tasks.py
index 856920edb66d6dc948850fd71426829c8562679d..3a9559043053ff838813bee6319d1435d89c7bc2 100644
--- a/flowspec/tasks.py
+++ b/flowspec/tasks.py
@@ -71,6 +71,9 @@ def batch_delete(routes, **kwargs):
             if "reason" in kwargs and kwargs['reason']=='EXPIRED':
                 status = 'EXPIRED'
                 reason_text = " Reason: %s " %status
+            elif "reason" in kwargs and kwargs['reason']!='EXPIRED':
+                status = kwargs['reason']
+                reason_text = " Reason: %s " %status
         else:
             status = "ERROR"
         for route in routes:
@@ -102,9 +105,13 @@ def check_sync(route_name=None, selected_routes = []):
     if route_name:
         routes = routes.filter(name=route_name)
     for route in routes:
-        if route.has_expired() and route.status != 'EXPIRED':
+        if route.has_expired() and (route.status != 'EXPIRED' or route.status != 'ADMININACTIVE' or route.status != 'INACTIVE'):
             logger.info('Expiring route %s' %route.name)
             subtask(delete).delay(route, reason="EXPIRED")
+        elif route.has_expired() and (route.status == 'ADMININACTIVE' or route.status == 'INACTIVE'):
+            route.status = 'EXPIRED'
+            route.response = 'Route Expired'
+            route.save()
         elif route.status != 'EXPIRED':
             route.check_sync()
 
diff --git a/flowspec/views.py b/flowspec/views.py
index d249306a5001d1c8902dafb21f1620216ff696e5..4a6076363f275af6ed6694721adb144cdb27bdc6 100644
--- a/flowspec/views.py
+++ b/flowspec/views.py
@@ -119,6 +119,14 @@ def edit_route(request, route_slug):
         messages.add_message(request, messages.WARNING,
                              "Insufficient rights to edit rule %s" %(route_slug))
         return HttpResponseRedirect(reverse("group-routes"))
+    if route_edit.status == "ADMININACTIVE" :
+        messages.add_message(request, messages.WARNING,
+                             "Administrator has disabled editing of rule %s" %(route_slug))
+        return HttpResponseRedirect(reverse("group-routes"))
+    if route_edit.status == "EXPIRED" :
+        messages.add_message(request, messages.WARNING,
+                             "Cannot edit the expired rule %s. Contact helpdesk to enable it" %(route_slug))
+        return HttpResponseRedirect(reverse("group-routes"))
     route_original = deepcopy(route_edit)
     if request.POST:
         form = RouteForm(request.POST, instance = route_edit)
diff --git a/poller/application.py b/poller/application.py
index cb485320315369d908c5dd839f8ca08a3e846f6a..8be4eee135076e463e0889880d06a3505d28a7d4 100644
--- a/poller/application.py
+++ b/poller/application.py
@@ -12,7 +12,6 @@ def exception_printer(sender, **kwargs):
     traceback.print_exc()
 
 got_request_exception.connect(exception_printer)
-
 call_command('syncdb')
 
 application = WSGIHandler()