チケット #25761

登録: 2011-07-20 19:23

最終更新: 2011-10-26 08:37

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

報告者:(匿名)担当者:okamototk
優先度:5 - 中マイルストーン:3.1.3 (完了済み)
チケットの種類:バグ重要度:5 - 中
コンポーネント:trac-lightning-dev 3.1.2beta2状況:完了
解決法修正済み

チケットの詳細

メニューからガントチャートを選択すると画面上にガントチャートが表示されるが、合わせて画面上部に警告メッセージも表示される。
・警告: カスタムフィールド'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 に更新されました
  • 状況オープン から 完了 に更新されました

追記/更新 #25761 (ガントチャート画面で警告メッセージが表示される)

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