django-orchestra/orchestra/apps/saas/admin.py

29 lines
1013 B
Python
Raw Normal View History

2014-09-26 19:21:09 +00:00
from django.contrib import admin
2015-03-23 15:36:51 +00:00
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext, ugettext_lazy as _
2014-09-26 19:21:09 +00:00
2015-03-23 15:36:51 +00:00
from orchestra.admin import ExtendedModelAdmin
2014-09-26 19:21:09 +00:00
from orchestra.apps.accounts.admin import AccountAdminMixin
from orchestra.plugins.admin import SelectPluginAdminMixin
2014-09-26 19:21:09 +00:00
from .models import SaaS
from .services import SoftwareService
2015-03-23 15:36:51 +00:00
class SaaSAdmin(SelectPluginAdminMixin, AccountAdminMixin, ExtendedModelAdmin):
2014-11-20 15:34:59 +00:00
list_display = ('username', 'service', 'display_site_name', 'account_link')
2014-09-26 19:21:09 +00:00
list_filter = ('service',)
plugin = SoftwareService
plugin_field = 'service'
2015-03-04 21:06:16 +00:00
plugin_title = 'Software as a Service'
2014-11-20 15:34:59 +00:00
def display_site_name(self, saas):
site_name = saas.get_site_name()
return '<a href="http://%s">%s</a>' % (site_name, site_name)
display_site_name.short_description = _("Site name")
display_site_name.allow_tags = True
display_site_name.admin_order_field = 'site_name'
2015-03-04 21:06:16 +00:00
2014-09-26 19:21:09 +00:00
admin.site.register(SaaS, SaaSAdmin)