Project

General

Profile

Actions

Defect #2248

closed

Problem on Date after editing an Issue

Added by Rodrigo Mesquita almost 16 years ago. Updated almost 16 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Database
Target version:
-
Start date:
2008-11-30
Due date:
% Done:

0%

Estimated time:
Resolution:
Invalid
Affected version:

Description

Hi guys!

I'm determined on make Redmine works with Oracle, so here what i've got:

About my application's environment
Ruby version              1.8.6 (java)
RubyGems version          1.2.0
Rails version             2.1.0
Active Record version     2.1.0
Action Pack version       2.1.0
Active Resource version   2.1.0
Action Mailer version     2.1.0
Active Support version    2.1.0
Subversion                1.5.6
Oracle Database XE
Redmine latest trunk

When i create an issue, the dates of start and due are ok...
The problem occurs when i alter a pre-existing date...

The following message appear on screen:

 ArgumentError in Issues#show

Showing issues/_history.rhtml where line #10 raised:

invalid date

Extracted source (around line #10):

7:     <%= avatar(journal.user, :size => "32") %>
8:     <ul>
9:     <% for detail in journal.details %>
10:        <li><%= show_detail(detail) %></li>
11:     <% end %>
12:     </ul>
13:     <%= render_notes(journal, :reply_links => reply_links) unless journal.notes.blank? %>

Trace of template inclusion: /issues/show.rhtml

RAILS_ROOT: C:/Java/jruby/apps/redmine
Application Trace | Framework Trace | Full Trace

C:/Java/jruby/lib/ruby/1.8/date.rb:727:in `civil'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/string/conversions.rb:19:in `to_date'
app/helpers/issues_helper.rb:55:in `show_detail'
app/views/issues/_history.rhtml:10:in `_run_erb_47app47views47issues47_history46rhtml'
app/views/issues/_history.rhtml:9:in `_run_erb_47app47views47issues47_history46rhtml'
app/views/issues/_history.rhtml:2:in `each'
app/views/issues/_history.rhtml:2:in `_run_erb_47app47views47issues47_history46rhtml'
app/views/issues/show.rhtml:101:in `_run_erb_47app47views47issues47show46rhtml'
app/controllers/issues_controller.rb:105:in `show'
app/controllers/issues_controller.rb:104:in `show'
:1:in `start'

C:/Java/jruby/lib/ruby/1.8/date.rb:727:in `civil'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/string/conversions.rb:19:in `to_date'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:274:in `method_missing'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:175:in `each'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:175:in `method_missing'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:274:in `method_missing'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in `benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in `render_partial'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:35:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:245:in `render_file'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1108:in `render_for_file'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:868:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/layout.rb:251:in `render_with_a_layout'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in `call'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in `custom'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in `call'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in `respond'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in `each'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in `respond'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:107:in `respond_to'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in `call_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in `perform_action_with_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
C:/Java/jruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in `perform_action_with_rescue'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:13:in `perform_action_with_caching'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/query_cache.rb:8:in `cache'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:12:in `perform_action_with_caching'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `process'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in `process_with_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in `process_with_session_management_support'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in `process'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in `handle_request'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:112:in `handle_dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:78:in `service'
C:/Java/jruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/Java/jruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/Java/jruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'

C:/Java/jruby/lib/ruby/1.8/date.rb:727:in `civil'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/string/conversions.rb:19:in `to_date'
app/helpers/issues_helper.rb:55:in `show_detail'
app/views/issues/_history.rhtml:10:in `_run_erb_47app47views47issues47_history46rhtml'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:274:in `method_missing'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:175:in `each'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:175:in `method_missing'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/associations/association_collection.rb:274:in `method_missing'
app/views/issues/_history.rhtml:9:in `_run_erb_47app47views47issues47_history46rhtml'
app/views/issues/_history.rhtml:2:in `each'
app/views/issues/_history.rhtml:2:in `_run_erb_47app47views47issues47_history46rhtml'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in `benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in `render_partial'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in `render'
app/views/issues/show.rhtml:101:in `_run_erb_47app47views47issues47show46rhtml'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:35:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:245:in `render_file'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1108:in `render_for_file'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:868:in `render'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/layout.rb:251:in `render_with_a_layout'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
app/controllers/issues_controller.rb:105:in `show'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in `call'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in `custom'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in `call'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in `respond'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in `each'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in `respond'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:107:in `respond_to'
app/controllers/issues_controller.rb:104:in `show'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in `call_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in `perform_action_with_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
C:/Java/jruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in `perform_action_with_rescue'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:13:in `perform_action_with_caching'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
C:/Java/jruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/query_cache.rb:8:in `cache'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:12:in `perform_action_with_caching'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `process'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in `process_with_filters'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in `process_with_session_management_support'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in `process'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in `handle_request'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
C:/Java/jruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:112:in `handle_dispatch'
C:/Java/jruby/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:78:in `service'
C:/Java/jruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/Java/jruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/Java/jruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
:1:in `start'

Request

Parameters:

{"id"=>"10000"}

Show session dump

--- 
flash: !map:ActionController::Flash::FlashHash 
  :notice: Successful update.
adminprojects_sort: 
  :order: asc
  :key: name
:user_id: 10000

Response

Headers:

{"Cache-Control"=>"no-cache",
 "cookie"=>[],
 "Content-Type"=>"text/html"}

Then, i can't access this issue anymore... its useless.

How can i resolve this? Sorry for my poor English.

Thanks for any help.

Actions #1

Updated by Jean-Philippe Lang almost 16 years ago

  • Category changed from Issues to Database
  • Status changed from New to Closed
  • Resolution set to Invalid

As I told you, Oracle is not supported.
Sorry but I have to close this ticket because I can't help you.

Actions #2

Updated by Rodrigo Mesquita almost 16 years ago

Guys,

I identified the problem. The conversion of dates on issues history at the issues_show screen.
To avoid this problem, i change the file \redmine\app\helpers\issues_helper.rb in the following way:

Created a method:

def formatar_detalhe(valor)
num = valor.length
if num > 9
valor = valor[0,9]
end
return valor.to_s
end

Changed the lines

def show_detail(detail, no_html=false)
case detail.property
when 'attr'
label = l(("field_" + detail.prop_key.to_s.gsub(/\_id$/, "")).to_sym)
case detail.prop_key
when 'due_date', 'start_date'
#Eliminated these conflicting conversions below
  1. value = format_date(detail.value.to_date) if detail.value
  2. old_value = format_date(detail.old_value.to_date) if detail.old_value
  1. Added a manual formatter
    value = formatar_detalhe(detail.value.to_s)
    old_value = formatar_detalhe(detail.old_value.to_s)

This resolved my problem.

In Oracle, i still facing two problems: charset to Brazilian language and timelog reports (due to date conversion problem, that remains unsolved)

Thanks.

Actions

Also available in: Atom PDF