Bug 12404: Allow equal sign '=' in the TT directive
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 5 Nov 2014 16:10:58 +0000 (17:10 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 27 Apr 2015 13:43:23 +0000 (10:43 -0300)
Signed-off-by: Courret <scourret@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/Record.pm
t/db_dependent/Record/marcrecord2csv.t

index 84ec612..5d894fa 100644 (file)
@@ -462,7 +462,7 @@ sub marcrecord2csv {
    # Separating the marcfields from the user-supplied headers
     my @csv_structures;
     foreach (@marcfieldsarray) {
-        my @result = split('=', $_);
+        my @result = split('=', $_, 2);
         my $content = ( @result == 2 )
             ? $result[1]
             : $result[0];
@@ -516,7 +516,7 @@ sub marcrecord2csv {
                 my $tag = $tags->[0];
                 if ( $tag->{subfieldtag} ) {
                     my $query = "SELECT liblibrarian FROM marc_subfield_structure WHERE tagfield=? AND tagsubfield=?";
-                    my @results = $dbh->selectrow_array( $query, {}, $tag->{subfieldtag} );
+                    my @results = $dbh->selectrow_array( $query, {}, $tag->{fieldtag}, $tag->{subfieldtag} );
                     push @marcfieldsheaders, $results[0];
                 } else {
                     my $query = "SELECT liblibrarian FROM marc_tag_structure WHERE tagfield=?";
index aa4baec..2ed797b 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl;
 
 use Modern::Perl;
-use Test::More tests => 8;
+use Test::More tests => 9;
 use Test::MockModule;
 use MARC::Record;
 use MARC::Field;
@@ -79,6 +79,15 @@ is( $csv_output, q[Title
 "The art of computer programming"
 ], q|TT way: display first subfield a for first field 245 if indicator 1 for field 100 is set| );
 
+$csv_content = q|Title=[% IF fields.100.0.indicator.1 == 1 %][% fields.245.0.a.0 %][% END %]|;
+my $csv_profile_id_7 = insert_csv_profile({ csv_content => $csv_content });
+
+$csv_output = C4::Record::marcrecord2csv( $biblionumber, $csv_profile_id_7, 1, $csv );
+is( $csv_output, q[Title
+"The art of computer programming"
+], q|TT way: display first subfield a for first field 245 if indicator 1 == 1 for field 100 is set| );
+
+
 sub insert_csv_profile {
     my ( $params ) = @_;
     my $csv_content = $params->{csv_content};