Mercurial > moin-mfact
changeset 14:dad63ce7aea9
Added edit bar for logged in users
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Thu, 05 Jun 2008 11:55:11 +0200 |
| parents | ea1e3da31e1e |
| children | 0456cf214bda |
| files | mfact.py mfact/css/screen.css |
| diffstat | 2 files changed, 66 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mfact.py Thu Jun 05 11:37:55 2008 +0200 +++ b/mfact.py Thu Jun 05 11:55:11 2008 +0200 @@ -7,6 +7,7 @@ """ from MoinMoin.theme import ThemeBase +from MoinMoin import wikiutil class Theme(ThemeBase): @@ -135,8 +136,7 @@ self.emit_custom_html(self.cfg.page_footer1), # Footer u'<div id="footer">', - self.credits(d), - self.showversion(d, **keywords), + self.editbar(d), u'</div>', # Post footer custom html self.emit_custom_html(self.cfg.page_footer2), @@ -190,6 +190,66 @@ return '\n'.join(html) + def editbar(self, d, **keywords): + if not self.shouldShowEditbar(d['page']): + return u'' + parts = [ + u'<ul class="editbar">', + self.edit_link(d), + self.revert_link(d), + self.info_link(d), + self.admin_link(d), + u'</ul>', + ] + return u' '.join(parts) + + def edit_link(self, d): + page = d['page'] + if not (page.isWritable() and + self.request.user.may.write(page.page_name)): + return u"" + _ = self.request.getText + params = (wikiutil.quoteWikinameURL(page.page_name) + + '?action=edit') + text = _('Edit', formatted=False) + link = wikiutil.link_tag(self.request, params, text, css_class="edit", name="texteditlink") + html = u"<li>%s</li>" % link + return html + + def info_link(self, d): + page = d['page'] + _ = self.request.getText + params = (wikiutil.quoteWikinameURL(page.page_name) + + '?action=info') + text = _('History', formatted=False) + link = wikiutil.link_tag(self.request, params, text, css_class="history") + html = u"<li>%s</li>" % link + return html + + def revert_link(self, d): + page = d['page'] + if not (self.request.rev and + page.isWritable() and + self.request.user.may.revert(page.page_name)): + return u'' + _ = self.request.getText + params = (wikiutil.quoteWikinameURL(page.page_name) + + '?action=revert&rev=%d' % self.request.rev) + text = _('Revert', formatted=False) + link = wikiutil.link_tag(self.request, params, text, css_class="revert") + html = u"<li>%s</li>" % link + return html + + def admin_link(self, d): + page = d['page'] + _ = self.request.getText + params = (wikiutil.quoteWikinameURL(page.page_name) + + '?action=PageActions') + text = _('Actions', formatted=False) + link = wikiutil.link_tag(self.request, params, text, css_class="admin") + html = u"<li>%s</li>" % link + return html + def execute(request): """ Generate and return a theme object
--- a/mfact/css/screen.css Thu Jun 05 11:37:55 2008 +0200 +++ b/mfact/css/screen.css Thu Jun 05 11:55:11 2008 +0200 @@ -80,12 +80,12 @@ text-decoration: underline; } -ul#credits { +ul.editbar { margin: 0; padding: 0; } -ul#credits li { +ul.editbar li { display: inline; margin: 0 0.25em; padding: 0; @@ -126,3 +126,5 @@ } #content li p { margin: 0 } + +
