@@ -107,14 +107,14 module TimelogHelper | |||
|
107 | 107 | # Column headers |
|
108 | 108 | headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) } |
|
109 | 109 | headers += report.periods |
|
110 | headers << l(:label_total) | |
|
110 | headers << l(:label_total_time) | |
|
111 | 111 | csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8( |
|
112 | 112 | c.to_s, |
|
113 | 113 | l(:general_csv_encoding) ) } |
|
114 | 114 | # Content |
|
115 | 115 | report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours) |
|
116 | 116 | # Total row |
|
117 | str_total = Redmine::CodesetUtil.from_utf8(l(:label_total), l(:general_csv_encoding)) | |
|
117 | str_total = Redmine::CodesetUtil.from_utf8(l(:label_total_time), l(:general_csv_encoding)) | |
|
118 | 118 | row = [ str_total ] + [''] * (report.criteria.size - 1) |
|
119 | 119 | total = 0 |
|
120 | 120 | report.periods.each do |period| |
@@ -5,7 +5,7 entries_by_day = entries.group_by(&:spent_on) | |||
|
5 | 5 | %> |
|
6 | 6 | |
|
7 | 7 | <div class="total-hours"> |
|
8 | <p><%= l(:label_total) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p> | |
|
8 | <p><%= l(:label_total_time) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p> | |
|
9 | 9 | </div> |
|
10 | 10 | |
|
11 | 11 | <% if entries.any? %> |
@@ -13,7 +13,7 | |||
|
13 | 13 | <% end %> |
|
14 | 14 | |
|
15 | 15 | <div class="total-hours"> |
|
16 | <p><%= l(:label_total) %>: <%= html_hours(l_hours(@total_hours)) %></p> | |
|
16 | <p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@total_hours)) %></p> | |
|
17 | 17 | </div> |
|
18 | 18 | |
|
19 | 19 | <% unless @entries.empty? %> |
@@ -30,7 +30,7 | |||
|
30 | 30 | |
|
31 | 31 | <% unless @report.criteria.empty? %> |
|
32 | 32 | <div class="total-hours"> |
|
33 | <p><%= l(:label_total) %>: <%= html_hours(l_hours(@report.total_hours)) %></p> | |
|
33 | <p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@report.total_hours)) %></p> | |
|
34 | 34 | </div> |
|
35 | 35 | |
|
36 | 36 | <% unless @report.hours.empty? %> |
@@ -45,13 +45,13 | |||
|
45 | 45 | <% @report.periods.each do |period| %> |
|
46 | 46 | <th class="period" width="<%= columns_width %>%"><%= period %></th> |
|
47 | 47 | <% end %> |
|
48 | <th class="total" width="<%= columns_width %>%"><%= l(:label_total) %></th> | |
|
48 | <th class="total" width="<%= columns_width %>%"><%= l(:label_total_time) %></th> | |
|
49 | 49 | </tr> |
|
50 | 50 | </thead> |
|
51 | 51 | <tbody> |
|
52 | 52 | <%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %> |
|
53 | 53 | <tr class="total"> |
|
54 | <td><%= l(:label_total) %></td> | |
|
54 | <td><%= l(:label_total_time) %></td> | |
|
55 | 55 | <%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %> |
|
56 | 56 | <% total = 0 -%> |
|
57 | 57 | <% @report.periods.each do |period| -%> |
@@ -1087,3 +1087,4 ar: | |||
|
1087 | 1087 | field_closed_on: Closed |
|
1088 | 1088 | field_generate_password: Generate password |
|
1089 | 1089 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1090 | label_total_time: الإجمالي |
@@ -1184,3 +1184,4 az: | |||
|
1184 | 1184 | field_closed_on: Closed |
|
1185 | 1185 | field_generate_password: Generate password |
|
1186 | 1186 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1187 | label_total_time: Cəmi |
@@ -1084,3 +1084,4 bg: | |||
|
1084 | 1084 | description_date_from: Въведете начална дата |
|
1085 | 1085 | description_date_to: Въведете крайна дата |
|
1086 | 1086 | text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.' |
|
1087 | label_total_time: Общо |
@@ -1100,3 +1100,4 bs: | |||
|
1100 | 1100 | field_closed_on: Closed |
|
1101 | 1101 | field_generate_password: Generate password |
|
1102 | 1102 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1103 | label_total_time: Ukupno |
@@ -1089,3 +1089,4 ca: | |||
|
1089 | 1089 | field_closed_on: Closed |
|
1090 | 1090 | field_generate_password: Generate password |
|
1091 | 1091 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1092 | label_total_time: Total |
@@ -1091,3 +1091,4 cs: | |||
|
1091 | 1091 | field_closed_on: Uzavřeno |
|
1092 | 1092 | field_generate_password: Generovat heslo |
|
1093 | 1093 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1094 | label_total_time: Celkem |
@@ -1104,3 +1104,4 da: | |||
|
1104 | 1104 | field_closed_on: Closed |
|
1105 | 1105 | field_generate_password: Generate password |
|
1106 | 1106 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1107 | label_total_time: Total |
@@ -1099,4 +1099,4 de: | |||
|
1099 | 1099 | version_status_open: offen |
|
1100 | 1100 | |
|
1101 | 1101 | warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden." |
|
1102 | ||
|
1102 | label_total_time: Gesamtzeit |
@@ -1087,3 +1087,4 el: | |||
|
1087 | 1087 | field_closed_on: Closed |
|
1088 | 1088 | field_generate_password: Generate password |
|
1089 | 1089 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1090 | label_total_time: Σύνολο |
@@ -1089,3 +1089,4 en-GB: | |||
|
1089 | 1089 | field_closed_on: Closed |
|
1090 | 1090 | field_generate_password: Generate password |
|
1091 | 1091 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1092 | label_total_time: Total |
@@ -619,6 +619,7 en: | |||
|
619 | 619 | one: 1 issue |
|
620 | 620 | other: "%{count} issues" |
|
621 | 621 | label_total: Total |
|
622 | label_total_time: Total time | |
|
622 | 623 | label_permissions: Permissions |
|
623 | 624 | label_current_status: Current status |
|
624 | 625 | label_new_statuses_allowed: New statuses allowed |
@@ -1123,3 +1123,4 es: | |||
|
1123 | 1123 | field_closed_on: Closed |
|
1124 | 1124 | field_generate_password: Generate password |
|
1125 | 1125 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1126 | label_total_time: Total |
@@ -1100,3 +1100,4 et: | |||
|
1100 | 1100 | field_closed_on: Closed |
|
1101 | 1101 | field_generate_password: Generate password |
|
1102 | 1102 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1103 | label_total_time: "Kokku" |
@@ -1088,3 +1088,4 eu: | |||
|
1088 | 1088 | field_closed_on: Closed |
|
1089 | 1089 | field_generate_password: Generate password |
|
1090 | 1090 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1091 | label_total_time: Guztira |
@@ -1089,3 +1089,4 fa: | |||
|
1089 | 1089 | field_closed_on: Closed |
|
1090 | 1090 | field_generate_password: Generate password |
|
1091 | 1091 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1092 | label_total_time: جمله |
@@ -1108,3 +1108,4 fi: | |||
|
1108 | 1108 | field_closed_on: Closed |
|
1109 | 1109 | field_generate_password: Generate password |
|
1110 | 1110 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1111 | label_total_time: Yhteensä |
@@ -613,6 +613,7 fr: | |||
|
613 | 613 | one: 1 demande |
|
614 | 614 | other: "%{count} demandes" |
|
615 | 615 | label_total: Total |
|
616 | label_total_time: Temps total | |
|
616 | 617 | label_permissions: Permissions |
|
617 | 618 | label_current_status: Statut actuel |
|
618 | 619 | label_new_statuses_allowed: Nouveaux statuts autorisés |
@@ -1098,3 +1098,4 gl: | |||
|
1098 | 1098 | field_closed_on: Closed |
|
1099 | 1099 | field_generate_password: Generate password |
|
1100 | 1100 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1101 | label_total_time: Total |
@@ -1092,3 +1092,4 he: | |||
|
1092 | 1092 | field_closed_on: Closed |
|
1093 | 1093 | field_generate_password: Generate password |
|
1094 | 1094 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1095 | label_total_time: סה"כ |
@@ -1088,3 +1088,4 hr: | |||
|
1088 | 1088 | field_closed_on: Closed |
|
1089 | 1089 | field_generate_password: Generate password |
|
1090 | 1090 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1091 | label_total_time: Ukupno |
@@ -1106,3 +1106,4 | |||
|
1106 | 1106 | field_closed_on: Closed |
|
1107 | 1107 | field_generate_password: Generate password |
|
1108 | 1108 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1109 | label_total_time: Összesen |
@@ -1091,3 +1091,4 id: | |||
|
1091 | 1091 | field_closed_on: Closed |
|
1092 | 1092 | field_generate_password: Generate password |
|
1093 | 1093 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1094 | label_total_time: Total |
@@ -1088,3 +1088,4 it: | |||
|
1088 | 1088 | field_closed_on: Closed |
|
1089 | 1089 | field_generate_password: Generate password |
|
1090 | 1090 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1091 | label_total_time: Totale |
@@ -1116,3 +1116,4 ja: | |||
|
1116 | 1116 | field_inherit_members: メンバーを継承 |
|
1117 | 1117 | field_closed_on: 終了日 |
|
1118 | 1118 | field_generate_password: パスワードを自動生成 |
|
1119 | label_total_time: 合計 |
@@ -1137,3 +1137,4 ko: | |||
|
1137 | 1137 | field_closed_on: Closed |
|
1138 | 1138 | field_generate_password: Generate password |
|
1139 | 1139 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1140 | label_total_time: 합계 |
@@ -1146,3 +1146,4 lt: | |||
|
1146 | 1146 | field_closed_on: Closed |
|
1147 | 1147 | field_generate_password: Generate password |
|
1148 | 1148 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1149 | label_total_time: Iš viso |
@@ -1081,3 +1081,4 lv: | |||
|
1081 | 1081 | field_closed_on: Closed |
|
1082 | 1082 | field_generate_password: Generate password |
|
1083 | 1083 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1084 | label_total_time: Kopā |
@@ -1087,3 +1087,4 mk: | |||
|
1087 | 1087 | field_closed_on: Closed |
|
1088 | 1088 | field_generate_password: Generate password |
|
1089 | 1089 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1090 | label_total_time: Вкупно |
@@ -1088,3 +1088,4 mn: | |||
|
1088 | 1088 | field_closed_on: Closed |
|
1089 | 1089 | field_generate_password: Generate password |
|
1090 | 1090 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1091 | label_total_time: Нийт |
@@ -1069,3 +1069,4 nl: | |||
|
1069 | 1069 | field_closed_on: Closed |
|
1070 | 1070 | field_generate_password: Generate password |
|
1071 | 1071 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1072 | label_total_time: Totaal |
@@ -1077,3 +1077,4 | |||
|
1077 | 1077 | field_closed_on: Closed |
|
1078 | 1078 | field_generate_password: Generate password |
|
1079 | 1079 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1080 | label_total_time: Totalt |
@@ -1108,3 +1108,4 pl: | |||
|
1108 | 1108 | field_closed_on: Closed |
|
1109 | 1109 | field_generate_password: Generate password |
|
1110 | 1110 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1111 | label_total_time: Ogółem |
@@ -1107,3 +1107,4 pt-BR: | |||
|
1107 | 1107 | field_closed_on: Fechado |
|
1108 | 1108 | field_generate_password: Gerar senha |
|
1109 | 1109 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1110 | label_total_time: Total |
@@ -1093,3 +1093,4 pt: | |||
|
1093 | 1093 | field_closed_on: Fechado |
|
1094 | 1094 | field_generate_password: Generate password |
|
1095 | 1095 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1096 | label_total_time: Total |
@@ -1082,3 +1082,4 ro: | |||
|
1082 | 1082 | field_closed_on: Closed |
|
1083 | 1083 | field_generate_password: Generate password |
|
1084 | 1084 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1085 | label_total_time: Total |
@@ -1197,3 +1197,4 ru: | |||
|
1197 | 1197 | field_closed_on: Закрыта |
|
1198 | 1198 | field_generate_password: Создание пароля |
|
1199 | 1199 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1200 | label_total_time: Общее время |
@@ -1084,3 +1084,4 sk: | |||
|
1084 | 1084 | field_closed_on: Closed |
|
1085 | 1085 | field_generate_password: Generate password |
|
1086 | 1086 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1087 | label_total_time: Celkovo |
@@ -1087,3 +1087,4 sl: | |||
|
1087 | 1087 | field_closed_on: Closed |
|
1088 | 1088 | field_generate_password: Generate password |
|
1089 | 1089 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1090 | label_total_time: Skupaj |
@@ -1083,3 +1083,4 sq: | |||
|
1083 | 1083 | field_closed_on: Closed |
|
1084 | 1084 | field_generate_password: Generate password |
|
1085 | 1085 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1086 | label_total_time: Total |
@@ -1089,3 +1089,4 sr-YU: | |||
|
1089 | 1089 | field_closed_on: Closed |
|
1090 | 1090 | field_generate_password: Generate password |
|
1091 | 1091 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1092 | label_total_time: Ukupno |
@@ -1088,3 +1088,4 sr: | |||
|
1088 | 1088 | field_closed_on: Closed |
|
1089 | 1089 | field_generate_password: Generate password |
|
1090 | 1090 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1091 | label_total_time: Укупно |
@@ -1125,3 +1125,4 sv: | |||
|
1125 | 1125 | field_closed_on: Closed |
|
1126 | 1126 | field_generate_password: Generate password |
|
1127 | 1127 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1128 | label_total_time: Total |
@@ -1084,3 +1084,4 th: | |||
|
1084 | 1084 | field_closed_on: Closed |
|
1085 | 1085 | field_generate_password: Generate password |
|
1086 | 1086 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1087 | label_total_time: จำนวนรวม |
@@ -1106,3 +1106,4 tr: | |||
|
1106 | 1106 | field_closed_on: Closed |
|
1107 | 1107 | field_generate_password: Generate password |
|
1108 | 1108 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1109 | label_total_time: Toplam |
@@ -1082,3 +1082,4 uk: | |||
|
1082 | 1082 | field_closed_on: Closed |
|
1083 | 1083 | field_generate_password: Generate password |
|
1084 | 1084 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1085 | label_total_time: Всього |
@@ -1140,3 +1140,4 vi: | |||
|
1140 | 1140 | field_closed_on: Đã đóng |
|
1141 | 1141 | field_generate_password: Generate password |
|
1142 | 1142 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1143 | label_total_time: Tổng cộng |
@@ -1167,3 +1167,4 | |||
|
1167 | 1167 | description_date_to: 輸入結束日期 |
|
1168 | 1168 | text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。' |
|
1169 | 1169 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1170 | label_total_time: 總計 |
@@ -1091,3 +1091,4 zh: | |||
|
1091 | 1091 | field_closed_on: Closed |
|
1092 | 1092 | field_generate_password: Generate password |
|
1093 | 1093 | setting_default_projects_tracker_ids: Default trackers for new projects |
|
1094 | label_total_time: 合计 |
@@ -140,7 +140,7 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
140 | 140 | assert_select 'th:nth-child(2)', :text => '2009-52' |
|
141 | 141 | assert_select 'th:nth-child(3)', :text => '2009-53' |
|
142 | 142 | assert_select 'th:nth-child(4)', :text => '2010-1' |
|
143 | assert_select 'th:nth-child(5)', :text => 'Total' | |
|
143 | assert_select 'th:nth-child(5)', :text => 'Total time' | |
|
144 | 144 | end |
|
145 | 145 | assert_select '#time-report tbody tr' do |
|
146 | 146 | assert_select 'td:nth-child(1)', :text => 'eCookbook' |
@@ -206,9 +206,9 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
206 | 206 | assert_equal 'text/csv; header=present', @response.content_type |
|
207 | 207 | lines = @response.body.chomp.split("\n") |
|
208 | 208 | # Headers |
|
209 | assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first | |
|
209 | assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first | |
|
210 | 210 | # Total row |
|
211 | assert_equal 'Total,"","",154.25,8.65,162.90', lines.last | |
|
211 | assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last | |
|
212 | 212 | end |
|
213 | 213 | |
|
214 | 214 | def test_report_csv_export |
@@ -219,9 +219,9 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
219 | 219 | assert_equal 'text/csv; header=present', @response.content_type |
|
220 | 220 | lines = @response.body.chomp.split("\n") |
|
221 | 221 | # Headers |
|
222 | assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first | |
|
222 | assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first | |
|
223 | 223 | # Total row |
|
224 | assert_equal 'Total,"","",154.25,8.65,162.90', lines.last | |
|
224 | assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last | |
|
225 | 225 | end |
|
226 | 226 | |
|
227 | 227 | def test_csv_big_5 |
@@ -348,8 +348,8 class TimeEntryReportsControllerTest < ActionController::TestCase | |||
|
348 | 348 | assert_equal 'text/csv; header=present', @response.content_type |
|
349 | 349 | lines = @response.body.chomp.split("\n") |
|
350 | 350 | # Headers |
|
351 | s1 = "Utilisateur;2011-11-11;Total" | |
|
352 | s2 = "Total" | |
|
351 | s1 = "Utilisateur;2011-11-11;Temps total" | |
|
352 | s2 = "Temps total" | |
|
353 | 353 | if s1.respond_to?(:force_encoding) |
|
354 | 354 | s1.force_encoding('ISO-8859-1') |
|
355 | 355 | s2.force_encoding('ISO-8859-1') |
General Comments 0
You need to be logged in to leave comments.
Login now