ガントチャート画面で警告メッセージが表示される
ご報告ありがとうございます。
completeフィールドを削除していませんか? ガントチャートを利用するには、completeフィールドが必要となります。
ご確認の方、よろしくお願いします。
バージョン 3.1.2 Beta2にバージョンアップした所、私の環境でも警告メッセージが表示されるようになりました。 今日 3.1.2 にしてみても同じです。 今まで問題なく使用出来ていましたので、当然completeフィールドは存在します。
インストール直後の sample project でこの問題を確認できました。
お手元の環境で解消させるにはお手数ですが C:\TracLight\python\Lib\site-packages\TracGanttCalendarPlugin-0.5_r801-py2.6.egg\ganttcalendar\ticketgantt.py に以下のパッチを適用してもらうか、bitbucket にある ticketgantt.py からダウンロードしたファイルに差し替えて、再起動してください。
diff -r 5eb42d3e2cbf plugins/svn/ganttcalendar/ganttcalendar/ticketgantt.py --- a/plugins/svn/ganttcalendar/ganttcalendar/ticketgantt.py Thu Jul 28 18:45:26 2011 +0900 +++ b/plugins/svn/ganttcalendar/ganttcalendar/ticketgantt.py Sat Jul 30 20:23:35 2011 +0900 @@ -13,6 +13,7 @@ #from trac.util.translation import _ from trac.config import IntOption, BoolOption, Option from trac import __version__ +from trac.util.compat import any from trac.util.translation import domain_functions @@ -203,7 +204,7 @@ show_ticket_status = req.args.get('show_ticket_status') ts = TicketSystem(self.env) - if not 'complete' in ts.get_custom_fields(): + if not any(f['name'] == 'complete' for f in ts.get_custom_fields()): add_warning(req, _("'complete' field is not defined. Please define it.")) normal_mode = req.args.get('normal') current_mode = req.args.get('zoom')
なるほど...。ちょっとこちらの方で何度か試してみましたが、completeフィールドを定義した状態では再現させることができませんでした。
ガントチャート表示時のcompleteフィールドのチェックは、GanttCalenderプラグインのticketgantt.py中の下記の部分で行っています。
ts = TicketSystem(self.env) if not 'complete' in ts.get_custom_fields(): add_warning(req, _("'complete' field is not defined. Please define i t."))内容的には、チケットシステムが持つカスタムフィールド一覧を取得して、取得した一覧にcompleteフィールドが含まれているかどうかチェックしており、completeフィールドが含まれなければ概要のエラーメッセージをadd_warningで出力するようにしています。上記のコードを見る限り、completeフィールドが定義されている限り、エラーになるはずはないと思っています。
もし、もう少し詳細な再現条件や、そのときの状況などあれば教えてください。(問題が発生したときのプロジェクトのtrac.dbとtrac.iniを頂ければ、もう少し分析できるかも知れません)
よろしくお願いします。
おっと、jun66j5さんが修正してくれたようですね。失礼しました。
メニューからガントチャートを選択すると画面上にガントチャートが表示されるが、合わせて画面上部に警告メッセージも表示される。
・警告: カスタムフィールド'complete'が定義されていません。'complete'フィールドを定義してください
1.カスタムフィールドは初期状態のものに"text"と"select"を追加し、parentsを削除。
2.trac.iniのticket-customの最後にparentsの定義を追加し、TracLightningを再起動
3.チケットの新規作成→削除→新規作成/更新を複数回実施
4.メニューからガントチャートを選択