Refactor to /opt/planetstack, final tweaks to make sure planetstack can run in non...
[plstackapi.git] / planetstack / core / admin.py
similarity index 91%
rename from plstackapi/core/admin.py
rename to planetstack/core/admin.py
index 86b48a2..6a8b71e 100644 (file)
@@ -1,6 +1,6 @@
-from plstackapi.core.models import Site
-from plstackapi.core.models import *
-from plstackapi.openstack.manager import OpenStackManager
+from core.models import Site
+from core.models import *
+from openstack.manager import OpenStackManager
 
 from django.contrib import admin
 from django.contrib.auth.models import Group
@@ -37,12 +37,16 @@ class SiteInline(admin.TabularInline):
     model = Site
     extra = 0
 
+class UserInline(admin.TabularInline):
+    model = User
+    extra = 0
+
 class SliceInline(admin.TabularInline):
     model = Slice
     extra = 0
 
 class UserInline(admin.TabularInline):
-    model = PLUser
+    model = User
     extra = 0
 
 class RoleInline(admin.TabularInline):
@@ -65,13 +69,13 @@ class OSModelAdmin(PlanetStackBaseAdmin):
 
     def save_model(self, request, obj, form, change):
         auth = request.session.get('auth', {})
-        auth['tenant'] = request.user.site.login_base
+        #auth['tenant'] = request.user.site.login_base
         obj.os_manager = OpenStackManager(auth=auth, caller=request.user)
         obj.save()
 
     def delete_model(self, request, obj):
         auth = request.session.get('auth', {})
-        auth['tenant'] = request.user.site.login_base
+        #auth['tenant'] = request.user.site.login_base
         obj.os_manager = OpenStackManager(auth=auth, caller=request.user)
         obj.delete() 
 
@@ -133,7 +137,7 @@ class SiteAdmin(OSModelAdmin):
     ]
     list_display = ('name', 'login_base','site_url', 'enabled')
     filter_horizontal = ('deployments',)
-    inlines = [NodeInline,]
+    inlines = [NodeInline, UserInline]
     search_fields = ['name']
 
     def get_formsets(self, request, obj=None):
@@ -143,7 +147,7 @@ class SiteAdmin(OSModelAdmin):
                 continue
             # give inline object access to driver and caller
             auth = request.session.get('auth', {})
-            auth['tenant'] = request.user.site.login_base
+            #auth['tenant'] = request.user.site.login_base
             inline.model.os_manager = OpenStackManager(auth=auth, caller=request.user)
             yield inline.get_formset(request, obj)
 
@@ -156,22 +160,22 @@ class SitePrivilegeAdmin(PlanetStackBaseAdmin):
     def save_model(self, request, obj, form, change):
         # update openstack connection to use this site/tenant   
         auth = request.session.get('auth', {})
-        auth['tenant'] = obj.site.login_base
+        #auth['tenant'] = obj.site.login_base
         obj.os_manager = OpenStackManager(auth=auth, caller=request.user)
         obj.save()
 
     def delete_model(self, request, obj):
         # update openstack connection to use this site/tenant   
         auth = request.session.get('auth', {})
-        auth['tenant'] = obj.site.login_base
+        #auth['tenant'] = obj.site.login_base
         obj.os_manager = OpenStackManager(auth=auth, caller=request.user)
         obj.delete()
 
 class KeyAdmin(OSModelAdmin):
     fieldsets = [
-        ('Key', {'fields': ['name', 'key', 'type', 'blacklisted', 'user']})
+        ('Key', {'fields': ['name', 'key', 'type', 'blacklisted']})
     ]
-    list_display = ['name', 'key', 'type', 'blacklisted', 'user']
+    list_display = ['name', 'key', 'type', 'blacklisted']
 
     def get_queryset(self, request):
         # get keys user is allowed to see
@@ -183,8 +187,8 @@ class KeyAdmin(OSModelAdmin):
         
 
 class SliceAdmin(OSModelAdmin):
-    fields = ['name', 'site', 'serviceClass', 'instantiation', 'description', 'slice_url']
-    list_display = ('name', 'site','serviceClass', 'slice_url', 'instantiation')
+    fields = ['name', 'site', 'serviceClass', 'description', 'slice_url']
+    list_display = ('name', 'site','serviceClass', 'slice_url')
     inlines = [SliverInline]
 
     def get_formsets(self, request, obj=None):
@@ -290,8 +294,8 @@ class UserCreationForm(forms.ModelForm):
     password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput)
 
     class Meta:
-        model = PLUser
-        fields = ('email', 'firstname', 'lastname', 'phone', 'site')
+        model = User
+        fields = ('email', 'firstname', 'lastname', 'phone', 'key', 'site')
 
     def clean_password2(self):
         # Check that the two password entries match
@@ -319,7 +323,7 @@ class UserChangeForm(forms.ModelForm):
     password = ReadOnlyPasswordHashField()
 
     class Meta:
-        model = PLUser
+        model = User
 
     def clean_password(self):
         # Regardless of what the user provides, return the initial value.
@@ -328,7 +332,7 @@ class UserChangeForm(forms.ModelForm):
         return self.initial["password"]
 
 
-class PLUserAdmin(UserAdmin, OSModelAdmin):
+class UserAdmin(UserAdmin, OSModelAdmin):
     class Meta:
         app_label = "core"
 
@@ -343,13 +347,13 @@ class PLUserAdmin(UserAdmin, OSModelAdmin):
     list_filter = ('site',)
     fieldsets = (
         (None, {'fields': ('email', 'password')}),
-        ('Personal info', {'fields': ('firstname','lastname','phone','site')}),
+        ('Personal info', {'fields': ('firstname','lastname','phone','site', 'key')}),
         #('Important dates', {'fields': ('last_login',)}),
     )
     add_fieldsets = (
         (None, {
             'classes': ('wide',),
-            'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'password1', 'password2')}
+            'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'password1', 'password2', 'key')}
         ),
     )
     search_fields = ('email',)
@@ -364,20 +368,20 @@ def cache_credentials(sender, user, request, **kwds):
 user_logged_in.connect(cache_credentials)
 
 # Now register the new UserAdmin...
-admin.site.register(PLUser, PLUserAdmin)
+admin.site.register(User, UserAdmin)
 # ... and, since we're not using Django's builtin permissions,
 # unregister the Group model from admin.
 admin.site.unregister(Group)
 
 admin.site.register(Site, SiteAdmin)
-admin.site.register(SitePrivilege, SitePrivilegeAdmin)
+#admin.site.register(SitePrivilege, SitePrivilegeAdmin)
 admin.site.register(Slice, SliceAdmin)
-admin.site.register(SliceMembership, SliceMembershipAdmin)
+#admin.site.register(SliceMembership, SliceMembershipAdmin)
 admin.site.register(Subnet, SubnetAdmin)
-admin.site.register(Image, ImageAdmin)
-admin.site.register(Node, NodeAdmin)
+#admin.site.register(Image, ImageAdmin)
+#admin.site.register(Node, NodeAdmin)
 admin.site.register(Sliver, SliverAdmin)
 admin.site.register(Key, KeyAdmin)
-admin.site.register(Role, RoleAdmin)
+#admin.site.register(Role, RoleAdmin)
 admin.site.register(DeploymentNetwork, DeploymentNetworkAdmin)