def render(appname, app_model, **kw): ''' Render model with theme. ''' th = get_current_theme() logging.info('render using theme "%s"...' % th) # load widget: # TODO... # prepare model for theme: site = siteconfig.get_site_settings() tz = site.get_tzinfo() utils = runtime.get_runtime_utils(tz, str(site.date_format), str(site.time_format)) app_model['utils'] = utils app_model['user'] = kw['current_user'] app_model['site'] = site embedded_app = view.render(appname, app_model) title = site.title app_title = app_model.get('__title__', None) if app_title: title = app_title + ' - ' + title model = { '__view__' : 'template', '__app__' : embedded_app, '__header__' : app_model.get('__header__', ''), '__footer__' : app_model.get('__footer__', ''), 'utils' : utils, 'app' : appname, 'user' : kw['current_user'], 'title' : title, 'site' : site, 'navigations' : navigation.get_navigation(), } return view.render('theme', model, view_dir=th)
def render(appname, app_model, **kw): ''' Render model with theme. ''' th = get_current_theme() logging.info('render using theme "%s"...' % th) # load widget: # TODO... # prepare model for theme: site = siteconfig.get_site_settings() tz = site.get_tzinfo() utils = runtime.get_runtime_utils(tz, str(site.date_format), str(site.time_format)) app_model['utils'] = utils app_model['user'] = kw['current_user'] app_model['site'] = site embedded_app = view.render(appname, app_model) title = site.title app_title = app_model.get('__title__', None) if app_title: title = app_title + ' - ' + title model = { '__view__': 'template', '__app__': embedded_app, '__header__': app_model.get('__header__', ''), '__footer__': app_model.get('__footer__', ''), 'utils': utils, 'app': appname, 'user': kw['current_user'], 'title': title, 'site': site, 'navigations': navigation.get_navigation(), } return view.render('theme', model, view_dir=th)
def __get_navigation(context): selections = [('- Select -', '#'), ('home', '/')] for appname in appconfig.apps: mod = __import__(appname, fromlist=['appmanage']).appmanage get_nav = getattr(mod, 'get_navigation', None) if callable(get_nav): selections.extend([(title, '/' + appname + url) for title, url in get_nav()]) selections.append(('Custom', '')) navs = navigation.get_navigation(False) if len(navs)<10: for i in range(10 - len(navs)): navs.append(('', '',)) return { '__view__' : 'manage_navigation', 'selections' : selections, 'navigations' : navs, }