DecoratorPluginを0.10系にポーティングしてみるの巻
Trac月を使うとdue_assignとdue_closeの項目でcalendarを使った入力が出来ます。Trac月が出る前に環境を構築してしまって移行していない現状では、とっても便利でうらやましい機能です。
今まで我慢してきましたが社内で欲しい~の声が徐々に大きくなってきたので『Trac月からtemplateを丸っとコピーして~♪』と思ったら・・・
ぐがっ!TicketDeletePluginが動かない!何か微妙に今までとずれるっ!
っていう状況だったので、取りあえず要望のあったプロジェクト1つにだけに応急手当をして導入。応急処置はprototype.jsを使っている部分があるので、これがTicketDeletePluginのjQueryとバッティングしていたようなので、該当するUserIdの補完部分をばっさりと消しました。
とわいえProject毎に毎回これをやるのも正直しんどいし、shibuya.tracでpluginになっててなぁというのを思いだしたので、無いものは作るってことで三連休だったので調査開始。
当然0.11用なのでそのままでは動くはずもなく・・・と思ってソース眺めてたら比較簡単に対応できそうなので改変開始。
改変のポイントは
以上の作業で基本的にDecoratorPluginのレポートのアイコン化もカレンダの追加もOK。
ただし問題点が何点か・・・
んで以上の対応をすべく三連休中に一人日(笑)程度頑張ってみました。
んで更なる改変したのは以下の3点
- TicketDeletePluginと同居を可能にした。
TicketDeletePlugin有効時、ticket.cs時のscripy追加の挙動を制御 - スクリプトのエラーが出ないようした。
templateがreport.cs,newticket.cs,ticket.cs時のみ動作するように変更 - デフォルトのカレンダフィールドの廃止
非Trac月環境向け(スクリプトエラー防止)
shibuya.tracでbranch切って作業でも良かったのですが、あまりにも切り刻みすぎで申し訳ないのでtidusさんに送りつけちゃう予定です。
というわけなので、0.10対応版のDecoratorPluginの公開はtidusさん次第ですm(_ _)m
ちなみにCompleteUserもポーティングしようと思ったけど、JSONの対応が面倒なので棚上げというか無かったことに・・・(汗)
取りあえずRev28まで追いついたので固めて送ることにします。