from MoinMoin.theme.modernized import Theme as _Theme from MoinMoin.Page import Page from MoinMoin import wikiutil class Theme(_Theme): # Hook to add an override stylesheet, favicon, iPhone icon, and viewport # tag def universal_edit_button(self, d, **k): return u'\n'.join([ (''), (''), (''), (''), (''), ]) + _Theme.universal_edit_button(self, d, **k) # Hook to add a Home link to the header links next to the logo def username(self, d): html = _Theme.username(self, d) first_tag = html.index('>') + 1 page = wikiutil.getFrontPage(self.request) return u'{} {} | {}'.format( html[:first_tag], page.link_to_raw(self.request, "Home"), html[first_tag:]) def editbarItems(self, page): actions = _Theme.editbarItems(self, page) # Add quick link actions for starting/stopping activities if page.pi['format'] == 'timecsv': actions.insert(len(actions) - 1, page.link_to( self.request, text='Start Activity', querystr={ 'action': 'StartActivity' }, rel='nofollow')) actions.insert(len(actions) - 1, page.link_to( self.request, text='Stop Activity', querystr={ 'action': 'StopActivity' }, rel='nofollow')) return actions def send_title(self, text, **keywords): if 'editor_mode' in keywords: if 'body_attr' in keywords: keywords['body_attr'] += 'id="page-editor"' else: keywords['body_attr'] = 'id="page-editor"' return _Theme.send_title(self, text, **keywords) def execute(request): return Theme(request)