Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 1 | from django.contrib import admin |
| 2 | |
Scott Baker | 93b6e04 | 2015-12-30 09:37:57 -0800 | [diff] [blame] | 3 | from services.requestrouter.models import * |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 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 |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 11 | from suit.widgets import LinkedSelect |
Scott Baker | 9da5304 | 2015-05-15 09:08:19 -0700 | [diff] [blame] | 12 | from core.admin import ServiceAppAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin, ServicePrivilegeInline |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 13 | |
Scott Baker | 43f2d67 | 2015-02-27 12:17:38 -0800 | [diff] [blame] | 14 | class RequestRouterAdmin(ReadOnlyAwareAdmin): |
| 15 | # Change the application breadcrumb to point to an RR Service if one is |
| 16 | # defined |
| 17 | |
| 18 | change_form_template = "admin/change_form_bc.html" |
| 19 | change_list_template = "admin/change_list_bc.html" |
| 20 | custom_app_breadcrumb_name = "Request Router" |
| 21 | @property |
| 22 | def custom_app_breadcrumb_url(self): |
| 23 | services = RequestRouterService.objects.all() |
| 24 | if len(services)==1: |
| 25 | return "/admin/requestrouter/requestrouterservice/%s/" % services[0].id |
| 26 | else: |
| 27 | return "/admin/requestrouter/requestrouterservice/" |
| 28 | |
Scott Baker | a9b8f61 | 2015-02-26 20:42:11 -0800 | [diff] [blame] | 29 | class RequestRouterServiceAdmin(ServiceAppAdmin): |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 30 | model = RequestRouterService |
| 31 | verbose_name = "Request Router Service" |
| 32 | verbose_name_plural = "Request Router Service" |
| 33 | list_display = ("name","enabled") |
| 34 | fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description','behindNat','defaultTTL','defaultAction','lastResortAction','maxAnswers'], 'classes':['suit-tab suit-tab-general']})] |
Scott Baker | 9da5304 | 2015-05-15 09:08:19 -0700 | [diff] [blame] | 35 | inlines = [SliceInline,ServiceAttrAsTabInline,ServicePrivilegeInline] |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 36 | |
Scott Baker | cd202a0 | 2014-05-23 12:47:57 -0700 | [diff] [blame] | 37 | user_readonly_fields = ["name", "enabled", "versionNumber", "description", "behindNat", "defaultTTL", "defaultAction", "lastResortAction", "maxAnswers"] |
Scott Baker | cd202a0 | 2014-05-23 12:47:57 -0700 | [diff] [blame] | 38 | |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 39 | suit_form_tabs =(('general', 'Request Router Service Details'), |
Scott Baker | beb44a9 | 2015-02-26 17:10:36 -0800 | [diff] [blame] | 40 | ('administration', 'Administration'), |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 41 | ('slices','Slices'), |
| 42 | ('serviceattrs','Additional Attributes'), |
Scott Baker | 9da5304 | 2015-05-15 09:08:19 -0700 | [diff] [blame] | 43 | ('serviceprivileges','Privileges'), |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 44 | ) |
| 45 | |
Scott Baker | beb44a9 | 2015-02-26 17:10:36 -0800 | [diff] [blame] | 46 | suit_form_includes = (('rradmin.html', 'top', 'administration'),) |
| 47 | |
Scott Baker | 43f2d67 | 2015-02-27 12:17:38 -0800 | [diff] [blame] | 48 | class ServiceMapAdmin(RequestRouterAdmin): |
Scott Baker | 40695e1 | 2014-03-13 22:50:45 -0700 | [diff] [blame] | 49 | model = ServiceMap |
| 50 | verbose_name = "Service Map" |
| 51 | verbose_name_plural = "Service Map" |
| 52 | list_display = ("name", "owner", "slice", "prefix") |
Scott Baker | 2290b05 | 2014-05-08 10:28:22 -0700 | [diff] [blame] | 53 | fieldsets = [(None, {'fields': ['name','owner','slice', 'prefix','siteMap','accessMap'], 'classes':['suit-tab suit-tab-general']})] |
Scott Baker | 40695e1 | 2014-03-13 22:50:45 -0700 | [diff] [blame] | 54 | |
Scott Baker | cd202a0 | 2014-05-23 12:47:57 -0700 | [diff] [blame] | 55 | user_readonly_fields = ["name", "owner", "slice", "prefix", "siteMap", "accessMap"] |
| 56 | |
Scott Baker | 2290b05 | 2014-05-08 10:28:22 -0700 | [diff] [blame] | 57 | suit_form_tabs =(('general', 'Service Map Details'), |
| 58 | ) |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 59 | |
| 60 | admin.site.register(RequestRouterService, RequestRouterServiceAdmin) |
Scott Baker | 40695e1 | 2014-03-13 22:50:45 -0700 | [diff] [blame] | 61 | admin.site.register(ServiceMap, ServiceMapAdmin) |
Siobhan Tully | ce652d0 | 2013-10-08 21:52:35 -0400 | [diff] [blame] | 62 | |