« ギガイーサ | Main | Squidでユーザー毎にアクセス可能なURLを制御する »

2010.02.27

Ticketの属性等の管理を行うことができる権限を追加する

Ticketの標準属性(コンポーネント/マイルストーン/優先度/解決方法/重要度/チケット分類/バージョン)を編集するためには、シェルからコマンドを実行するか、TICKET_ADMINの権限を有している必要があります。

しかしながら、シェルからコマンドを実行するのは、多くの人にとっては敷居が高いですし、TICKET_ADMINの権限を付与してしまうと、本文の書き換え等も含めて、それこそ何でもできてしまうため、なかなか難しいところです。
かといって、いつまでもその状態だと、「マイルストーンの初期値の設定」といった、比較的よく変更すると思われるような項目に関しても、いつまでも管理者がやらざるを得ないという状況に。

ということで、Ticketの標準属性に関して、Webの画面から編集できるようにするための権限を追加してみました。

ticket/api.py
def get_permission_actions(self): 関数部分に、TICKET_PANEL_ADMINという権限を追加。別に他の名前でもいいのですが。また、TICKET_ADMINの権限に、TICKET_PANEL_ADMINを含むように記述。編集結果は以下のような感じ(他のカスタマイズも混じっていますが)。

return ['TICKET_APPEND', 'TICKET_CREATE', 'TICKET_CHGPROP',
        'TICKET_VIEW', 'TICKET_EDIT_CC', 'TICKET_EDIT_DESCRIPTION',
        'TICKET_EDIT_REPORTER', 'TICKET_MAIL_SEND', 'TICKET_ATTACHMENT_DELETE',
        'TICKET_PANEL_ADMIN',
        ('TICKET_MODIFY', ['TICKET_APPEND', 'TICKET_CHGPROP']),
        ('TICKET_ADMIN', ['TICKET_CREATE', 'TICKET_MODIFY',
                          'TICKET_VIEW', 'TICKET_EDIT_CC',
                          'TICKET_EDIT_REPORTER', 'TICKET_MAIL_SEND',
                          'TICKET_PANEL_ADMIN',
                          'TICKET_EDIT_DESCRIPTION', 'TICKET_ATTACHMENT_DELETE'])]

ticket/admin.py
TICKET_ADMIN で記述されている部分を、全て TICKET_PANEL_ADMIN に書き換えます(4ヶ所ほど)。

上記の修正を行ってTracのインストール&Apache再起動を行うと、TICKET_PANEL_ADMIN という権限が新たに追加され、この権限を有している場合、Webの画面からTicketの標準属性を編集することができるようになります。

|

« ギガイーサ | Main | Squidでユーザー毎にアクセス可能なURLを制御する »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Ticketの属性等の管理を行うことができる権限を追加する:

« ギガイーサ | Main | Squidでユーザー毎にアクセス可能なURLを制御する »