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 ServiceInline(PlStackTabularInline):
16 model = CompositionServiceThrough
17 verbose_name = "Service"
18 verbose_name_plural = "Services"
20 #suit_classes = 'suit-tab suit-tab-general'
21 fields = ('backend_status_icon', 'service', 'order')
22 readonly_fields = ('backend_status_icon',)
24 class CompositionServiceAdmin(SingletonAdmin):
25 model = CompositionService
26 verbose_name = "Composition Service"
27 verbose_name_plural = "Composition Service"
28 list_display = ("backend_status_icon", "name","enabled")
29 list_display_links = ('backend_status_icon', 'name', )
30 fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber', 'description'], 'classes':['suit-tab suit-tab-general']})]
31 readonly_fields = ('backend_status_text', )
32 inlines = [SliceInline,ServiceAttrAsTabInline]
34 user_readonly_fields = ["name", "enabled", "versionNumber", "description"]
36 suit_form_tabs =(('general', 'Composition Service Details'),
38 ('serviceattrs','Additional Attributes'),
41 class CompositionForm(forms.ModelForm):
44 js = ('/static/js/menu-sort-2.js',)
46 class CompositionAdmin(ReadOnlyAwareAdmin):
47 list_display = ('backend_status_icon', 'name' )
48 list_display_links = ('backend_status_icon', 'name' )
49 form = CompositionForm
51 fields = ('backend_status_text', 'name')
52 readonly_fields = ('backend_status_text', )
53 user_readonly_fields = ('name',)
55 inlines = [ServiceInline]
57 class EndUserAdmin(ReadOnlyAwareAdmin):
58 list_display = ('backend_status_icon', 'email', 'macAddress', 'composition' )
59 list_display_links = ('backend_status_icon', 'email' )
61 fields = ('backend_status_text', 'email', 'firstName', 'lastName', 'macAddress', 'composition')
62 readonly_fields = ('backend_status_text', )
63 user_readonly_fields = ('email', 'firstName', 'lastName', 'macAddress')
65 admin.site.register(CompositionService, CompositionServiceAdmin)
66 admin.site.register(Composition, CompositionAdmin)
67 admin.site.register(EndUser, EndUserAdmin)