View | Details | Raw Unified | Return to bug 18138
Collapse All | Expand All

(-)a/cataloguing/addbiblio.pl (-6 / +10 lines)
Lines 45-52 use C4::ClassSource qw( GetClassSources ); Link Here
45
use C4::ImportBatch qw( GetImportRecordMarc );
45
use C4::ImportBatch qw( GetImportRecordMarc );
46
use C4::Charset qw( SetMarcUnicodeFlag );
46
use C4::Charset qw( SetMarcUnicodeFlag );
47
use C4::MarcModificationTemplates;
47
use C4::MarcModificationTemplates;
48
use Koha::MarcModificationTemplates;
48
use Koha::BiblioFrameworks;
49
use Koha::BiblioFrameworks;
49
use Koha::DateUtils qw( dt_from_string );
50
use Koha::DateUtils qw( dt_from_string );
51
use Carp;
50
52
51
use Koha::ItemTypes;
53
use Koha::ItemTypes;
52
use Koha::Libraries;
54
use Koha::Libraries;
Lines 56-62 use Koha::BiblioFrameworks; Link Here
56
use MARC::File::USMARC;
58
use MARC::File::USMARC;
57
use MARC::File::XML;
59
use MARC::File::XML;
58
use URI::Escape qw( uri_escape_utf8 );
60
use URI::Escape qw( uri_escape_utf8 );
59
use List::MoreUtils qw(firstval);
60
61
61
if ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) {
62
if ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) {
62
    MARC::File::XML->default_record_format('UNIMARC');
63
    MARC::File::XML->default_record_format('UNIMARC');
Lines 860-875 if ( $op eq "addbiblio" ) { Link Here
860
    # it is not a duplicate (determined either by Koha itself or by user checking it's not a duplicate)
861
    # it is not a duplicate (determined either by Koha itself or by user checking it's not a duplicate)
861
    if ( !$duplicatebiblionumber or $confirm_not_duplicate ) {
862
    if ( !$duplicatebiblionumber or $confirm_not_duplicate ) {
862
        my $oldbibitemnum;
863
        my $oldbibitemnum;
863
        my $marc_modification_template_name = C4::Context->preference("SaveBiblioMarcModificationTemplate");
864
864
        if ($marc_modification_template_name) {
865
        my $template_id = C4::Context->preference("SaveBiblioMarcModificationTemplate");
865
            my $template = firstval { $_->{'name'} eq $marc_modification_template_name } GetModificationTemplates();
866
        print STDERR "ID IS: $template_id";
867
        if ($template_id) {
868
            my $template = Koha::MarcModificationTemplates->find($template_id);
866
            if ($template) {
869
            if ($template) {
867
                ModifyRecordWithTemplate($template->{'template_id'}, $record);
870
                ModifyRecordWithTemplate($template_id, $record);
868
            }
871
            }
869
            else {
872
            else {
870
                warn "No MARC modification template exists with name \"$marc_modification_template_name\"";
873
                croak "No MARC modification template exists with id \"$template_id\"";
871
            }
874
            }
872
        }
875
        }
876
873
        if ( $is_a_modif ) {
877
        if ( $is_a_modif ) {
874
            ModBiblio( $record, $biblionumber, $frameworkcode );
878
            ModBiblio( $record, $biblionumber, $frameworkcode );
875
        }
879
        }
(-)a/svc/bib (-6 / +7 lines)
Lines 26-33 use C4::Auth qw( check_api_auth ); Link Here
26
use C4::Biblio qw( GetFrameworkCode );
26
use C4::Biblio qw( GetFrameworkCode );
27
use C4::Items;
27
use C4::Items;
28
use C4::MarcModificationTemplates;
28
use C4::MarcModificationTemplates;
29
use Koha::MarcModificationTemplates;
29
use XML::Simple;
30
use XML::Simple;
30
use List::MoreUtils qw(firstval);
31
use Carp;
31
32
32
my $query = CGI->new;
33
my $query = CGI->new;
33
binmode STDOUT, ':encoding(UTF-8)';
34
binmode STDOUT, ':encoding(UTF-8)';
Lines 116-129 sub update_bib { Link Here
116
            }
117
            }
117
        }
118
        }
118
119
119
        my $marc_modification_template_name = C4::Context->preference("SaveBiblioMarcModificationTemplate");
120
        my $template_id = C4::Context->preference("SaveBiblioMarcModificationTemplate");
120
        if ($marc_modification_template_name) {
121
        if ($id) {
121
            my $template = firstval { $_->{'name'} eq $marc_modification_template_name } GetModificationTemplates();
122
            my $template = Koha::MarcModificationTemplates->find($template_id);
122
            if ($template) {
123
            if ($template) {
123
                ModifyRecordWithTemplate($template->{'template_id'}, $record);
124
                ModifyRecordWithTemplate($template_id, $record);
124
            }
125
            }
125
            else {
126
            else {
126
                warn "No MARC modification template exists with name \"$marc_modification_template_name\"";
127
                croak "No MARC modification template exists with id \"$template_id\"";
127
            }
128
            }
128
        }
129
        }
129
130
(-)a/t/db_dependent/www/EditBiblioMarcModificationTemplatePreference.t (-6 / +8 lines)
Lines 23-28 require HTTP::Request; Link Here
23
use MARC::Record;
23
use MARC::Record;
24
use XML::Simple;
24
use XML::Simple;
25
use C4::MarcModificationTemplates;
25
use C4::MarcModificationTemplates;
26
use Koha::MarcModificationTemplates;
26
use C4::Biblio qw(AddBiblio ModBiblioMarc GetMarcBiblio);
27
use C4::Biblio qw(AddBiblio ModBiblioMarc GetMarcBiblio);
27
28
28
eval{
29
eval{
Lines 47-56 subtest 'Templates applied using simple and advanced MARC Editor' => sub { Link Here
47
    plan tests => 13;
48
    plan tests => 13;
48
49
49
    # Create "Test" MARC modification template
50
    # Create "Test" MARC modification template
50
    my $template_id = AddModificationTemplate('TEST');
51
    #my $template_id = AddModificationTemplate('TEST');
51
    ok($template_id, 'MARC modification template successfully created');
52
    my $template = Koha::MarcModificationTemplate->new({ name => 'TEST' })->store;
53
54
    ok($template, 'MARC modification template successfully created');
52
    my $add_template_action_result = AddModificationTemplateAction(
55
    my $add_template_action_result = AddModificationTemplateAction(
53
        $template_id,
56
        $template->id,
54
        'update_field', # Action
57
        'update_field', # Action
55
        0,
58
        0,
56
        250, # Field
59
        250, # Field
Lines 88-94 subtest 'Templates applied using simple and advanced MARC Editor' => sub { Link Here
88
    is($saved_record_250_field->subfield('a'), '250 bottles of beer on the wall', 'Field 250a has the same value passed to AddBiblio');
91
    is($saved_record_250_field->subfield('a'), '250 bottles of beer on the wall', 'Field 250a has the same value passed to AddBiblio');
89
92
90
    my $old_template_preference = C4::Context->preference('SaveBiblioMarcModificationTemplate');
93
    my $old_template_preference = C4::Context->preference('SaveBiblioMarcModificationTemplate');
91
    C4::Context->set_preference('SaveBiblioMarcModificationTemplate', 'TEST');
94
    C4::Context->set_preference('SaveBiblioMarcModificationTemplate', $template->id);
92
95
93
    my $agent = Test::WWW::Mechanize->new(autocheck => 1);
96
    my $agent = Test::WWW::Mechanize->new(autocheck => 1);
94
97
Lines 149-154 EOF Link Here
149
152
150
    # Clean up
153
    # Clean up
151
    DelBiblio($biblionumber);
154
    DelBiblio($biblionumber);
152
    DelModificationTemplate($template_id);
155
    $template->delete;
153
    C4::Context->set_preference('SaveBiblioMarcModificationTemplate', $old_template_preference);
156
    C4::Context->set_preference('SaveBiblioMarcModificationTemplate', $old_template_preference);
154
};
157
};
155
- 

Return to bug 18138