import django_evolution
-class ReadonlyTabularInline(admin.TabularInline):
+class PlStackTabularInline(admin.TabularInline):
+ exclude = ['enacted']
+
+class ReadonlyTabularInline(PlStackTabularInline):
can_delete = False
extra = 0
editable_fields = []
exclude = ['enacted']
extra = 1
-class SliverInline(admin.TabularInline):
+class SliverInline(PlStackTabularInline):
model = Sliver
fields = ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'node', 'deploymentNetwork']
extra = 0
#readonly_fields = ['ip', 'instance_name', 'image']
readonly_fields = ['ip', 'instance_name']
-
-class SiteInline(admin.TabularInline):
+class SiteInline(PlStackTabularInline):
model = Site
extra = 0
-class UserInline(admin.TabularInline):
+class UserInline(PlStackTabularInline):
model = User
fields = ['email', 'firstname', 'lastname']
extra = 0
-class SliceInline(admin.TabularInline):
+class SliceInline(PlStackTabularInline):
model = Slice
extra = 0
-class RoleInline(admin.TabularInline):
+class RoleInline(PlStackTabularInline):
model = Role
extra = 0
-class NodeInline(admin.TabularInline):
+class NodeInline(PlStackTabularInline):
model = Node
extra = 0
-class SitePrivilegeInline(admin.TabularInline):
+class SitePrivilegeInline(PlStackTabularInline):
model = SitePrivilege
extra = 0
kwargs['queryset'] = users
return super(SitePrivilegeInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
-class SliceMembershipInline(admin.TabularInline):
+class SliceMembershipInline(PlStackTabularInline):
model = SliceMembership
extra = 0
fields = ('user', 'role')
return super(SliceMembershipInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
-class SliceTagInline(admin.TabularInline):
+class SliceTagInline(PlStackTabularInline):
model = SliceTag
extra = 0
class PlanetStackBaseAdmin(admin.ModelAdmin):
save_on_top = False
+ exclude = ['enacted']
class RoleAdmin(PlanetStackBaseAdmin):
fieldsets = [
]
list_display = ('role_type',)
-
class DeploymentAdminForm(forms.ModelForm):
sites = forms.ModelMultipleChoiceField(
queryset=Site.objects.all(),
obj.os_manager = OpenStackManager(auth=auth, caller=request.user)
obj.delete()
-
class ImageAdmin(admin.ModelAdmin):
fields = ['image_id', 'name', 'disk_format', 'container_format']
list_filter = ('deployment',)
inlines = [TagInline]
-
class SliverForm(forms.ModelForm):
class Meta:
model = Sliver
'instance_name': PlainTextWidget(),
}
+class ProjectAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+
+class TagAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+
class SliverAdmin(PlanetStackBaseAdmin):
form = SliverForm
fieldsets = [
user.save()
return user
-
class UserChangeForm(forms.ModelForm):
"""A form for updating users. Includes all the fields on
the user, but replaces the password field with admin's
# field does not have access to the initial value
return self.initial["password"]
-
class UserAdmin(UserAdmin):
class Meta:
app_label = "core"
return super(ReservationAdmin, self).changelist_view(request, extra_context)
def get_form(self, request, obj=None, **kwargs):
- request._obj_ = obj\r
- if obj is not None:\r
- # For changes, set request._slice to the slice already set in the\r
- # object.\r
- request._slice = obj.slice\r
- self.form = ReservationChangeForm\r
- else:\r
- if getattr(request, "_refresh", False):\r
- self.form = ReservationAddRefreshForm\r
- else:\r
- self.form = ReservationAddForm\r
- return super(ReservationAdmin, self).get_form(request, obj, **kwargs)\r
-\r
+ request._obj_ = obj
+ if obj is not None:
+ # For changes, set request._slice to the slice already set in the
+ # object.
+ request._slice = obj.slice
+ self.form = ReservationChangeForm
+ else:
+ if getattr(request, "_refresh", False):
+ self.form = ReservationAddRefreshForm
+ else:
+ self.form = ReservationAddForm
+ return super(ReservationAdmin, self).get_form(request, obj, **kwargs)
+
def get_readonly_fields(self, request, obj=None):
- if (obj is not None):\r
- # Prevent slice from being changed after the reservation has been\r
- # created.\r
- return ['slice']\r
- else:\r
+ if (obj is not None):
+ # Prevent slice from being changed after the reservation has been
+ # created.
+ return ['slice']
+ else:
return []
# register a signal that caches the user's credentials when they log in
admin.site.register(Deployment, DeploymentAdmin)
admin.site.register(Site, SiteAdmin)
admin.site.register(Slice, SliceAdmin)
+admin.site.register(Project, ProjectAdmin)
if showAll:
- admin.site.register(Tag)
+ admin.site.register(Tag, TagAdmin)
admin.site.register(Node, NodeAdmin)
admin.site.register(SliceMembership, SliceMembershipAdmin)
admin.site.register(SitePrivilege, SitePrivilegeAdmin)