From: Matthias Meusburger <[email protected]>

Add user-defined headers
Add CSV, field and subfield separator selection
---
 C4/Record.pm                                       |   26 +++++++
 installer/data/mysql/updatedatabase.pl             |    2 -
 .../prog/en/modules/tools/csv-profiles.tmpl        |   74 ++++++++++++++++++++
 tools/csv-profiles.pl                              |    1 +
 4 files changed, 101 insertions(+), 2 deletions(-)

diff --git a/C4/Record.pm b/C4/Record.pm
index 7c3fcc5..b41a34f 100644
--- a/C4/Record.pm
+++ b/C4/Record.pm
@@ -355,6 +355,7 @@ sub marc2csv {
     my ($biblio, $id, $header) = @_;
     my $output;
 
+<<<<<<< HEAD:C4/Record.pm
     # Getting the record
     my $record = GetMarcBiblio($biblio);
 
@@ -367,6 +368,11 @@ sub marc2csv {
     # Getting output encoding
     my $encoding          = $profile->{encoding} || 'utf8';
 
+=======
+    # Get the information about the csv profile
+    my $profile = GetCsvProfile($id);
+
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
     # Getting separators
     my $csvseparator      = $profile->{csv_separator}      || ',';
     my $fieldseparator    = $profile->{field_separator}    || '#';
@@ -378,8 +384,12 @@ sub marc2csv {
     if ($subfieldseparator eq '\t') { $subfieldseparator = "\t" }
 
     # Init CSV
+<<<<<<< HEAD:C4/Record.pm
     my $csv = Text::CSV::Encoded->new({ sep_char => $csvseparator });
     $csv = $csv->encoding_out($encoding) if ($encoding ne 'utf8');
+=======
+    my $csv = Text::CSV->new({ sep_char => $csvseparator });
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
 
     # Getting the marcfields
     my $marcfieldslist = $profile->{marcfields};
@@ -412,6 +422,10 @@ sub marc2csv {
            if (exists $_->{header}) {
                    push @marcfieldsheaders, $_->{header};
            } else {
+<<<<<<< HEAD:C4/Record.pm
+=======
+warn "else";
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
                # If not, we get the matching tag name from koha
                if (index($field, '$') > 0) {
                    my ($fieldtag, $subfieldtag) = split('\$', $field);
@@ -419,12 +433,20 @@ sub marc2csv {
                    my $sth = $dbh->prepare($query);
                    $sth->execute($fieldtag, $subfieldtag);
                    my @results = $sth->fetchrow_array();
+<<<<<<< HEAD:C4/Record.pm
+=======
+warn "subfield $fieldtag, $subfieldtag";
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
                    push @marcfieldsheaders, $results[0];
                } else {
                    my $query = "SELECT liblibrarian FROM marc_tag_structure 
WHERE tagfield=?";
                    my $sth = $dbh->prepare($query);
                    $sth->execute($field);
                    my @results = $sth->fetchrow_array();
+<<<<<<< HEAD:C4/Record.pm
+=======
+warn "field $results[0]";
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
                    push @marcfieldsheaders, $results[0];
                }
            }
@@ -459,8 +481,12 @@ sub marc2csv {
        # Or a field
        } else {
            my @fields = ($record->field($marcfield));
+<<<<<<< HEAD:C4/Record.pm
            my $authvalues = GetKohaAuthorisedValuesFromField($marcfield, 
undef, $frameworkcode, undef);
            push (@fieldstab, join($fieldseparator, map((defined 
$authvalues->{$_->as_string}) ? $authvalues->{$_->as_string} : $_->as_string, 
@fields)));              
+=======
+           push (@fieldstab, join($fieldseparator, map($_->as_string(), 
@fields)));            
+>>>>>>> MT2116: Addons to the CSV export:C4/Record.pm
         }
     };
 
diff --git a/installer/data/mysql/updatedatabase.pl 
b/installer/data/mysql/updatedatabase.pl
index 7bd1536..9f4c149 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -1,5 +1,3 @@
--      $dbh->do("ALTER TABLE issuingrules ADD COLUMN `finedays` int(11) 
default NULL AFTER `fine` ");
--      print "Upgrade done (Adding finedays in issuingrules table)\n";
 #!/usr/bin/perl
 
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tmpl 
b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tmpl
index 1b21c05..e10f47b 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tmpl
@@ -140,6 +140,42 @@ function reloadPage(p) {
                                                    <br /><br />
 
 
+                                                   <label for="csv">CSV 
separator :</label>
+                                                   <select 
name="csv_separator">
+                                                       <option value=";">Colon 
(:)</option>
+                                                       <option value="," 
selected="selected">Comma (,)</option>
+                                                       <option value="|">Pipe 
(|)</option>
+                                                       <option 
value=";">Semi-colon (;)</option>
+                                                       <option value="#">Sharp 
(#)</option>
+                                                       <option value=" ">Space 
( )</option>
+                                                       <option 
value="\t">Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
+                                                   <label 
for="field_separator">Field separator :</label>
+                                                   <select 
name="field_separator">
+                                                       <option value=";">Colon 
(:)</option>
+                                                       <option value=",">Comma 
(,)</option>
+                                                       <option value="|">Pipe 
(|)</option>
+                                                       <option 
value=";">Semi-colon (;)</option>
+                                                       <option value="#" 
selected="selected">Sharp (#)</option>
+                                                       <option value=" ">Space 
( )</option>
+                                                       <option 
value="\t">Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
+                                                   <label 
for="subfield_separator">Subfield separator :</label>
+                                                   <select 
name="subfield_separator">
+                                                       <option value=";">Colon 
(:)</option>
+                                                       <option value=",">Comma 
(,)</option>
+                                                       <option value="|" 
selected="selected">Pipe (|)</option>
+                                                       <option 
value=";">Semi-colon (;)</option>
+                                                       <option value="#">Sharp 
(#)</option>
+                                                       <option value=" ">Space 
( )</option>
+                                                       <option 
value="\t">Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
                                                    <label 
for="profile_content">Profile marcfields :</label>
                                                    <textarea cols="50" 
rows="2" name="profile_content" id="profile_content"></textarea>
                                                    <p>You have to define which 
fields or subfields you want to export, separated by pipes.<br />
@@ -253,6 +289,44 @@ function reloadPage(p) {
 
 
 
+                                                   <label for="csv">CSV 
separator :</label>
+                                                   <select 
name="csv_separator">
+                                                       <option value=";">Colon 
(:)</option>
+                                                       <option value=","<!-- 
TMPL_IF EXPR="selected_csv_separator eq ','" --> selected="selected"<!-- 
/TMPL_IF -->>Comma (,)</option>
+                                                       <option value="|"<!-- 
TMPL_IF EXPR="selected_csv_separator eq '|'" --> selected="selected"<!-- 
/TMPL_IF -->>Pipe (|)</option>
+                                                       <option value=";"<!-- 
TMPL_IF EXPR="selected_csv_separator eq ';'" --> selected="selected"<!-- 
/TMPL_IF -->>Semi-colon (;)</option>
+                                                       <option value="#"<!-- 
TMPL_IF EXPR="selected_csv_separator eq '#'" --> selected="selected"<!-- 
/TMPL_IF -->>Sharp (#)</option>
+                                                       <option value=" "<!-- 
TMPL_IF EXPR="selected_csv_separator eq ' '" --> selected="selected"<!-- 
/TMPL_IF -->>Space ( )</option>
+                                                       <option value="\t"<!-- 
TMPL_IF EXPR="selected_csv_separator eq '\t'" --> selected="selected"<!-- 
/TMPL_IF -->>Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
+
+                                                   <label 
for="field_separator">Field separator :</label>
+                                                   <select 
name="field_separator">
+                                                        <option 
value=";">Colon (:)</option>
+                                                        <option value=","<!-- 
TMPL_IF EXPR="selected_field_separator eq ','" --> selected="selected"<!-- 
/TMPL_IF -->>Comma (,)</option>
+                                                        <option value="|"<!-- 
TMPL_IF EXPR="selected_field_separator eq '|'" --> selected="selected"<!-- 
/TMPL_IF -->>Pipe (|)</option>
+                                                        <option value=";"<!-- 
TMPL_IF EXPR="selected_field_separator eq ';'" --> selected="selected"<!-- 
/TMPL_IF -->>Semi-colon (;)</option>
+                                                        <option value="#"<!-- 
TMPL_IF EXPR="selected_field_separator eq '#'" --> selected="selected"<!-- 
/TMPL_IF -->>Sharp (#)</option>
+                                                        <option value=" "<!-- 
TMPL_IF EXPR="selected_field_separator eq ' '" --> selected="selected"<!-- 
/TMPL_IF -->>Space ( )</option>
+                                                        <option value="\t"<!-- 
TMPL_IF EXPR="selected_field_separator eq '\t'" --> selected="selected"<!-- 
/TMPL_IF -->>Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
+                                                   <label 
for="subfield_separator">Subfield separator :</label>
+                                                   <select 
name="subfield_separator">
+                                                        <option 
value=";">Colon (:)</option>
+                                                        <option value=","<!-- 
TMPL_IF EXPR="selected_subfield_separator eq ','" --> selected="selected"<!-- 
/TMPL_IF -->>Comma (,)</option>
+                                                        <option value="|"<!-- 
TMPL_IF EXPR="selected_subfield_separator eq '|'" --> selected="selected"<!-- 
/TMPL_IF -->>Pipe (|)</option>
+                                                        <option value=";"<!-- 
TMPL_IF EXPR="selected_subfield_separator eq ';'" --> selected="selected"<!-- 
/TMPL_IF -->>Semi-colon (;)</option>
+                                                        <option value="#"<!-- 
TMPL_IF EXPR="selected_subfield_separator eq '#'" --> selected="selected"<!-- 
/TMPL_IF -->>Sharp (#)</option>
+                                                        <option value=" "<!-- 
TMPL_IF EXPR="selected_subfield_separator eq ' '" --> selected="selected"<!-- 
/TMPL_IF -->>Space ( )</option>
+                                                        <option value="\t"<!-- 
TMPL_IF EXPR="selected_subfield_separator eq '\t'" --> selected="selected"<!-- 
/TMPL_IF -->>Tabulation (\t)</option>
+                                                   </select>
+                                                   <br /><br />
+
+
                                                    <label 
for="modify_profile_content">Profile marcfields :</label>
                                                    <textarea cols="50" 
rows="2" name="profile_content" id="modify_profile_content"><!-- TMPL_VAR 
NAME="selected_profile_marcfields" --></textarea></li>
                                                    
diff --git a/tools/csv-profiles.pl b/tools/csv-profiles.pl
index 15b90de..ad48cee 100755
--- a/tools/csv-profiles.pl
+++ b/tools/csv-profiles.pl
@@ -114,6 +114,7 @@ if ($profile_name && $profile_content && $action) {
 
        $sth->execute($id);
        my $selected_profile = $sth->fetchrow_arrayref();
+       warn "value : " . $selected_profile->[4];
        $template->param(
            selected_profile_id          => $selected_profile->[0],
            selected_profile_name        => $selected_profile->[1],
-- 
1.6.3.3

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches

Reply via email to