Bug 13635: Unimarc - On editing a notice, the title should be displayed
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 28 Jan 2015 12:03:31 +0000 (13:03 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 5 Mar 2015 15:36:32 +0000 (16:36 +0100)
The title method of MARC::Record does not deal with UNIMARC, it should
not be called if the marc flavour is UNIMARC.

Test plan:
On an unimarc installation, edit a notice, with this patch you should
see
 "Editing TITLE (Record number BIBLIONUMBER)"

Without, the title was not displayed.
Same in the breadcrumbs.

Bug 13635: Remove another useless call

There is another call to the title method in additem.pl without any
check on the marc flavour.
But here the title variable sent to the template is redefined 3 lines
later.
So it can be simply removed.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Tested on UNIMARC install, editing a 'record' (not notice) does not show
title on breadcrumbs, status bar or page title.
With patch it does!
No koha-qa errors.

Signed-off-by: joel aloi <aloi54@live.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
cataloguing/addbiblio.pl
cataloguing/additem.pl

index d969215..93ef3ef 100755 (executable)
@@ -823,7 +823,8 @@ $is_a_modif = 0;
     
 if ($biblionumber) {
     $is_a_modif = 1;
-       $template->param( title => $record->title(), );
+    my $title = C4::Context->preference('marcflavour') eq "UNIMARC" ? $record->subfield('200', 'a') : $record->title;
+    $template->param( title => $title );
 
     # if it's a modif, retrieve bibli and biblioitem numbers for the future modification of old-DB.
     ( $biblionumbertagfield, $biblionumbertagsubfield ) =
@@ -912,8 +913,10 @@ if ( $op eq "addbiblio" ) {
             done         =>1,
             popup        =>1
           );
-          $template->param( title => $record->subfield('200',"a") ) if ($record ne "-1" && C4::Context->preference('marcflavour') =~/unimarc/i);
-          $template->param( title => $record->title() ) if ($record ne "-1" && C4::Context->preference('marcflavour') eq "usmarc");
+          if ( $record ne '-1' ) {
+              my $title = C4::Context->preference('marcflavour') eq "UNIMARC" ? $record->subfield('200', 'a') : $record->title;
+              $template->param( title => $title );
+          }
           $template->param(
             popup => $mode,
             itemtype => $frameworkcode,
@@ -983,7 +986,10 @@ elsif ( $op eq "delete" ) {
     );
 }
 
-$template->param( title => $record->title() ) if ( $record ne "-1" );
+if ( $record ne '-1' ) {
+    my $title = C4::Context->preference('marcflavour') eq "UNIMARC" ? $record->subfield('200', 'a') : $record->title;
+    $template->param( title => $title );
+}
 $template->param(
     popup => $mode,
     frameworkcode => $frameworkcode,
index 9c7fb3f..d127179 100755 (executable)
@@ -847,7 +847,6 @@ foreach my $tag ( keys %{$tagslib}){
 @loop_data = sort {$a->{subfield} cmp $b->{subfield} } @loop_data;
 
 # what's the next op ? it's what we are not in : an add if we're editing, otherwise, and edit.
-$template->param( title => $record->title() ) if ($record ne "-1");
 $template->param(
     biblionumber => $biblionumber,
     title        => $oldrecord->{title},