Edgewall Software

Version 7 (modified by olya <olya@…>, 11 years ago) ( diff )

Basic snippet on how to rename roadmaps.

Interface Customization using site.html

This page intends to collect useful snippets for inclusing in a project site.html file. Any snippet below is intended to be included inside the standard root element of the file:

<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:py="http://genshi.edgewall.org/" 
      xmlns:xi="http://www.w3.org/2001/XInclude"
      py:strip=""> 

<!--! Add snippets here... -->

</html>

Remember, snippets are more useful if accompanied by a short description…

Quicksearch for tickets only

When no search filters are provided, Trac searches using all filters. This snippets adds a filter to the quicksearch that restricts searches to tickets only by default - more can of course be added by user after initial search:

<div py:match="body/div[@id='banner']/form[@id='search']/div"
     py:attrs="select('@*')" once="true">
  ${select('*|text()|comment()')}
  <input type="hidden" name="ticket" value="on"/>
</div>

Explanation: It grabs the <div/> inside the quicksearch form into a new div, adding any attributes of the old (though no attributes by default) and then inserts any content (elements, text and comments) that the old element had with the ${select()} call. To this new (identical) div, a new <input/> element is added that provides a filter for ticket-only search.

Add licensing information when adding attachments

If adding attachments to your Trac site requires people to agree to some licensing, you can add the terms of the license on the "Add attachments" page as follows:

<py:match path="form[@id='attachment']/div[@class='buttons']" once="true">
  <p>By submitting a file here, you accept that we can do whatever
     we want with it, blah blah...</p>
  <div py:attrs="select('@*')">
    ${select('*|comment()|text()')}
  </div>
</py:match>

Explanation: This matches the <div> containing the submit buttons, adds a paragraph with the text at that location, then reconstructs the matched <div> with its initial content and attributes.

Rename Roadmaps header

If your team would prefer to see a different title instead of Roadmap, add the following code to your site.html and restart the server. Don't forget to edit trac.ini to change the link title.

<span py:match="h1">
  <py:if test="req.environ['PATH_INFO'] == '/roadmap'">
    <h1>Open Milestones</h1>
  </py:if>
</span>

See also: TracInterfaceCustomization, SiteStyleCss

Note: See TracWiki for help on using the wiki.