Re: [Redmine] チケット一括登録について

3,241 views
Skip to first unread message

nobu_toyofuku

unread,
Nov 13, 2012, 4:54:15 AM11/13/12
to Redmine Users (japanese)
  豊福です。

2012年11月7日 17:14 t futakuchi <takeshi....@gmail.com>:
が一番良かったのですが、「ファイルをアップロード」で、
undefined method `observe_field'
で、
「Internal error」
となってしまいます。
どうも、Rails3 では observe_field がなくなっている、とのこと。

スマートな方法ではないですが取りあえず observe_field の問題を回避する方法です。
importer で observe_field を使っているのは本質的なところではなく
「既存のチケットを更新」のチェックボタンをオフするとその下の
「他プロジェクトのチケットでも更新」と
「チケットが存在しない場合は無視」 の2項目を
自動的に効かなくさせるためだけですのでこの2項目も手作業でオンオフ
するということでよければ次のパッチでできます。

--- app/views/importer/match.html.erb.org
+++ app/views/importer/match.html.erb
@@ -38,19 +38,12 @@
         <label><%= check_box_tag "update_issue", true, false %> <%= l('redmine_importer.label_update_issue') %>
         </label><br/>
-        <%= observe_field("update_issue", :function => <<END_OF_STRING
-document.getElementById("journal_field").disabled = !element.checked;
-document.getElementById("update_other_project").disabled = !element.checked;
-document.getElementById("ignore_non_exist").disabled = !element.checked;
-END_OF_STRING
-)
-        %>
        
         &nbsp;&nbsp;&nbsp;&nbsp;<label><%= l('redmine_importer.label_journal_field') %>
         <%= select_tag "journal_field", "<option value=\"\">#{l('redmine_importer.option_ignore')}</option>" + options_for_select(@headers), {:disabled => true} %></label><br/>
        
-        &nbsp;&nbsp;&nbsp;&nbsp;<label><%= check_box_tag "update_other_project", true, false, {:disabled => true} %>
+        &nbsp;&nbsp;&nbsp;&nbsp;<label><%= check_box_tag "update_other_project", true, false, {:disabled => false} %>
         <%= l('redmine_importer.label_update_other_project') %></label><br/>
 
-        &nbsp;&nbsp;&nbsp;&nbsp;<label><%= check_box_tag "ignore_non_exist", true, false, {:disabled => true} %>
+        &nbsp;&nbsp;&nbsp;&nbsp;<label><%= check_box_tag "ignore_non_exist", true, false, {:disabled => false} %>
         <%= l('redmine_importer.label_ignore_non_exist') %></label><br/>


この問題とは関係ないのですが対象バージョンのカラムがないCSVデータで
試したところエラーになったので以下のパッチ(empty? を blank? に変えただけ)
も使いました。

--- app/controllers/importer_controller.rb.org
+++ app/controllers/importer_controller.rb
@@ -250,5 +250,5 @@
         assigned_to = row[attrs_map["assigned_to"]] != nil ? user_for_login!(row[attrs_map["assigned_to"]]) : nil
         fixed_version_name = row[attrs_map["fixed_version"]]
-        fixed_version_id = !fixed_version_name.empty? ? version_id_for_name!(project,fixed_version_name,add_versions) : nil
+        fixed_version_id = !fixed_version_name.blank? ? version_id_for_name!(project,fixed_version_name,add_versions) : nil
         watchers = row[attrs_map["watchers"]]
         # new issue or find exists one

取りあえず上記のパッチで試してみてください。

ただし私が試したときは題名のカラムを指定しているにも関わらず
「subjectを入力してください」というエラーになってうまくいきませんでしたが。

実は手元に自分でいじっている redmine importer
http://d.hatena.ne.jp/itto100pen/20111227#1325002283
を redmine-2.0系に対応させたものがあって上記の observer_field の
パッチをあてたら取りあえずインポートに成功しています。
まだ整理中で公開していませんが・・・
---

t futakuchi

unread,
Nov 14, 2012, 3:31:25 AM11/14/12
to redmine-...@googlegroups.com
豊福様、

ご回答ありがとうございますッ。
早速試してみました。

「ファイルをアップロード」でエラーすることもなく、
登録する項目を設定して、
「確認」とやると、
translation missing: ja.text_rmi_specify_unique_field_for_column
というエラーになりました。



試しに、redmine_importer に入っているサンプル「AllStandardFields.csv」では、
このようなエラーにはならず、登録されました。

エラーになったCSVファイルはredmine1.4.4を日本語環境でチケット一覧を表示して吐かせたものです。
タイトル行だけを英語にしてみましたが、同エラーでした。

AllStandardFields.csv を一行増やし Subject に日本語のタイトルを入れてやってみたところ、
これはうまく行きました。(SJIS)

なんでもかんでもCSVにしとけばいいってわけでは無さそうですね。
ちゃんと読み込んでくれそうな CSV ファイルを試行錯誤してみます。

お陰様で、なんとかなりそうな気がしてきました。
ご教示頂き誠にありがとうございました。

以上

nobu_toyofuku

unread,
Nov 14, 2012, 5:37:04 AM11/14/12
to Redmine Users (japanese)
  豊福です。

2012年11月14日 17:31 t futakuchi <takeshi....@gmail.com>:
> translation missing: ja.text_rmi_specify_unique_field_for_column
> というエラーになりました。

親チケットや関係するチケットのカラムを設定しているのに
「一意な値がある欄を選択」の項目を設定していなときのエラーですね。
---

Reply all
Reply to author
Forward
0 new messages