« ギガイーサ | 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/47675708

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

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