Defect #1507
openWork Time cannot be saved with Redmine-trunk(r19944)
0%
Description
When the user assigned to the assignee of the issue attempts to enter and update the work time, an input error will occur.
- Redmine: trunk (r19944)
- Work Time: master branch (
git clone -b master https://github.com/tkusukawa/redmine_work_time.git
)
Files
Updated by Yuichi HARADA almost 3 years ago
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>
Updated by Yuichi HARADA almost 3 years ago
https://github.com/tkusukawa/redmine_work_time/pull/5
A pull request has already been created. please confirm.
Updated by Yuichi HARADA over 2 years ago
@Tomohisa Kusukawa
I am very in trouble. Could you give priority to this issue and respond?
Updated by oya tatsuyoshi over 2 years ago
初めまして、私もYuichi HARADAさんと同様の問題が出ておりまして、本チケットにぶら下げる形でコメントさせていただきます。
現在、Redmine4.1.1にてwork time0.4.0を使わせていただいています。
システム管理者以外の全ロール(管理者や開発者など)でwork timeの日毎工数から時間を入力して更新ボタンを押しても、
チケット#○○○○
ユーザーは不正な値です
というエラーが出てしまい、工数を登録することが出来ません。
しかし、なぜか日毎工数の「ステータス」の部分だけは更新できる状態になっています。
管理画面の「権限レポート」のほうから各権限を全ロールに付与させてもこの問題を解決することが出来ませんでした。
今のところシステム管理者はこの問題がなく、正常にwork timeを利用することが出来ているのですが、様々なサイトから調べてみても同様の問題を探すことが出来す、手詰まりの状態です。
お忙しいところ大変恐縮ではございますが、何卒ご回答のほどよろしくお願いいたします。
また、何か必要な情報がありましたらご連絡いただきたく思います。
Updated by Tomohisa Kusukawa over 2 years ago
- Status changed from 新規(New) to 解決(Resolved)
- Assignee set to Tomohisa Kusukawa
- Target version set to 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
こちらでご確認頂けますでしょうか。
Updated by oya tatsuyoshi over 2 years ago
ご対応ありがとうございます。
早速試してみたのですが、状況は変わらず、システム管理者以外はステータス以外の更新ができませんでした。
お忙しい中申し訳ありませんがお時間のある際にご確認いただければと思います。
こちらでも何かわかり次第ご報告させていただきます。
Updated by Tomohisa Kusukawa over 2 years ago
oyaさん
ご確認ありがとうございます。
念の為、管理画面のプラグインでWorkTimeのバージョンがいくつになっているか見て頂けますでしょうか。
またエラー時のログをお送り頂けると助かります。(エラー箇所の行番号が解ると思うので)
Updated by Yuichi HARADA over 2 years ago
@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.
Updated by oya tatsuyoshi over 2 years ago
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)
Updated by Koji Ohta over 2 years ago
同様の問題に直面していましたが
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