X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fadmin.py;fp=plstackapi%2Fcore%2Fadmin.py;h=c9bba2c10b0ab451df6d78c1ddbc48e4cba302ca;hb=732913407cc255ab864e39522585e1b98e654af1;hp=422ff4be718ff950fc1e175987e7cd0b4ee57498;hpb=0406283b933e66188b997e3a407bf5481e52364d;p=plstackapi.git diff --git a/plstackapi/core/admin.py b/planetstack/core/admin.py similarity index 91% rename from plstackapi/core/admin.py rename to planetstack/core/admin.py index 422ff4b..c9bba2c 100644 --- a/plstackapi/core/admin.py +++ b/planetstack/core/admin.py @@ -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 @@ -39,12 +39,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): @@ -129,7 +133,8 @@ class DeploymentNetworkAdmin(PlanetStackBaseAdmin): 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) @@ -141,7 +146,7 @@ class SiteAdmin(OSModelAdmin): ] list_display = ('name', 'login_base','site_url', 'enabled') filter_horizontal = ('deployments',) - inlines = [NodeInline,] + inlines = [NodeInline, UserInline] search_fields = ['name'] def queryset(self, request): @@ -162,7 +167,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) @@ -189,30 +194,30 @@ 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': ['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'] @@ -360,8 +365,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 @@ -389,7 +394,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. @@ -398,7 +403,7 @@ class UserChangeForm(forms.ModelForm): return self.initial["password"] -class PLUserAdmin(UserAdmin, OSModelAdmin): +class UserAdmin(UserAdmin, OSModelAdmin): class Meta: app_label = "core" @@ -413,13 +418,13 @@ class PLUserAdmin(UserAdmin, OSModelAdmin): 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',) @@ -434,18 +439,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(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)