Adjusted modeling of Service, Slice and Tags. Added RequestRouter starter App. Modified Admin.py of core apps for new relationships. Modified the initial_data for new roles, and deprecated ForeignKey relationships.
diff --git a/planetstack/requestrouter/__init__.py b/planetstack/requestrouter/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/planetstack/requestrouter/__init__.py
diff --git a/planetstack/requestrouter/admin.py b/planetstack/requestrouter/admin.py
new file mode 100644
index 0000000..30b7fad
--- /dev/null
+++ b/planetstack/requestrouter/admin.py
@@ -0,0 +1,31 @@
+from django.contrib import admin
+
+from requestrouter.models import *
+from django import forms
+from django.utils.safestring import mark_safe
+from django.contrib.auth.admin import UserAdmin
+from django.contrib.admin.widgets import FilteredSelectMultiple
+from django.contrib.auth.forms import ReadOnlyPasswordHashField
+from django.contrib.auth.signals import user_logged_in
+from django.utils import timezone
+from django.contrib.contenttypes import generic
+from suit.widgets import LinkedSelect
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline
+
+class RequestRouterServiceAdmin(SingletonAdmin):
+ model = RequestRouterService
+ verbose_name = "Request Router Service"
+ verbose_name_plural = "Request Router Service"
+ list_display = ("name","enabled")
+ fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description','behindNat','defaultTTL','defaultAction','lastResortAction','maxAnswers'], 'classes':['suit-tab suit-tab-general']})]
+ inlines = [SliceInline,ServiceAttrAsTabInline]
+
+ suit_form_tabs =(('general', 'Request Router Service Details'),
+ ('slices','Slices'),
+ ('serviceattrs','Additional Attributes'),
+ )
+
+
+admin.site.register(RequestRouterService, RequestRouterServiceAdmin)
+admin.site.register(ClientMap)
+
diff --git a/planetstack/requestrouter/models.py b/planetstack/requestrouter/models.py
new file mode 100644
index 0000000..c641b16
--- /dev/null
+++ b/planetstack/requestrouter/models.py
@@ -0,0 +1,25 @@
+from core.models import User,Site,Service,SingletonModel,PlCoreBase
+import os
+from django.db import models
+from django.forms.models import model_to_dict
+
+# Create your models here.
+
+class RequestRouterService(SingletonModel,Service):
+ class Meta:
+ app_label = "requestrouter"
+ verbose_name = "Request Router Service"
+
+ behindNat = models.BooleanField(default=False, help_text="Enables 'Behind NAT' mode.")
+ defaultTTL = models.PositiveIntegerField(default=30, help_text="DNS response time-to-live(TTL)")
+ defaultAction = models.CharField(max_length=30, default = "best", help_text="Review if this should be enum")
+ 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'
+
+class ClientMap(models.Model):
+ site = models.OneToOneField(Site, unique=True)
+ name = models.CharField(max_length=64, help_text="Name of the Client Map")
+ description = models.TextField(null=True, blank=True,max_length=130)
+