macros in included wikis not processed correctly
|Reported by:||Owned by:||Ryan J Ollos|
|Severity:||major||Keywords:||macro processor renderer nesting|
Description (last modified by )
if you include a wiki page that itself calls a macro (such as ParentLinkage) then said macro will run with the request information of the containing wiki page (as opposed to the contained wiki page).
This manifests itself when: Parent1\!WikiPage1 contains:
and, Parent2\!WikiPage2 contains:
the ouput prints the parent linkage for Parent2\!WikiPage2 twice as opposed to the parent linkage for Parent2\!WikiPage2 followed by Parent1\!WikiPage1.
suggest the following workaround:
- import wiki_to_html from trac.wiki.formatter
- under the case where source_format == 'wiki' instead out setting out to be page.text, call wiki_to_html. You will probably need to pass in a crafted req object based on page.name ... I think the var you need to set is req.hdf.setValue('wiki.page_name',page.name) but I'm not very familiar with Trac ... not sure if that's the best way to go about it or not.
- at the end, do not call Mimeview.render if the source_format is a wiki .... since it is already called from the wiki_to_html func.
hope this helps!
funny .... I'm trying to suggest some fixes and I can't even remember to use trac properly ... lol... it's late