Bugzilla – Attachment 126667 Details for
Bug 14957
Write protecting MARC fields based on source of import
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 14957: Tell the cataloguer that a change has been rejected
Bug-14957-Tell-the-cataloguer-that-a-change-has-be.patch (text/plain), 6.72 KB, created by
Jonathan Druart
on 2021-10-21 14:08:52 UTC
(
hide
)
Description:
Bug 14957: Tell the cataloguer that a change has been rejected
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2021-10-21 14:08:52 UTC
Size:
6.72 KB
patch
obsolete
>From f36d0486d4b158b26161a018995990495ee3cb16 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 21 Oct 2021 16:08:34 +0200 >Subject: [PATCH] Bug 14957: Tell the cataloguer that a change has been > rejected > >--- > C4/Biblio.pm | 7 ++++--- > Koha/MarcOverlayRules.pm | 11 +++++++++-- > catalogue/detail.pl | 3 ++- > cataloguing/addbiblio.pl | 7 +++++-- > .../intranet-tmpl/prog/en/modules/catalogue/detail.tt | 1 + > 5 files changed, 21 insertions(+), 8 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index 863ce496efa..cdf8846a290 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -356,7 +356,7 @@ sub ModBiblio { > > if (!$record) { > carp 'No record passed to ModBiblio'; >- return 0; >+ return (0, 0); > } > > if ( C4::Context->preference("CataloguingLog") ) { >@@ -386,12 +386,13 @@ sub ModBiblio { > _strip_item_fields($record, $frameworkcode); > > # apply overlay rules >+ my $blocked; > if ( C4::Context->preference('MARCOverlayRules') > && $biblionumber > && defined $options > && exists $options->{overlay_context} ) > { >- $record = ApplyMarcOverlayRules( >+ ($blocked, $record) = ApplyMarcOverlayRules( > { > biblionumber => $biblionumber, > record => $record, >@@ -429,7 +430,7 @@ sub ModBiblio { > C4::OAI::Sets::UpdateOAISetsBiblio($biblionumber, $record); > } > >- return 1; >+ return ($blocked, 1); > } > > =head2 _strip_item_fields >diff --git a/Koha/MarcOverlayRules.pm b/Koha/MarcOverlayRules.pm >index 7d7e07a1d4d..1f511be143a 100644 >--- a/Koha/MarcOverlayRules.pm >+++ b/Koha/MarcOverlayRules.pm >@@ -134,7 +134,7 @@ sub merge_records { > my $rules = $self->context_rules($context); > > # Default when no rules found is to overwrite with incoming record >- return $incoming_record unless $rules; >+ return (0, $incoming_record) unless $rules; > > my $fields_by_tag = sub { > my ($record) = @_; >@@ -219,6 +219,7 @@ sub merge_records { > # Then we get the intersection of fields, present both in > # current and incoming record (possibly to be overwritten) > my @common_field_tags = grep { exists $incoming_fields->{$_} } keys %{$current_fields}; >+ my $blocked; > foreach my $tag (@common_field_tags) { > my $rule = $get_matching_field_rule->($tag); > >@@ -236,6 +237,7 @@ sub merge_records { > push @{$merged_record_fields{$tag}}, @{$incoming_fields->{$tag}}; > } > else { >+ $blocked = 1; > push @{$merged_record_fields{$tag}}, @{$current_fields->{$tag}}; > } > } >@@ -269,6 +271,7 @@ sub merge_records { > } > else { > # else keep existing subfield order >+ $blocked = 1; > push @merged_fields, map { $_->[0] } @{$common_fields}; > } > } >@@ -276,12 +279,16 @@ sub merge_records { > if (@{$current_fields_only}) { > if (!$rule->{remove}->{allow}) { > push @merged_fields, @{$current_fields_only}; >+ } else { >+ $blocked = 1; > } > } > # Appended > if (@{$incoming_fields_only}) { > if ($rule->{append}->{allow}) { > push @merged_fields, @{$incoming_fields_only}; >+ } else { >+ $blocked = 1; > } > } > $merged_record_fields{$tag} //= []; >@@ -301,7 +308,7 @@ sub merge_records { > $merged_record->append_fields(@{$merged_record_fields{$tag}}); > } > } >- return $merged_record; >+ return ($blocked, $merged_record); > } > > sub _clear_caches { >diff --git a/catalogue/detail.pl b/catalogue/detail.pl >index b5801cca71c..ca46baf74a2 100755 >--- a/catalogue/detail.pl >+++ b/catalogue/detail.pl >@@ -60,6 +60,7 @@ use Koha::SearchEngine::QueryBuilder; > my $query = CGI->new(); > > my $analyze = $query->param('analyze'); >+my $blocked = $query->param('blocked'); > > my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user( > { >@@ -605,6 +606,6 @@ if ( C4::Context->preference('UseCourseReserves') ) { > $template->param( course_reserves => $course_reserves ); > } > >-$template->param(biblio => $biblio); >+$template->param(biblio => $biblio, blocked => $blocked); > > output_html_with_http_headers $query, $cookie, $template->output; >diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl >index 89a68e06f89..0a0fa8222d2 100755 >--- a/cataloguing/addbiblio.pl >+++ b/cataloguing/addbiblio.pl >@@ -862,11 +862,13 @@ if ( $op eq "addbiblio" ) { > } > my $confirm_not_duplicate = $input->param('confirm_not_duplicate'); > # it is not a duplicate (determined either by Koha itself or by user checking it's not a duplicate) >+ my $blocked; > if ( !$duplicatebiblionumber or $confirm_not_duplicate ) { > my $oldbibitemnum; > if ( $is_a_modif ) { > my $member = Koha::Patrons->find($loggedinuser); >- ModBiblio( >+ my $x; >+ ($blocked, $x)= ModBiblio( > $record, > $biblionumber, > $frameworkcode, >@@ -878,6 +880,7 @@ if ( $op eq "addbiblio" ) { > } > } > ); >+ $template->param(has_been_blocked => $blocked); > } > else { > ( $biblionumber, $oldbibitemnum ) = AddBiblio( $record, $frameworkcode ); >@@ -913,7 +916,7 @@ if ( $op eq "addbiblio" ) { > } elsif ($defaultview eq 'labeled_marc' && $views->{can_view_labeledMARC}) { > print $input->redirect("/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=$biblionumber&searchid=$searchid"); > } else { >- print $input->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&searchid=$searchid"); >+ print $input->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&searchid=$searchid&blocked=$blocked"); > } > exit; > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >index 7c2b961d6ca..3bc9df32285 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >@@ -94,6 +94,7 @@ > [% CoceHost = Koha.Preference('CoceHost') %] > > [% INCLUDE 'cat-toolbar.inc' %] >+[% IF blocked %]<p>HAS BEEN BLOCKED</p>[% END %] > [% IF decoding_error %] > <div> > <span class="biberror"> >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 14957
:
44056
|
44057
|
44058
|
51723
|
51724
|
56637
|
56638
|
56643
|
56644
|
56645
|
56646
|
56647
|
56648
|
57114
|
57115
|
57116
|
57117
|
57118
|
57119
|
59811
|
59812
|
59885
|
60711
|
60824
|
60825
|
61065
|
61641
|
61736
|
64792
|
72498
|
74855
|
75118
|
76201
|
76202
|
76203
|
76204
|
76205
|
76206
|
76207
|
76208
|
76209
|
76210
|
78651
|
78652
|
78653
|
79367
|
79368
|
79369
|
79370
|
79890
|
80972
|
80973
|
80974
|
80975
|
81176
|
81177
|
81178
|
81179
|
81621
|
81699
|
81700
|
81705
|
81706
|
81707
|
81708
|
81969
|
81970
|
81971
|
82030
|
82031
|
82775
|
87709
|
87711
|
87771
|
87929
|
88205
|
88206
|
89961
|
90668
|
90669
|
90671
|
90672
|
90722
|
90723
|
90740
|
90741
|
92933
|
92934
|
92935
|
92936
|
92937
|
92938
|
92999
|
93499
|
94909
|
94911
|
99998
|
100052
|
100053
|
100054
|
100055
|
100056
|
100057
|
100058
|
100059
|
100060
|
100061
|
101510
|
109955
|
109956
|
109957
|
109958
|
109959
|
109960
|
109961
|
109962
|
109963
|
116622
|
116623
|
116624
|
116625
|
117844
|
117845
|
117849
|
117850
|
117853
|
117859
|
117964
|
117965
|
117966
|
118918
|
118919
|
118920
|
118921
|
118922
|
118923
|
118924
|
118925
|
118926
|
118927
|
118934
|
118935
|
118936
|
118937
|
118938
|
118939
|
118940
|
118941
|
118942
|
118943
|
118944
|
118945
|
118946
|
118957
|
120533
|
120534
|
120535
|
120536
|
120537
|
120538
|
120539
|
120540
|
120541
|
120542
|
120543
|
120544
|
120545
|
120546
|
120547
|
120548
|
120550
|
120553
|
120554
|
120555
|
120556
|
120557
|
120581
|
120582
|
120583
|
120584
|
120585
|
120586
|
120587
|
120588
|
120589
|
120590
|
120591
|
120592
|
120593
|
120594
|
120595
|
120596
|
120597
|
120598
|
120599
|
120600
|
120601
|
120602
|
120603
|
120604
|
120605
|
120670
|
120671
|
120705
|
125514
|
125515
|
125516
|
125517
|
125518
|
125519
|
125520
|
125521
|
125522
|
125523
|
125524
|
125525
|
125526
|
125527
|
125528
|
125529
|
125530
|
125531
|
125532
|
125533
|
125534
|
125535
|
125536
|
125537
|
125538
|
125539
|
125540
|
125632
|
125633
|
125636
|
126424
|
126425
|
126431
|
126592
|
126666
|
126667
|
126752
|
126753
|
126754
|
126755
|
126756
|
126757
|
126758
|
126759
|
126760
|
126761
|
126762
|
126763
|
126764
|
126765
|
126766
|
126767
|
126768
|
126769
|
126770
|
126771
|
126772
|
126773
|
126774
|
126775
|
126776
|
126777
|
126778
|
126779
|
126780
|
126781
|
126782
|
126783
|
126784
|
126785
|
126786
|
126950
|
126951