忍者ブログ
想いとグチの吐き出し場

フルネームを表示する@trac (Trac0.12版)

Tracを0.12にアップデート。

で、以前やった以下の項目のフルネーム表示カスタマイズが
trac0.11とはビミョーに違うのでメモ。φ(..)
  • ticket新規作成時の担当者
  • ticketを表示したときの担当者や報告者
  • ticketのassign先を選択するところ

ついでに
  • レポートの結果表示のところ
  • カスタムクエリの検索条件設定のところ
も対応しろやというクレーム改善要望があがってきた。
が、これもwebに情報が転がってない。
ということで、こちらも試行錯誤の結果をメモ。φ(..)


もちろん記事の内容について一切の責任は負いませんので
自己責任で!





◎環境メモ
  • Ubuntu 10.04.1 LTS
  • Python 2.6.5
  • trac 0.12.3.ja2

◎ticket新規作成時の担当者
   ⇒ 0.11と同じ。

◎ticketを表示したときの担当者や報告者
   ⇒ 基本的には0.11と同じだが、追加する場所だけ違う。
    0.12ではchrome.pyにコンストラクタがなくなっている。
    なので、コンストラクタをまるごと追加する感じ↓になる
・/tracの/インストール/ディレクトリ/Trac-0.12.3.ja2-py2.6.egg/trac/web/chrome.py

392,400d391
< def __init__(self):
< # Get Name of all known users
< self.db = self.env.get_db_cnx()
< self.name_map = {}
< for username, name, email in self.env.get_known_users(self.db):
< if name:
< self.name_map[username] = name
<
<
946,949c937
< if author in self.name_map:
< return self.name_map[author]
< else:
< return obfuscate_email_address(author)
---
> return author
955,963c943,944
< if author in self.name_map:
< return self.name_map[author]
< else:
< return author
< else:
< if author in self.name_map:
< return self.name_map[author]
< else:
< return obfuscate_email_address(author)
---
> return author
> return obfuscate_email_address(author)




◎ticketのassign先を選択するところ
   ⇒ 0.11と同じ。

◎レポートで担当者、報告者を表示したところ
・/tracの/インストール/ディレクトリ/Trac-0.12.3.ja2-py2.6.egg/trac/ticket/templates/report_view.html

188,199d187
< <py:when test="col in ('reporter', '報告者')">
< <td class="$col" py:attrs="td_attrs">${cell.value != '' and format_author(cell.value) or '--'}
< <hr py:if="fullrow"/>
< </td>
< </py:when>
<
< <py:when test="col in ('owner', '担当者')">
< <td class="$col" py:attrs="td_attrs">${cell.value != '' and format_author(cell.value) or '--'}
< <hr py:if="fullrow"/>
< </td>
< </py:when>
<



◎カスタムクエリの検索条件設定の担当者のところ
・/tracの/インストール/ディレクトリ/Trac-0.12.3.ja2-py2.6.egg/trac/ticket/templates/report_view.html

81,88d80
< <py:when test="n_field_name == '0_owner'">
< <select name="${n_field_name}">
< <option></option>
< <option py:for="option in field.options"
< selected="${option == constraint_value and 'selected' or None}"
< value="$option">${format_author(option)}</option>
< </select>
< </py:when>



いじょー。

PR