From 5f9f484fadbdc28be6b0c6b9ab0b67b6fd4d0e9c Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Wed, 20 Jul 2005 09:14:24 +0000 Subject: Bug 257767: Option to have fields in CSV files separated by semicolons instead of commas - Patch by Marc Schumann r=LpSolit a=myk --- template/en/default/filterexceptions.pl | 4 +- template/en/default/global/code-error.html.tmpl | 4 ++ template/en/default/global/setting-descs.none.tmpl | 1 + template/en/default/list/list.csv.tmpl | 11 +++-- template/en/default/reports/chart.csv.tmpl | 11 +++-- template/en/default/reports/report-table.csv.tmpl | 51 +++++++++++----------- 6 files changed, 48 insertions(+), 34 deletions(-) (limited to 'template') diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl index eb6d32aef..cf98ea8e2 100644 --- a/template/en/default/filterexceptions.pl +++ b/template/en/default/filterexceptions.pl @@ -135,7 +135,7 @@ 'reports/report-table.csv.tmpl' => [ 'num_bugs', 'data.$tbl.$col.$row', - 'title', + 'colsepchar', ], 'reports/report-table.html.tmpl' => [ @@ -190,6 +190,7 @@ 'reports/chart.csv.tmpl' => [ 'data.$j.$i', + 'colsepchar', ], 'reports/create-chart.html.tmpl' => [ @@ -231,6 +232,7 @@ 'list/list.csv.tmpl' => [ 'bug.bug_id', + 'colsepchar', ], 'list/list.js.tmpl' => [ diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index 5ad057061..9d9422ad5 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -260,6 +260,10 @@ option. Setting names must begin with a letter, and contain only letters, digits, or the symbols '_', '-', '.', or ':'. + [% ELSIF error == "setting_value_invalid" %] + The value "[% value FILTER html %]" is not in the list of + legal values for the [% name FILTER html %] setting. + [% ELSIF error == "token_generation_error" %] Something is seriously wrong with the token generation system. diff --git a/template/en/default/global/setting-descs.none.tmpl b/template/en/default/global/setting-descs.none.tmpl index 85edc1949..9957cf6a4 100644 --- a/template/en/default/global/setting-descs.none.tmpl +++ b/template/en/default/global/setting-descs.none.tmpl @@ -21,6 +21,7 @@ [% setting_descs = { "comment_sort_order" => "When viewing $terms.abug, show comments in this order", + "csv_colsepchar" => "Field separator character for CSV files", "display_quips" => "Show a quip at the top of each bug list", "newest_to_oldest" => "Newest to Oldest", "newest_to_oldest_desc_first" => "Newest to Oldest, but keep Description at the top", diff --git a/template/en/default/list/list.csv.tmpl b/template/en/default/list/list.csv.tmpl index 2731b6613..76df4f4da 100644 --- a/template/en/default/list/list.csv.tmpl +++ b/template/en/default/list/list.csv.tmpl @@ -23,19 +23,22 @@ [% PROCESS global/variables.none.tmpl %] [% USE date %] -bug_id, +[% colsepchar = user.settings.csv_colsepchar.value %] + +bug_id [% FOREACH column = displaycolumns %] - [% column FILTER csv %], + [% colsepchar %][% column FILTER csv %] [% END %] [% FOREACH bug = bugs %] - [% bug.bug_id %], + [% bug.bug_id %] [% FOREACH column = displaycolumns %] + [% colsepchar %] [% IF column == "opendate" OR column == "changeddate" %] [% rawcolumn = column.replace("date", "time") %] [% bug.$column = date.format(bug.$rawcolumn, "%Y-%m-%d %H:%M:%S") %] [% END %] - [% bug.$column FILTER csv %], + [% bug.$column FILTER csv %] [% END %] [% END %] diff --git a/template/en/default/reports/chart.csv.tmpl b/template/en/default/reports/chart.csv.tmpl index 83620bf08..87866dfd6 100644 --- a/template/en/default/reports/chart.csv.tmpl +++ b/template/en/default/reports/chart.csv.tmpl @@ -19,10 +19,12 @@ # Contributor(s): Gervase Markham #%] +[% colsepchar = user.settings.csv_colsepchar.value %] + [% data = chart.data %] -Date\Series, +Date\Series [% FOREACH label = chart.labels %] - [% label FILTER csv %][% "," UNLESS loop.last %] + [% colsepchar %][% label FILTER csv %] [% END %] [%# The data, which is in the correct format for GD, is conceptually the wrong # way round for CSV output. So, we need to invert it here, which is why @@ -32,7 +34,10 @@ Date\Series, [% WHILE i < data.0.size %] [% j = 0 %] [% WHILE j < data.size %] - [% data.$j.$i %][% "," UNLESS (j == data.size - 1) %] + [% IF j > 0 %] + [% colsepchar %] + [% END %] + [% data.$j.$i %] [% j = j + 1 %] [% END %] [% i = i + 1 %] diff --git a/template/en/default/reports/report-table.csv.tmpl b/template/en/default/reports/report-table.csv.tmpl index 42fcd6686..96dca3d58 100644 --- a/template/en/default/reports/report-table.csv.tmpl +++ b/template/en/default/reports/report-table.csv.tmpl @@ -23,51 +23,50 @@ #%] [% PROCESS global/variables.none.tmpl %] +[% colsepchar = user.settings.csv_colsepchar.value %] + [% num_bugs = BLOCK %]Number of [% terms.bugs %][% END %] [% tbl_field_disp = field_descs.$tbl_field || tbl_field %] [% col_field_disp = field_descs.$col_field || col_field %] [% row_field_disp = field_descs.$row_field || row_field %] -[% title = BLOCK %] - [% IF tbl_field %] - [% tbl_field_disp FILTER csv %]: [% tbl FILTER csv %] - - [% END %] - [% IF row_field %] - [% row_field_disp FILTER csv %] - [% END %] - [% " / " IF col_field AND row_field %] - [% col_field_disp FILTER csv %] +[% IF tbl_field %] + [% tbl_field_disp FILTER csv %]: [% tbl FILTER csv %] [% END %] - -[% title %], +[% IF row_field %] + [% row_field_disp FILTER csv %] +[% END %] +[% " / " IF col_field AND row_field %] +[% col_field_disp FILTER csv %] [% IF col_field -%] -[% FOREACH col = col_names -%] - [% IF col_field == 'bug_status' %] - [% status_descs.$col FILTER csv -%] - [% ELSIF col_field == 'resolution' %] - [% resolution_descs.$col FILTER csv -%] - [% ELSE %] - [% col FILTER csv -%], - [% END %] -[% END -%] + [% FOREACH col = col_names -%] + [% colsepchar %] + [% IF col_field == 'bug_status' %] + [% status_descs.$col FILTER csv -%] + [% ELSIF col_field == 'resolution' %] + [% resolution_descs.$col FILTER csv -%] + [% ELSE %] + [% col FILTER csv -%] + [% END %] + [% END -%] [% ELSE -%] - [% num_bugs %], + [% colsepchar %][% num_bugs %] [% END %] [% FOREACH row = row_names %] -[% IF row_field == 'bug_status' %] + [% IF row_field == 'bug_status' %] [% status_descs.$row FILTER csv -%] [% ELSIF row_field == 'resolution' %] [% resolution_descs.$row FILTER csv -%] [% ELSE %] - [% row FILTER csv -%], + [% row FILTER csv -%] [% END %] [% FOREACH col = col_names %] + [% colsepchar %] [% IF data.$tbl AND data.$tbl.$col AND data.$tbl.$col.$row %] - [% data.$tbl.$col.$row -%], + [% data.$tbl.$col.$row -%] [% ELSE %] - [% -%]0, + [% -%]0 [% END %] [% END %] -- cgit v1.2.3-24-g4f1b