github.com/blystad/deis@v0.11.0/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 Cluster
    15  from .models import Config
    16  from .models import Container
    17  from .models import Domain
    18  from .models import Key
    19  from .models import Release
    20  
    21  
    22  class AppAdmin(GuardedModelAdmin):
    23      """Set presentation options for :class:`~api.models.App` models
    24      in the Django admin.
    25      """
    26      date_hierarchy = 'created'
    27      list_display = ('id', 'owner', 'cluster')
    28      list_filter = ('owner', 'cluster')
    29  admin.site.register(App, AppAdmin)
    30  
    31  
    32  class BuildAdmin(admin.ModelAdmin):
    33      """Set presentation options for :class:`~api.models.Build` models
    34      in the Django admin.
    35      """
    36      date_hierarchy = 'created'
    37      list_display = ('created', 'owner', 'app')
    38      list_filter = ('owner', 'app')
    39  admin.site.register(Build, BuildAdmin)
    40  
    41  
    42  class ClusterAdmin(admin.ModelAdmin):
    43      """Set presentation options for :class:`~api.models.Cluster` models
    44      in the Django admin.
    45      """
    46      date_hierarchy = 'created'
    47      list_display = ('id', 'owner', 'domain')
    48      list_filter = ('owner',)
    49  admin.site.register(Cluster, ClusterAdmin)
    50  
    51  
    52  class ConfigAdmin(admin.ModelAdmin):
    53      """Set presentation options for :class:`~api.models.Config` models
    54      in the Django admin.
    55      """
    56      date_hierarchy = 'created'
    57      list_display = ('created', 'owner', 'app')
    58      list_filter = ('owner', 'app')
    59  admin.site.register(Config, ConfigAdmin)
    60  
    61  
    62  class ContainerAdmin(admin.ModelAdmin):
    63      """Set presentation options for :class:`~api.models.Container` models
    64      in the Django admin.
    65      """
    66      date_hierarchy = 'created'
    67      list_display = ('short_name', 'owner', 'app', 'state')
    68      list_filter = ('owner', 'app', 'state')
    69  admin.site.register(Container, ContainerAdmin)
    70  
    71  
    72  class DomainAdmin(admin.ModelAdmin):
    73      """Set presentation options for :class:`~api.models.Domain` models
    74      in the Django admin.
    75      """
    76      date_hierarchy = 'created'
    77      list_display = ('owner', 'app', 'domain')
    78      list_filter = ('owner', 'app')
    79  admin.site.register(Domain, DomainAdmin)
    80  
    81  
    82  class KeyAdmin(admin.ModelAdmin):
    83      """Set presentation options for :class:`~api.models.Key` models
    84      in the Django admin.
    85      """
    86      date_hierarchy = 'created'
    87      list_display = ('id', 'owner', '__str__')
    88      list_filter = ('owner',)
    89  admin.site.register(Key, KeyAdmin)
    90  
    91  
    92  class ReleaseAdmin(admin.ModelAdmin):
    93      """Set presentation options for :class:`~api.models.Release` models
    94      in the Django admin.
    95      """
    96      date_hierarchy = 'created'
    97      list_display = ('created', 'version', 'owner', 'app')
    98      list_display_links = ('created', 'version')
    99      list_filter = ('owner', 'app')
   100  admin.site.register(Release, ReleaseAdmin)