github.com/misfo/deis@v1.0.1-0.20141111224634-e0eee0392b8a/controller/api/admin.py (about)

     1  # -*- coding: utf-8 -*-
     2  
     3  """
     4  Django admin app configuration for Deis API models.
     5  """
     6  
     7  from __future__ import unicode_literals
     8  
     9  from django.contrib import admin
    10  from guardian.admin import GuardedModelAdmin
    11  
    12  from .models import App
    13  from .models import Build
    14  from .models import Config
    15  from .models import Container
    16  from .models import Domain
    17  from .models import Key
    18  from .models import Release
    19  
    20  
    21  class AppAdmin(GuardedModelAdmin):
    22      """Set presentation options for :class:`~api.models.App` models
    23      in the Django admin.
    24      """
    25      date_hierarchy = 'created'
    26      list_display = ('id', 'owner')
    27      list_filter = ('owner',)
    28  admin.site.register(App, AppAdmin)
    29  
    30  
    31  class BuildAdmin(admin.ModelAdmin):
    32      """Set presentation options for :class:`~api.models.Build` models
    33      in the Django admin.
    34      """
    35      date_hierarchy = 'created'
    36      list_display = ('created', 'owner', 'app')
    37      list_filter = ('owner', 'app')
    38  admin.site.register(Build, BuildAdmin)
    39  
    40  
    41  class ConfigAdmin(admin.ModelAdmin):
    42      """Set presentation options for :class:`~api.models.Config` models
    43      in the Django admin.
    44      """
    45      date_hierarchy = 'created'
    46      list_display = ('created', 'owner', 'app')
    47      list_filter = ('owner', 'app')
    48  admin.site.register(Config, ConfigAdmin)
    49  
    50  
    51  class ContainerAdmin(admin.ModelAdmin):
    52      """Set presentation options for :class:`~api.models.Container` models
    53      in the Django admin.
    54      """
    55      date_hierarchy = 'created'
    56      list_display = ('short_name', 'owner', 'app', 'state')
    57      list_filter = ('owner', 'app', 'state')
    58  admin.site.register(Container, ContainerAdmin)
    59  
    60  
    61  class DomainAdmin(admin.ModelAdmin):
    62      """Set presentation options for :class:`~api.models.Domain` models
    63      in the Django admin.
    64      """
    65      date_hierarchy = 'created'
    66      list_display = ('owner', 'app', 'domain')
    67      list_filter = ('owner', 'app')
    68  admin.site.register(Domain, DomainAdmin)
    69  
    70  
    71  class KeyAdmin(admin.ModelAdmin):
    72      """Set presentation options for :class:`~api.models.Key` models
    73      in the Django admin.
    74      """
    75      date_hierarchy = 'created'
    76      list_display = ('id', 'owner', '__str__')
    77      list_filter = ('owner',)
    78  admin.site.register(Key, KeyAdmin)
    79  
    80  
    81  class ReleaseAdmin(admin.ModelAdmin):
    82      """Set presentation options for :class:`~api.models.Release` models
    83      in the Django admin.
    84      """
    85      date_hierarchy = 'created'
    86      list_display = ('created', 'version', 'owner', 'app')
    87      list_display_links = ('created', 'version')
    88      list_filter = ('owner', 'app')
    89  admin.site.register(Release, ReleaseAdmin)