« Ticketの添付ファイルのファイル名を加工する | Main | チケットに対するリンクを一覧表示するマクロ »

2008.10.09

チケットの属性変更可否をもう少し細かくしてみた

Tracのデフォルトのチケット編集画面では、各種属性は全て変更可か全て変更不可という感じでの制御となっています(TICKET_CHGPROP権限を用いたall or noneでの制御)。

そのため、例えば「このプロパティはチームリーダーにしか編集(変更)させたくない」というようなケースには対応できません。ってことで、何となく作ってみました。

・3種類まで「権限グループ」を設定可。
・それぞれの権限に、制御対象となる属性名(milestoneとかtypeとか)をiniファイルに登録。
 なお、IniAdminPluginの画面から登録できるようにしています。
・権限を有していない場合、チケット編集画面において「編集不可」となります(表示はされます)。
・前提条件として、TICKET_CHGPROPが必要となります(TICKET_CHGPROPの上乗せのような感じでの動きとなります)。

ダウンロードはこちらから:TicketPropsController.zip (1.9K)

#なお、画面表示の部分しか制御していないため、強引に編集した結果をリクエストにセットされた場合には無防備です。

※2008/10/30:ダウンロードファイルを、pythonソースそのものからegg形式でインストール可能な形式(zipでアーカイブ)に変更しました。zipファイルを展開し、python setup.py install でインストールできます。

|

« Ticketの添付ファイルのファイル名を加工する | Main | チケットに対するリンクを一覧表示するマクロ »

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

Comments

こんにちわ。
つい最近TracLightningというソフトを知り、大ハマり。
社内でも個人でTracを利用しているnishiokaと申します。初めまして。

この度、小規模でのプロジェクト運営という仮定の下、Tracを利用した場合の能率の良さを上司へアピールする運びとなり、このプラグインを是非とも導入したいと思っております。

が、私の知識ではどうにも導入に到れません(涙)
恥を忍んで作者様に具体的な導入方法をお聞きしたいと思い今回書き込みをさせていただきました。

どうにも
>・それぞれの権限に、制御対象となる属性名(milestoneとかtypeとか)をiniファイルに登録。

という文言が理解できず

> なお、IniAdminPluginの画面から登録できるようにしています。

ということから、pyファイルをeggにまとめる必要が無いのかな・・・?

という結論に至り
私の踏んだ手順として
①TicketPropController.pyをダウンロード
②ソースの書き換え
③とりあえずTraclight直下に格納
④WebAdminよりインストール
⑤インストールしたプロジェクトのtrac.iniへ
[components]
TicketPropController.* = enabled
の追記

これによりアカウントへGroupの適用を施したところダメでした・・・。
Google大先生にお問い合わせしてもGoogle大先生にも私は嫌われているようで・・・ご教授を賜ることができませんでした。

是非お手が空きましたら、ご指導の程、よろしくお願い致します。
阿呆な質問と長文、大変失礼しました。
                                                    nishioka

Posted by: nishioka | 2008.10.29 at 17:21

ご利用ありがとうございます。(^^)

Trac0.11の場合、「管理」画面から設定することができます。TracLightningを利用しているのであれば、TracIniAdmin(trac.iniを編集するプラグイン)も含まれていたと思いますので、管理者としてログインすれば全てWebから編集することができます。

pyファイルは残念ながらegg形式にするようには作っていませんので、プロジェクトフォルダ内のpluginsフォルダに直接コピーしてApacheを再起動してください(そのうち、egg形式でインストールできるようにするかも知れませんが)。

なお、手動でtrac.iniを編集するとした場合は、

[components]
ticketpropscontroller.* = enabled

[ticketpropscontroller]
group1 = keywords,milestone,summary
group2 = priority,component
group3 = type,description

のような感じで書けばOKです。group1/2/3の設定内容に関しては、お使いのプロジェクトにあわせて書き換えてください。

よろしくお願いします。

Posted by: syo | 2008.10.29 at 21:44

ダウンロードファイルを差し替えました。setup.pyを利用することで、eggを作成することができると思います。

Posted by: syo | 2008.10.30 at 06:35

うおおおおおおおおおおおおおw

げふっげふっ。

・・・オホン。

迅速な対応ありがとうございます。早速試してみたくてみたくてたまらない感じで文章がわけわからなくなってまいりました。

すいません。興奮してます。

Posted by: nishioka | 2008.10.30 at 09:08

報告を上げさせて頂きます。

無事インストールが出来、無事適用ができたああああああああああああああ・・・・失礼。つい。

こんな良プラグインを・・・本当にお疲れ様でした。
そしてご厚意に頭を地に着けてお礼を述べさせて頂きたいぐらいに感謝感激雨霰です。

ところどころ文章が見苦しいものになっていますが、テンションが上がりすぎてトチ狂っているという認識で構いません。本当にありがとうございました。

はてなブログの方で今回のレポートを上げ、私と似たような方々のために尽力したいと思うのですがいかがでしょうか?

Posted by: nishioka | 2008.10.30 at 13:11

無事にインストールできたようで何よりです。利用その他はご自由にどうぞ(^^)

なお、本文中にも記載していますが、単に「使用不可」にしているだけなので、httpリクエストを書き換えられると、権限のないユーザでも項目を書き換えることができてしまいますので、ご注意ください(^^;

Posted by: syo | 2008.10.31 at 22:00

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/42691076

Listed below are links to weblogs that reference チケットの属性変更可否をもう少し細かくしてみた:

» Trac/チケットのプロパティ制御の重複対応 [気の向くままに・・・]
TicketPropControllerプラグインと、TicketExtPlug [Read More]

Tracked on 2010.02.22 at 23:21

« Ticketの添付ファイルのファイル名を加工する | Main | チケットに対するリンクを一覧表示するマクロ »