チケット #25761

ガントチャート画面で警告メッセージが表示される

登録: 2011-07-20 19:23 最終更新: 2011-10-26 08:37

報告者:
(匿名)
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

メニューからガントチャートを選択すると画面上にガントチャートが表示されるが、合わせて画面上部に警告メッセージも表示される。
・警告: カスタムフィールド'complete'が定義されていません。'complete'フィールドを定義してください

1.カスタムフィールドは初期状態のものに"text"と"select"を追加し、parentsを削除。
2.trac.iniのticket-customの最後にparentsの定義を追加し、TracLightningを再起動
3.チケットの新規作成→削除→新規作成/更新を複数回実施
4.メニューからガントチャートを選択

チケットの履歴 (10 件中 3 件表示)

2011-07-20 19:23 更新者: None
  • 新しいチケット "ガントチャート画面で警告メッセージが表示される" が作成されました
2011-07-27 23:18 更新者: okamototk
  • 担当者(未割り当て) から okamototk に更新されました
コメント

ご報告ありがとうございます。

completeフィールドを削除していませんか? ガントチャートを利用するには、completeフィールドが必要となります。

ご確認の方、よろしくお願いします。

2011-07-29 13:06 更新者: None
コメント

バージョン 3.1.2 Beta2にバージョンアップした所、私の環境でも警告メッセージが表示されるようになりました。 今日 3.1.2 にしてみても同じです。 今まで問題なく使用出来ていましたので、当然completeフィールドは存在します。

2011-07-30 21:05 更新者: jun66j5
  • マイルストーン(未割り当て) から 3.1.3 (完了済み) に更新されました
  • 解決法なし から 修正済み に更新されました
コメント

インストール直後の 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')

2011-07-30 21:10 更新者: okamototk
  • 解決法修正済み から なし に更新されました
コメント

なるほど...。ちょっとこちらの方で何度か試してみましたが、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を頂ければ、もう少し分析できるかも知れません)

よろしくお願いします。

2011-07-30 21:15 更新者: okamototk
コメント

おっと、jun66j5さんが修正してくれたようですね。失礼しました。

2011-07-30 21:15 更新者: okamototk
  • 解決法なし から 修正済み に更新されました
2011-09-01 09:01 更新者: None
2011-09-18 23:10 更新者: jun66j5
2011-10-26 08:37 更新者: okamototk
  • チケット完了時刻2011-10-26 08:37 に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする