blob: e372a7d3a47ef7b94deb4d9e2daa368fcfbcd299 [file] [log] [blame]
Scott Baker46831592016-06-20 17:32:04 -07001from django.contrib import admin
2
3from services.fabric.models import *
4from django import forms
5from django.utils.safestring import mark_safe
6from django.contrib.auth.admin import UserAdmin
7from django.contrib.admin.widgets import FilteredSelectMultiple
8from django.contrib.auth.forms import ReadOnlyPasswordHashField
9from django.contrib.auth.signals import user_logged_in
10from django.utils import timezone
11from django.contrib.contenttypes import generic
12from suit.widgets import LinkedSelect
13from core.models import AddressPool
14from core.admin import ServiceAppAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin, XOSTabularInline, ServicePrivilegeInline, TenantRootTenantInline, TenantRootPrivilegeInline
15from core.middleware import get_request
16
17from functools import update_wrapper
18from django.contrib.admin.views.main import ChangeList
19from django.core.urlresolvers import reverse
20from django.contrib.admin.utils import quote
21
22class FabricServiceForm(forms.ModelForm):
23 def __init__(self,*args,**kwargs):
24 super (FabricServiceForm,self ).__init__(*args,**kwargs)
25
26 def save(self, commit=True):
27 return super(FabricServiceForm, self).save(commit=commit)
28
29 class Meta:
30 model = FabricService
31
32class FabricServiceAdmin(ReadOnlyAwareAdmin):
33 model = FabricService
34 verbose_name = "Fabric Service"
35 verbose_name_plural = "Fabric Services"
36 list_display = ("backend_status_icon", "name", "enabled")
37 list_display_links = ('backend_status_icon', 'name', )
38 fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber', 'description', "view_url", "icon_url", "autoconfig", ],
39 'classes':['suit-tab suit-tab-general']})]
40 readonly_fields = ('backend_status_text', )
41 inlines = [SliceInline,ServiceAttrAsTabInline,ServicePrivilegeInline]
42 form = FabricServiceForm
43
44 extracontext_registered_admins = True
45
46 user_readonly_fields = ["name", "enabled", "versionNumber", "description"]
47
48 suit_form_tabs =(('general', 'Fabric Service Details'),
49 ('administration', 'Administration'),
50 #('tools', 'Tools'),
51 ('slices','Slices'),
52 ('serviceattrs','Additional Attributes'),
53 ('serviceprivileges','Privileges'),
54 )
55
56 suit_form_includes = (('fabricadmin.html', 'top', 'administration'),
57 )
58
59 def queryset(self, request):
60 return FabricService.get_service_objects_by_user(request.user)
61
62admin.site.register(FabricService, FabricServiceAdmin)