Project

General

Profile

Defect #1385

Undefined method value_was for TimeEntryCustomField

Added by S B over 4 years ago. Updated over 4 years ago.

Status:
終了(Closed)
Priority:
通常(Normal)
Assignee:
Target version:
Start date:
07/08/2015
Due date:
% Done:

100%

Estimated time:

Description

When trying to use the plugin WorkTime I have an internal error only if I have a time entry custom field.

Started GET "/redmine/work_time/show/my-project-id?day=8&month=7&prj=false&user=7&year=2015" for 10.1.4.22 at 2015-07-08 09:17:40 +0200
Processing by WorkTimeController#show as HTML
  Parameters: {"day"=>"8", "month"=>"7", "prj"=>"false", "user"=>"7", "year"=>"2015", "id"=>"my-project-id"}
  Current user: myuserid (id=7)
  Rendered plugins/redmine_work_time/app/views/work_time/_select_project.html.erb (17.8ms)
  Rendered plugins/redmine_work_time/app/views/work_time/_select_user.html.erb (1.7ms)
  Rendered plugins/redmine_work_time/app/views/work_time/_user_month_table.html.erb (33.9ms)
  Rendered plugins/redmine_work_time/app/views/work_time/_user_day_table.html.erb (17.5ms)
  Rendered plugins/redmine_work_time/app/views/work_time/show.html.erb within layouts/base (73.9ms)
Completed 500 Internal Server Error in 143ms (ActiveRecord: 9.8ms)

ActionView::Template::Error (undefined method `value_was' for #<TimeEntryCustomField:0x0000000b448c60>):
    166:       nil
    167:     end
    168:   %>
    169:      <td><%= custom_field_tag "new_time_entry["+issue_id.to_s+"][0]", cf %></td>
    170:   <% end %>
    171: </tr>
    172: <%
  lib/redmine/field_format.rb:615:in `possible_custom_value_options'
  lib/redmine/field_format.rb:484:in `select_edit_tag'
  lib/redmine/field_format.rb:454:in `edit_tag'
  app/helpers/custom_fields_helper.rb:73:in `custom_field_tag'

It seems that a custom field of type TimeEntryCustomField does not have the value_was method.

My configuration :

Environment:
  Redmine version                3.0.3.stable
  Ruby version                   1.9.3-p448 (2013-06-27) [x86_64-linux]
  Rails version                  4.2.1
  Environment                    production
  Database adapter               Mysql2
SCM:
  Subversion                     1.6.17
  Git                            1.7.10.4
  Filesystem                     
Redmine plugins:
  redmine_base_deface            0.0.1
  redmine_custom_workflows       0.1.0
  redmine_latex_mathjax          0.1.0
  redmine_maintenance_mode       2.0.1
  redmine_work_time              0.3.0
  redmine_workflow_enhancements  0.4.0

Associated revisions

Revision 396:9d33ff598a3f (diff)
Added by Tomohisa Kusukawa over 4 years ago

fixes #1385 Undefined method value_was for TimeEntryCustomField

Revision 498e338c (diff)
Added by Tomohisa Kusukawa over 4 years ago

fixes #1385 Undefined method value_was for TimeEntryCustomField

Revision 402:8745917bcc15 (diff)
Added by Tomohisa Kusukawa over 4 years ago

fixes #1385 there is no date control for date custom field

Revision 0c01dac4 (diff)
Added by Tomohisa Kusukawa over 4 years ago

fixes #1385 there is no date control for date custom field

History

#1

Updated by S B over 4 years ago

I have made some tests :
  • if the format of the spent time custom field is "User" or "Version" the described error occured when showing the WorkTime plugin.
  • if the format of the spent time custom field is Text, Boolean, Number... there is no error and we can see the custom field in the table displayed by the Worktime plugin.

The Redmine Team said the error is not in Redmine Core : http://www.redmine.org/issues/20270#note-1

The error message indicates that the error occured in plugins/redmine_work_time/app/views/work_time/_user_day_table.html.erb:

  <%@custom_fields.each do |cf|
    def cf.custom_field
      return self
    end
    def cf.value
      return self.default_value
    end
    def cf.true?
      return self.default_value
    end
    def cf.customized
      nil
    end
  %>
     <td><%= custom_field_tag "new_time_entry["+issue_id.to_s+"][0]", cf %></td>
  <% end %>

I have made other test on the code of the plugin:
  • If I replace custom_field_tag by custom_field_tag_for_bulk_edit there is no error.
#2

Updated by Tomohisa Kusukawa over 4 years ago

  • Status changed from 新規(New) to 解決(Resolved)
  • % Done changed from 0 to 100

更新履歴 commit:9d33ff598a3f で適用されました。

#3

Updated by Tomohisa Kusukawa over 4 years ago

  • Assignee set to S B
  • Target version set to 0.3.1

Hi, S B.

Thank you so much for your report!

It's fixed in commit:9d33ff598a3f .

Could you to try recent repository of Bitbucket ,if you have time.

#4

Updated by S B over 4 years ago

Hi Tomohisa,

I have tried the last repository (https://bitbucket.org/tkusukawa/redmine_work_time/get/18b904e63cc2.zip): the bug is fixed.

Changing the value of the custom field works : we have the list control if applicable.
Adding a ticket on the worktime sheet works also.

The only thing is that there is no date control for date custom field : we have a textbox control, not a calendar.

Thanks you !

#5

Updated by Tomohisa Kusukawa over 4 years ago

Thank you so much again, S B.

I fixes reported(date custom field) problem at commit:8745917bcc15 .

If you have any other problem, please let me know.

#6

Updated by Tomohisa Kusukawa over 4 years ago

  • Status changed from 解決(Resolved) to 終了(Closed)

Also available in: Atom PDF