Project

General

Profile

Actions

Defect #32500

closed

Spent time report csv shows translation missing text if custom fields are involved

Added by Guillermo ML about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Time tracking
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

To reproduce the error:
  1. Create a spent time's custom field (list format) with two values. In this example it was named Perfil, with values Perfil1 and Perfil2
  2. Log some time, with different Perfil values.
  3. Go to Spent Time > Report
  4. Group by custom field Perfil

The report on the page looks fine, but if you export it using the CSV link it shows a translation missing: en.Perfil message at first column, first row:

If you choose another language the message will change accordingly: translation missing: es.Perfil, translation missing: gl.Perfil, etc...

My environment:

Environment:
  Redmine version                4.0.5.stable
  Ruby version                   2.5.7-p206 (2019-10-01) [x86_64-linux]
  Rails version                  5.2.3
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Subversion                     1.12.2
  Cvs                            1.12.13
  Git                            2.19.1
  Filesystem                     
Redmine plugins:
  no plugin installed


Files

error.translation-missing.timelog.csv.png (37.8 KB) error.translation-missing.timelog.csv.png Guillermo ML, 2019-11-21 17:43
fix-32500.patch (1.53 KB) fix-32500.patch Yuichi HARADA, 2019-12-05 08:01
Actions #1

Updated by Go MAEDA about 5 years ago

  • Status changed from New to Confirmed
Actions #2

Updated by Yuichi HARADA about 5 years ago

Changed method l to l_or_humanize . I attached a patch.

diff --git a/app/helpers/timelog_helper.rb b/app/helpers/timelog_helper.rb
index 019b441a0..2c3e500a5 100644
--- a/app/helpers/timelog_helper.rb
+++ b/app/helpers/timelog_helper.rb
@@ -79,7 +79,7 @@ module TimelogHelper
   def report_to_csv(report)
     Redmine::Export::CSV.generate(:encoding => params[:encoding]) do |csv|
       # Column headers
-      headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
+      headers = report.criteria.collect {|criteria| l_or_humanize(report.available_criteria[criteria][:label]) }
       headers += report.periods
       headers << l(:label_total_time)
       csv << headers
Actions #3

Updated by Go MAEDA about 5 years ago

  • Category changed from Custom fields to Time tracking
  • Target version set to 4.0.6

I have confirmed that the patch fixes the issue.

Setting the target version to 4.0.6.

Actions #4

Updated by Guillermo ML about 5 years ago

Go MAEDA wrote:

I have confirmed that the patch fixes the issue.

The patch also worked for us. Now it shows Perfil instead of translation missing: en.Perfil. CSV output is the same as html.
Many thanks to Yuichi HARADA and Go MAEDA.

Actions #5

Updated by Go MAEDA about 5 years ago

  • Status changed from Confirmed to Closed
  • Assignee set to Go MAEDA
  • Resolution set to Fixed

Committed the fix. Thank you all for your contribution.

Actions

Also available in: Atom PDF