« unfuddleリポジトリのバックアップ | Main | Tracで複数選択可能な入力項目を使用する »

2008.12.03

Trac/MultiSelectListPlugin

 Trac0.11のTicketシステムにおいては、複数選択を許容するSelect/Optionは使用できません。ってことで、擬似的に(?)複数選択可能なSelect/Optionを使えるようにするためのプラグインを作ってみました。
 内容としては、ITemplateStreamFilterでTextFieldタイプの入力域をSelect/Option形式に置換して出力しています。なお、選択された項目は、DBにはカンマ区切りの1つの値として登録されます(IRequestFilterで値を書き換えています)。

 ダウンロードはこちらから: MultiSelectList-r49.zip (2.7K)

設定方法

カスタムフィールドの追加
 Text形式でカスタムフィールドを追加します。
 

複数選択を可能とする項目を登録
 先ほど追加したカスタムフィールドを登録します。なお、複数ある場合は、カンマ区切りで登録します。
 

trac.iniで項目一覧を定義

[multiselectlist]
fieldname = multivalue
multivalue.values = ,選択項目1,選択項目2,選択項目3,選択項目4,選択項目5

 こんな感じで、選択項目の一覧をカンマ区切りで登録します。

チケット入力画面

チケット入力(編集)画面
 4行が表示されるリストで表示されます。ctrlキーを押しながらクリックすることで、複数項目を選択することが可能です。
 

チケット登録結果
 DBには選択項目がカンマ区切りで登録されます。編集域においては、自動的に区切って処理します。なお、空白の項目は無視されます(選択して登録しても、無視されます)。
 

|

« unfuddleリポジトリのバックアップ | Main | Tracで複数選択可能な入力項目を使用する »

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 Trac/MultiSelectListPlugin:

« unfuddleリポジトリのバックアップ | Main | Tracで複数選択可能な入力項目を使用する »