Mercurial > piecrust2
diff piecrust/admin/views/menu.py @ 886:dcdec4b951a1
admin: Get the admin panel working again.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 20 Jun 2017 21:13:08 -0700 |
parents | 82509bce94ca |
children | 98430e7143d2 |
line wrap: on
line diff
--- a/piecrust/admin/views/menu.py Tue Jun 20 21:12:35 2017 -0700 +++ b/piecrust/admin/views/menu.py Tue Jun 20 21:13:08 2017 -0700 @@ -1,5 +1,6 @@ from flask import g, request, url_for from flask.ext.login import current_user +from piecrust.sources.interfaces import IInteractiveSource def get_menu_context(): @@ -10,22 +11,29 @@ 'icon': 'speedometer'}) site = g.site.piecrust_app - for s in site.sources: - if s.is_theme_source: + for source in site.sources: + if source.is_theme_source: + continue + if not isinstance(source, IInteractiveSource): continue - source_icon = s.config.get('admin_icon', 'document') - if s.name == 'pages': - source_icon = 'document-text' - elif 'blog' in s.name: - source_icon = 'filing' + # Figure out the icon to use... we do some hard-coded stuff to + # have something vaguely pretty out of the box. + source_icon = source.config.get('admin_icon') + if source_icon is None: + if source.name == 'pages': + source_icon = 'document-text' + elif 'blog' in source.name or 'posts' in source.name: + source_icon = 'filing' + else: + source_icon = 'document' - url_write = url_for('.write_page', source_name=s.name) - url_listall = url_for('.list_source', source_name=s.name) + url_write = url_for('.write_page', source_name=source.name) + url_listall = url_for('.list_source', source_name=source.name) ctx = { 'url': url_listall, - 'title': s.name, + 'title': source.name, 'icon': source_icon, 'quicklink': { 'icon': 'plus-round', @@ -44,6 +52,7 @@ 'title': "Publish", 'icon': 'upload'}) + # TODO: re-enable settings UI at some point. # entries.append({ # 'url': url_for('.settings'), # 'title': "Settings",