Devesh's changes to request router models and observer
diff --git a/planetstack/requestrouter/admin.py b/planetstack/requestrouter/admin.py
index 0036c4a..a8fd254 100644
--- a/planetstack/requestrouter/admin.py
+++ b/planetstack/requestrouter/admin.py
@@ -10,7 +10,7 @@
from django.utils import timezone
from django.contrib.contenttypes import generic
from suit.widgets import LinkedSelect
-from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, SliceROInline,ServiceAttrAsTabROInline, ReadOnlyAwareAdmin
class RequestRouterServiceAdmin(SingletonAdmin):
model = RequestRouterService
@@ -20,18 +20,21 @@
fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description','behindNat','defaultTTL','defaultAction','lastResortAction','maxAnswers'], 'classes':['suit-tab suit-tab-general']})]
inlines = [SliceInline,ServiceAttrAsTabInline]
+ user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
suit_form_tabs =(('general', 'Request Router Service Details'),
('slices','Slices'),
('serviceattrs','Additional Attributes'),
)
-class ServiceMapAdmin(SingletonAdmin):
+class ServiceMapAdmin(ReadOnlyAwareAdmin):
model = ServiceMap
verbose_name = "Service Map"
verbose_name_plural = "Service Map"
list_display = ("name", "owner", "slice", "prefix")
- #readonly_fields = ["name"]
+ fieldsets = [(None, {'fields': ['name','owner','slice', 'prefix','siteMap','accessMap'], 'classes':['suit-tab suit-tab-general']})]
+ suit_form_tabs =(('general', 'Service Map Details'),
+ )
admin.site.register(RequestRouterService, RequestRouterServiceAdmin)
admin.site.register(ServiceMap, ServiceMapAdmin)
diff --git a/planetstack/requestrouter/models.py b/planetstack/requestrouter/models.py
index ced91cf..8e4cc43 100644
--- a/planetstack/requestrouter/models.py
+++ b/planetstack/requestrouter/models.py
@@ -16,15 +16,20 @@
lastResortAction = models.CharField(max_length=30, default = "random", help_text="Review if this should be enum")
maxAnswers = models.PositiveIntegerField(default=3, help_text="Maximum number of answers in DNS response.")
- def __unicode__(self): return u'RequestRouterService'
+ def __unicode__(self): return u'Request Router Service'
-class ServiceMap(models.Model):
+class ServiceMap(PlCoreBase):
+
+ class Meta:
+ app_label = "requestrouter"
+
name = models.SlugField(max_length=50, unique=True, blank=False, null=False, help_text="name of this service map")
owner = models.ForeignKey(Service, help_text="service which owns this map")
slice = models.ForeignKey(Slice, help_text="slice that implements this service")
prefix = models.CharField(max_length=256, help_text="FQDN of the region of URI space managed by RR on behalf of this service")
- siteMap = models.FileField(upload_to="maps/", help_text="maps client requests to service instances")
- accessMap = models.FileField(upload_to="maps/", help_text="specifies which client requests are allowed")
+ # need to fix the upload location appropriately, for now we are not using access/site map
+ siteMap = models.FileField(upload_to="maps/", help_text="maps client requests to service instances", blank=True)
+ accessMap = models.FileField(upload_to="maps/", help_text="specifies which client requests are allowed", blank=True)
def siteMapName(self):
return self.name + ".site"
@@ -34,5 +39,3 @@
def __unicode__(self): return u'%s' % self.name
-
-