# -*- coding: utf-8 -*- from david.ext.admin import ModelAdmin from david.ext.babel import lazy_gettext as _ from .model import Artist class ArtistAdmin(ModelAdmin): column_labels = dict( name=_('Name'), id=_('ID'), uid=_('Slug'), summary=_('Short bio'), desc=_('Detail'), ) column_list = ('id', 'name', 'uid') form_widget_args = { 'summary': dict(rows='8') } views = [ (ArtistAdmin(Artist, name=_('Artist')), 10) ]
# -*- coding: utf-8 -*- from david.ext.admin import ModelAdmin from david.ext.babel import lazy_gettext as _ from .model import Page from .homepage import homepage_admin class PagesAdmin(ModelAdmin): column_labels = dict( title=_('Title'), id=_('ID'), uid=_('Slug'), content=_('Content'), ) column_list = ('id', 'title', 'uid') form_widget_args = { 'summary': dict(rows='8') } views = [ (PagesAdmin(Page, name=_('Pages')), 90), (homepage_admin, 5), ]
# -*- coding: utf-8 -*- from david.ext.babel import lazy_gettext as _ from david.ext.admin import DBKeyAdminView from david.lib.template import st from .model import DB_HOMEPAGE_ARTICLES from .model import get_homepage_articles from ..view import bp @bp.route('/') def home(): articles, captions = get_homepage_articles() articles = [x.extended_self() for x in articles] carousel_items = [dict(img=x.picture_url('large'), link=x.url(), caption=captions[i]) for i,x in enumerate(articles) if x] return st('modules/pages/home.html', **locals()) homepage_admin = DBKeyAdminView(name=_('Home Page'), endpoint='homepage') homepage_admin.db_keys = (DB_HOMEPAGE_ARTICLES, ) homepage_admin.key_labels = { DB_HOMEPAGE_ARTICLES: _('Home page articles') } homepage_admin.help_text = { DB_HOMEPAGE_ARTICLES: _('article ids or article url, one item per line') }