プロジェクト

全般

プロフィール

Defect #1507

未完了

Work Time cannot be saved with Redmine-trunk(r19944)

Yuichi HARADA さんが3年以上前に追加. 3年以上前に更新.

ステータス:
解決(Resolved)
優先度:
高め(High)
対象バージョン:
開始日:
2020/08/04
期日:
進捗率:

0%

予定工数:

説明

When the user assigned to the assignee of the issue attempts to enter and update the work time, an input error will occur.

Using:
  • Redmine: trunk (r19944)
  • Work Time: master branch ( git clone -b master https://github.com/tkusukawa/redmine_work_time.git )

ファイル

Yuichi HARADA さんが3年以上前に更新

The cause is that TimeEntry#author_id was added to the comparison condition by changing https://www.redmine.org/issues/32774 (https://www.redmine.org/projects/redmine/repository/revisions/19676/diff/trunk/app/models/time_entry.rb).

if user_id_changed? && user_id != author_id && !user.allowed_to?(:log_time_for_other_users, project)

I think the following patch will solve this issue.

diff --git a/app/controllers/work_time_controller.rb b/app/controllers/work_time_controller.rb
index 66018dd..97d27f9 100644
--- a/app/controllers/work_time_controller.rb
+++ b/app/controllers/work_time_controller.rb
@@ -781,7 +781,7 @@ private
               append_text += " add time entry of ##{issue.id.to_s}: #{tm_vals[:hours].to_f}h" 
               update_daily_memo(append_text, true)
             end
-            new_entry = TimeEntry.new(:project => issue.project, :issue => issue, :user => @this_user, :spent_on => @this_date)
+            new_entry = TimeEntry.new(:project => issue.project, :issue => issue, :user => @this_user, :author => User.current, :spent_on => @this_date)
             new_entry.safe_attributes = tm_vals
             new_entry.save
             append_error_message_html(@message, hour_update_check_error(new_entry, issue_id))
diff --git a/app/views/work_time/_user_day_table.html.erb b/app/views/work_time/_user_day_table.html.erb
index b3b86c5..2f07c66 100644
--- a/app/views/work_time/_user_day_table.html.erb
+++ b/app/views/work_time/_user_day_table.html.erb
@@ -147,7 +147,7 @@ prj_pack[:odr_issues].each do |issue_pack|
     <%= text_field_tag("new_time_entry["+issue_id.to_s+"][0][comments]", "", :size=>80)%>
   </td>
   <%if @custom_fields.length != 0
-      dummy_hour = TimeEntry.new(:project => issue.project, :issue => issue, :user => @this_user, :spent_on => @this_date)
+      dummy_hour = TimeEntry.new(:project => issue.project, :issue => issue, :user => @this_user, :author => User.current, :spent_on => @this_date)
       dummy_hour.custom_field_values.each do |cfv|
   %>
      <td><%= custom_field_tag "new_time_entry_"+issue_id.to_s+"_0", cfv %></td>
diff --git a/app/views/work_time/ajax_add_tickets_insert.html.erb b/app/views/work_time/ajax_add_tickets_insert.html.erb
index 6955beb..3f4b8e7 100644
--- a/app/views/work_time/ajax_add_tickets_insert.html.erb
+++ b/app/views/work_time/ajax_add_tickets_insert.html.erb
@@ -63,7 +63,7 @@
     <%= text_field_tag("new_time_entry["+@add_issue_id+"]["+@add_count+"][comments]", "", :size=>80)%>
   </td>
   <%if @custom_fields.length != 0
-      dummy_hour = TimeEntry.new(:project => @add_issue.project, :issue => @add_issue, :user => @this_user, :spent_on => @this_date)
+      dummy_hour = TimeEntry.new(:project => @add_issue.project, :issue => @add_issue, :user => @this_user, :author => User.current, :spent_on => @this_date)
       dummy_hour.custom_field_values.each do |cfv|
   %>
      <td><%= custom_field_tag "new_time_entry_"+@add_issue_id+"_"+@add_count, cfv %></td>

Yuichi HARADA さんが3年以上前に更新

https://github.com/tkusukawa/redmine_work_time/pull/5
A pull request has already been created. please confirm.

Yuichi HARADA さんが3年以上前に更新

@Tomohisa Kusukawa
I am very in trouble. Could you give priority to this issue and respond?

oya tatsuyoshi さんが3年以上前に更新

初めまして、私もYuichi HARADAさんと同様の問題が出ておりまして、本チケットにぶら下げる形でコメントさせていただきます。

現在、Redmine4.1.1にてwork time0.4.0を使わせていただいています。

システム管理者以外の全ロール(管理者や開発者など)でwork timeの日毎工数から時間を入力して更新ボタンを押しても、
 
 チケット#○○○○
 ユーザーは不正な値です

というエラーが出てしまい、工数を登録することが出来ません。
しかし、なぜか日毎工数の「ステータス」の部分だけは更新できる状態になっています。
管理画面の「権限レポート」のほうから各権限を全ロールに付与させてもこの問題を解決することが出来ませんでした。

今のところシステム管理者はこの問題がなく、正常にwork timeを利用することが出来ているのですが、様々なサイトから調べてみても同様の問題を探すことが出来す、手詰まりの状態です。

お忙しいところ大変恐縮ではございますが、何卒ご回答のほどよろしくお願いいたします。
また、何か必要な情報がありましたらご連絡いただきたく思います。

Tomohisa Kusukawa さんが3年以上前に更新

  • ステータス新規(New) から 解決(Resolved) に変更
  • 担当者Tomohisa Kusukawa にセット
  • 対象バージョン0.4.1 にセット

対応が停滞していて大変申し訳ありませんでした。

https://github.com/tkusukawa/redmine_work_time/pull/5
を取り込ませてもらって
先程 Ver0.4.1をリリースしました。
https://github.com/tkusukawa/redmine_work_time/archive/0.4.1.zip

こちらでご確認頂けますでしょうか。

oya tatsuyoshi さんが3年以上前に更新

ご対応ありがとうございます。
早速試してみたのですが、状況は変わらず、システム管理者以外はステータス以外の更新ができませんでした。

お忙しい中申し訳ありませんがお時間のある際にご確認いただければと思います。
こちらでも何かわかり次第ご報告させていただきます。

Tomohisa Kusukawa さんが3年以上前に更新

oyaさん
ご確認ありがとうございます。
念の為、管理画面のプラグインでWorkTimeのバージョンがいくつになっているか見て頂けますでしょうか。
またエラー時のログをお送り頂けると助かります。(エラー箇所の行番号が解ると思うので)

Yuichi HARADA さんが3年以上前に更新

@Tomohisa Kusukawa, I am grateful to you for your support.
I confirmed the operation with WorkTime Ver0.4.1. The man-hours could be updated without any error.

oya tatsuyoshi さんが3年以上前に更新

Kusukawaさん
返信が遅くなってしまい大変申し訳ありません。
管理画面ではwork timeのバージョンは最新の0.4.1になっておりました。

また、現在Dockerでの運用をしているのですが、エラーを確認しようとしたところそれらしきログが見つかりませんでした。
その時のログを下に載せますので、確認していただけますと幸いです。

実行コマンド
tail -n30 log/production.log

実行結果
Started POST "/redmine/work_time/index?day=19&month=10&prj=false&user=169&year=2020" for 127.0.0.1 at 2020-10-19 12:42:22 +0900
Processing by WorkTimeController#index as HTML
  Parameters: {"utf8"=>"?", "authenticity_token"=>"**********************", "year"=>"2020", "month"=>"10", "day"=>"19", "user"=>"169", "prj"=>"false", "new_time_entry"=>{"45076"=>{"0"=>{"hours"=>"", "activity_id"=>"77", "status_id"=>"3", "comments"=>""}}, "46786"=>{"0"=>{"hours"=>"", "activity_id"=>"77", "status_id"=>"2", "comments"=>""}}, "46312"=>{"0"=>{"hours"=>"0.1", "activity_id"=>"77", "status_id"=>"7", "comments"=>""}}}, "commit"=>"更新"}
  Current user: redmine (id=169)
  Rendering plugins/redmine_work_time/app/views/work_time/show.html.erb within layouts/base
  Rendered plugins/redmine_work_time/app/views/work_time/_select_project.html.erb (217.6ms)
  Rendered plugins/redmine_work_time/app/views/work_time/_user_month_table.html.erb (41.3ms)
  Rendered plugins/redmine_work_time/app/views/work_time/_user_day_table.html.erb (53.9ms)
  Rendered plugins/redmine_work_time/app/views/work_time/show.html.erb within layouts/base (319.4ms)
  Rendered plugins/redmine_wiki_extensions/app/views/wiki_extensions/_html_header.html.erb (0.0ms)
  Rendered plugins/redmine_wiki_unc/app/views/redmine_wiki_unc/_redmine_wiki_unc_partial.html.erb (0.1ms)
  Rendered plugins/sidebar_hide/app/views/sidebar/_hideButton_partial.html.erb (0.0ms)
  Rendered plugins/redmine_wiki_extensions/app/views/wiki_extensions/_body_bottom.html.erb (0.1ms)
Completed 200 OK in 597ms (Views: 256.5ms | ActiveRecord: 243.6ms)

Koji Ohta さんが3年以上前に更新

同様の問題に直面していましたが
work_timeのバージョンを0.4.0→0.4.1にしたところ解決しました。
参考になればと思い各種バージョンを記載します。

Environment:
  Redmine version                4.1.1.stable
  Ruby version                   2.6.6-p146 (2020-03-31) [x86_64-linux]
  Rails version                  5.2.4.2
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Subversion                     1.10.4
  Mercurial                      4.8.2
  Bazaar                         2.8.0
  Git                            2.20.1
  Filesystem                     
Redmine plugins:
  advanced_roadmap_v2            2.4.3
  kanban                         0.0.7
  plantuml_macro                 0.0.1
  redmine_issue_templates        1.1.0
  redmine_issues_tree            0.0.14
  redmine_knowledgebase          4.1.1
  redmine_lightbox2              0.5.1
  redmine_local_avatars          1.0.5.2.0
  redmine_slack                  0.2
  redmine_vividtone_my_page_blocks 2017/07/05
  redmine_work_time              0.4.1
  view_customize                 2.7.0

他の形式にエクスポート: Atom PDF