1 from django.contrib import admin
3 from servcomp.models import *
4 from django import forms
5 from django.utils.safestring import mark_safe
6 from django.contrib.auth.admin import UserAdmin
7 from django.contrib.admin.widgets import FilteredSelectMultiple
8 from django.contrib.auth.forms import ReadOnlyPasswordHashField
9 from django.contrib.auth.signals import user_logged_in
10 from django.utils import timezone
11 from django.contrib.contenttypes import generic
12 from suit.widgets import LinkedSelect
13 from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin, PlStackTabularInline
15 class CompositionServiceAdmin(SingletonAdmin):
16 model = CompositionService
17 verbose_name = "Composition Service"
18 verbose_name_plural = "Composition Service"
19 list_display = ("backend_status_icon", "name","enabled")
20 list_display_links = ('backend_status_icon', 'name', )
21 fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber', 'description'], 'classes':['suit-tab suit-tab-general']})]
22 readonly_fields = ('backend_status_text', )
23 inlines = [SliceInline,ServiceAttrAsTabInline]
25 user_readonly_fields = ["name", "enabled", "versionNumber", "description"]
27 suit_form_tabs =(('general', 'Composition Service Details'),
29 ('serviceattrs','Additional Attributes'),
32 class CompositionAdmin(ReadOnlyAwareAdmin):
33 list_display = ('backend_status_icon', 'name' )
34 list_display_links = ('backend_status_icon', 'name' )
36 fields = ('backend_status_text', 'name')
37 readonly_fields = ('backend_status_text', )
38 user_readonly_fields = ('name',)
40 class EndUserAdmin(ReadOnlyAwareAdmin):
41 list_display = ('backend_status_icon', 'email', 'macAddress', 'composition' )
42 list_display_links = ('backend_status_icon', 'email' )
44 fields = ('backend_status_text', 'email', 'firstName', 'lastName', 'macAddress', 'composition')
45 readonly_fields = ('backend_status_text', )
46 user_readonly_fields = ('email', 'firstName', 'lastName', 'macAddress')
48 admin.site.register(CompositionService, CompositionServiceAdmin)
49 admin.site.register(Composition, CompositionAdmin)
50 admin.site.register(EndUser, EndUserAdmin)