# HG changeset patch # User ReimarBauer # Node ID 8b0a29e34f949b36c6ac0bf45f83d1cf81d1f3a6 # Parent b3a47164c22a16a37bb097a78e03342ecacf4d3b Feature for a suplementation page e.g. Discussion added, default editbar is [u'Edit', u'Info', u'Subscribe', u'Quicklink', u'Attachments', u'ActionsMenu', ] This feature could be enabled by adding the supplementation_page_name to this var. On default it is named Discussion. To change it you need to set supplementation_page_name = u'Comment' supplementation_page_template = u'CommentTemplate' edit_bar = [u'Edit', u'Info', u'Subscribe', u'Quicklink', u'Attachments', supplementation_page_name, u'ActionsMenu', ] diff -r b3a47164c22a -r 8b0a29e34f94 MoinMoin/config/multiconfig.py --- a/MoinMoin/config/multiconfig.py Tue Aug 29 17:01:55 2006 +0200 +++ b/MoinMoin/config/multiconfig.py Thu Aug 31 13:01:16 2006 +0200 @@ -235,7 +235,9 @@ class DefaultConfig: default_markup = 'wiki' docbook_html_dir = r"/usr/share/xml/docbook/stylesheet/nwalsh/html/" # correct for debian sarge - + + edit_bar = [u'Edit', u'Info', u'Subscribe', u'Quicklink', u'Attachments', u'ActionsMenu', ] + editor_default = 'text' # which editor is called when nothing is specified editor_ui = 'freechoice' # which editor links are shown on user interface editor_force = False @@ -372,6 +374,9 @@ reStructuredText Quick Reference siteid = 'default' stylesheets = [] # list of tuples (media, csshref) to insert after theme css, before user css superuser = [] # list of unicode user names that have super powers :) + + supplementation_page_name = u'Discussion' + supplementation_page_template = u'DiscussionTemplate' surge_action_limits = {# allow max. requests per
secs # action: (count, dt) diff -r b3a47164c22a -r 8b0a29e34f94 MoinMoin/theme/__init__.py --- a/MoinMoin/theme/__init__.py Tue Aug 29 17:01:55 2006 +0200 +++ b/MoinMoin/theme/__init__.py Thu Aug 31 13:01:16 2006 +0200 @@ -1027,13 +1027,19 @@ actionsMenuInit('%(label)s'); This is separate method to make it easy to customize the edtibar in sub classes. """ - return [self.editorLink(page), - self.infoLink(page), - self.subscribeLink(page), - self.quicklinkLink(page), - self.attachmentsLink(page), - self.actionsMenu(page), - ] + editbar_items = {'Edit': self.editorLink(page), + 'Info': self.infoLink(page), + 'Subscribe': self.subscribeLink(page), + 'Quicklink': self.quicklinkLink(page), + 'Attachments': self.attachmentsLink(page), + self.request.cfg.supplementation_page_name: self.supplementation_page_nameLink(page), + 'ActionsMenu': self.actionsMenu(page)} + + allowed_action = [] + for action in self.request.cfg.edit_bar: + allowed_action.append(editbar_items[action]) + return allowed_action + def guiworks(self, page): """ Return whether the gui editor / converter can work for that page. @@ -1118,6 +1124,13 @@ var gui_editor_link_text = "%(text)s"; return page.link_to(self.request, text=_('Info', formatted=False), querystr={'action': 'info'}, id='info', rel='nofollow') + + def supplementation_page_nameLink(self, page): + """ discussion for page """ + _ = self.request.getText + return page.link_to(self.request, + text=_(self.request.cfg.supplementation_page_name, formatted=False), + querystr={'action': 'supplementation'}, id='supplementation', rel='nofollow') def subscribeLink(self, page): """ Return subscribe/unsubscribe link to valid users diff -r b3a47164c22a -r 8b0a29e34f94 MoinMoin/action/supplementation.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MoinMoin/action/supplementation.py Thu Aug 31 13:01:16 2006 +0200 @@ -0,0 +1,42 @@ +""" + MoinMoin - Action for supplementation pages + + This Action is used to create a supplementation subpage e.g. a Discussion below a comon page + + Install: + put it into the 'action' directory and do create a supplementation Template e.g. DiscussionTemplate + + Note: + derived from the newpage macro by Vito Miliano (vito_moinnewpagewithtemplate@perilith.com) et al + + Modification History: + 2006-08-30 ReimarBauer initial version + + License: + @license: GNU GPL, see COPYING for details. + +""" +from MoinMoin.Page import Page +from MoinMoin.wikiutil import quoteWikinameURL + +def execute(pagename, request): + _ = request.getText + sub_page_name = request.cfg.supplementation_page_name + sub_page_template = request.cfg.supplementation_page_template + newpagename = "%s/%s" % (pagename, sub_page_name) + + if pagename.endswith(sub_page_name): # sub_sub_page redirects to sub_page + query = {} + url = Page(request, pagename).url(request, query, escape=0, relative=False) + request.http_redirect(url) + elif request.user.may.read(newpagename) and request.user.may.write(newpagename): + query = {} + url = Page(request, newpagename).url(request, query, escape=0, relative=False) + test = Page(request, newpagename) + if test.exists(): # page is defined -> redirect + request.http_redirect(url) + else: # page will be created from template + query = {'action': 'edit', 'backto': newpagename} + query['template'] = quoteWikinameURL(sub_page_template) + url = Page(request, newpagename).url(request, query, escape=0, relative=False) + request.http_redirect(url)