-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
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):
continue
# give inline object access to driver and caller
auth = request.session.get('auth', {})
- auth['tenant'] = request.user.site.login_base
+ if request.user.site:
+ auth['tenant'] = request.user.site.login_base
inline.model.os_manager = OpenStackManager(auth=auth, caller=request.user)
yield inline.get_formset(request, obj)
]
list_display = ('name', 'login_base','site_url', 'enabled')
filter_horizontal = ('deployments',)
- inlines = [NodeInline,]
+ inlines = [NodeInline, UserInline]
search_fields = ['name']
def queryset(self, request):
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)
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': ['key', 'type', 'blacklisted', 'user']})
+ ('Key', {'fields': ['key', 'type', 'blacklisted']})
]
- list_display = ['key', 'type', 'blacklisted', 'user']
+ list_display = ['key', 'type', 'blacklisted']
- def queryset(self, request):
+ #def queryset(self, request):
# admins can see all keys. Users can only see their own key.
- if request.user.is_admin:
- qs = super(KeyAdmin, self).queryset(request)
- else:
- qs = Key.objects.filter(user=request.user)
- return qs
+ #if request.user.is_admin:
+ # qs = super(KeyAdmin, self).queryset(request)
+ #else:
+ # qs = Key.objects.filter(user=request.user)
+ #return qs
class SliceAdmin(OSModelAdmin):
fields = ['name', 'site', 'serviceClass', 'description', 'slice_url']
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
password = ReadOnlyPasswordHashField()
class Meta:
- model = PLUser
+ model = User
def clean_password(self):
# Regardless of what the user provides, return the initial value.
return self.initial["password"]
-class PLUserAdmin(UserAdmin, OSModelAdmin):
+class UserAdmin(UserAdmin, OSModelAdmin):
class Meta:
app_label = "core"
list_filter = ('site',)
fieldsets = (
(None, {'fields': ('email', 'password')}),
- ('Personal info', {'fields': ('firstname','lastname','phone', 'is_admin', 'site')}),
+ ('Personal info', {'fields': ('firstname','lastname','phone', 'is_admin', 'site', 'key')}),
#('Important dates', {'fields': ('last_login',)}),
)
add_fieldsets = (
(None, {
'classes': ('wide',),
- 'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'is_admin', 'password1', 'password2')}
+ 'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'is_admin', 'key','password1', 'password2')}
),
)
search_fields = ('email',)
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(Node, NodeAdmin)
+#admin.site.register(SliceMembership, SliceMembershipAdmin)
+#admin.site.register(Subnet, SubnetAdmin)
+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)