Skip to content

Instantly share code, notes, and snippets.

@mazz
Created November 18, 2017 04:22
Show Gist options
  • Save mazz/1e997a0314bf82ead7ffd690538a47d4 to your computer and use it in GitHub Desktop.
Save mazz/1e997a0314bf82ead7ffd690538a47d4 to your computer and use it in GitHub Desktop.
"""Place your admin resources in this file."""
from websauna.system.admin.modeladmin import model_admin
from websauna.system.admin.modeladmin import ModelAdmin
# Import our models
from . import models
@model_admin(traverse_id="book")
class BookAdmin(ModelAdmin):
"""Admin resource for Book model.
This class declares a resource for Book model admin root folder with listing and add views.
"""
#: Label as shown in admin
title = "Book"
#: Used in admin listings etc. user visible messages
#: TODO: This mechanism will be phased out in the future versions with gettext or similar replacement for languages that have plulars one, two, many
singular_name = "book"
plural_name = "books"
#: Which models this model admin controls
model = models.Book
class Resource(ModelAdmin.Resource):
"""Declare resource for each individual medium.
View, edit and delete views are registered against this resource.
"""
def get_title(self):
"""What we show as the item title in medium listing."""
return self.get_object().basename
@model_admin(traverse_id="chapter")
class ChapterAdmin(ModelAdmin):
"""Admin resource for chapter model."""
title = "Chapters"
singular_name = "chapter"
plural_name = "chapter"
model = models.Chapter
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('chapter', 'title')
@model_admin(traverse_id="mediachapter")
class MediaChapterAdmin(ModelAdmin):
"""Admin resource for mediachapter model."""
title = "MediaChapter"
singular_name = "medium chapter"
plural_name = "media chapters"
model = models.MediaChapter
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('mediachapter', 'title')
@model_admin(traverse_id="mediagospel")
class MediaGospelAdmin(ModelAdmin):
"""Admin resource for mediagospel model."""
title = "MediaGospel"
singular_name = "medium gospel"
plural_name = "media gospels"
model = models.MediaGospel
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('mediagospel', 'title')
@model_admin(traverse_id="music")
class MusicAdmin(ModelAdmin):
"""Admin resource for music model."""
title = "Music"
singular_name = "music"
plural_name = "music"
model = models.Music
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('music', 'title')
@model_admin(traverse_id="mediamusic")
class MediaMusicAdmin(ModelAdmin):
"""Admin resource for mediamusic model."""
title = "MediaMusic"
singular_name = "medium music"
plural_name = "media music"
model = models.MediaMusic
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('mediamusic', 'title')
@model_admin(traverse_id="church")
class ChurchAdmin(ModelAdmin):
"""Admin resource for church model."""
title = "Church"
singular_name = "church"
plural_name = "churches"
model = models.Church
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('church', 'title')
@model_admin(traverse_id="mediasermon")
class MediaSermonAdmin(ModelAdmin):
"""Admin resource for mediasermon model."""
title = "MediaSermon"
singular_name = "medium sermon"
plural_name = "media sermon"
model = models.MediaSermon
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('mediasermon', 'title')
@model_admin(traverse_id="leader")
class LeaderAdmin(ModelAdmin):
"""Admin resource for leader model."""
title = "Leader"
singular_name = "leader"
plural_name = "leaders"
model = models.Leader
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('leader', 'title')
@model_admin(traverse_id="languageidentifier")
class LanguageIdentifierAdmin(ModelAdmin):
"""Admin resource for mediagospel model."""
title = "LanguageIdentifier"
singular_name = "language identifier"
plural_name = "language identifiers"
model = models.LanguageIdentifier
class Resource(ModelAdmin.Resource):
def get_title(self):
return '{} {}'.format('languageidentifier', 'title')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment