View Tickets のデフォルトを変える (trac tips #1)

うちでは 公開用 trac の他に、プライベートな trac もあって、Wiki をメモ代わりにしたり、Tickets で TODO 管理(プログラミングとか関係なく、日常のこととかも)してたりします。

で、TODO 管理は Milestone でおおざっぱにカテゴリつくっていて、View Tickets ではカテゴリ別に未消化チケットを見るために 『{3} All Tickets by Milestone』を見ることが多いので、このページをデフォルトにしようと思ったら、どこをカスタマイズしていいか分からずに意外と手間取ったので、ここにもメモしておきます。

と言っても、わかってしまえば単純で、/usr/local/lib/python2.4/site-packages/trac/ticket/report.py をいじるだけです。(最初は /usr/local/share/trac/templates にあたりをつけてカスタマイズ法を探っていたので、結構時間かかりました…)

70 行目付近に以下の様な記述があります。 (ちなみにうちで使ってる trac のバージョンは 0.9.2 です。)

    def get_navigation_items(self, req):
        if not req.perm.has_permission('REPORT_VIEW'):
            return
        yield 'mainnav', 'tickets', 'View Tickets' \
              % util.escape(self.env.href.report())

この太字の行を次の様に変えてやれば OK です。

              % util.escape(self.env.href.report(3))

{1} Active Tickets』をデフォルトにしたい場合にはこんな感じで。

              % util.escape(self.env.href.report(1))

宮川さんの様に Query をデフォルトにしたい場合にはこんな感じで。

              % util.escape(self.env.href.query())

この辺りのカスタマイズ方法って、どこかにまとまってたりしないのかな?