From 8ceffe1908a40b0f91db8a19e7a53176f3394d7b Mon Sep 17 00:00:00 2001 From: hdl Date: Tue, 31 Oct 2006 14:33:31 +0000 Subject: [PATCH] preventing librarian other than superlibrarian from deleting itemized biblios. count_items added in ISBDdetail and MARCdetail relies on information contained in marcrecord. --- ISBDdetail.pl | 9 +++++++++ MARCdetail.pl | 13 ++++++++++++- detail.pl | 1 + .../default/en/catalogue/ISBDdetail.tmpl | 3 ++- .../default/en/catalogue/MARCdetail.tmpl | 5 +++-- .../intranet-tmpl/default/en/catalogue/detail.tmpl | 3 ++- 6 files changed, 29 insertions(+), 5 deletions(-) diff --git a/ISBDdetail.pl b/ISBDdetail.pl index 1c8bf98173..d2f48e23f7 100755 --- a/ISBDdetail.pl +++ b/ISBDdetail.pl @@ -70,6 +70,8 @@ my ($template, $loggedinuser, $cookie) debug => 1, }); +my $val=count_items($record); +$template->param("candelete"=>1) if ($val==0||C4::Context->userenv->{flags} eq "1"); my $ISBD = C4::Context->preference('ISBD'); # my @blocs = split /\@/,$ISBD; # my @fields = $record->fields(); @@ -160,3 +162,10 @@ sub get_authorised_value_desc ($$$$$) { return $value; # if nothing is found return the original value } } +sub count_items ($$$$$) { + my ($record) = @_; + my ($tag,$subfield)=MARCfind_marc_from_kohafield(C4::Context->dbh, "items.itemnumber"); + my @list_item_fields=$record->field($tag); + my $value=scalar(@list_item_fields); + return $value; # if nothing is found return the original value +} diff --git a/MARCdetail.pl b/MARCdetail.pl index 1bd27c021c..cfe1ed23b8 100755 --- a/MARCdetail.pl +++ b/MARCdetail.pl @@ -86,6 +86,9 @@ my ($template, $loggedinuser, $cookie) debug => 1, }); +my $val=count_items($record); +$template->param("candelete"=>1) if ($val==0||C4::Context->userenv->{flags} eq "1"); + #Getting the list of all frameworks my $queryfwk =$dbh->prepare("select frameworktext, frameworkcode from biblio_framework"); $queryfwk->execute; @@ -277,7 +280,8 @@ sub get_authorised_value_desc ($$$$$) { #---- branch if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) { - return getbranchname($value); +# return getbranchname($value); + return $value; } #---- itemtypes @@ -297,3 +301,10 @@ sub get_authorised_value_desc ($$$$$) { return $value; # if nothing is found return the original value } } +sub count_items ($$$$$) { + my ($record) = @_; + my ($tag,$subfield)=MARCfind_marc_from_kohafield(C4::Context->dbh, "items.itemnumber"); + my @list_item_fields=$record->field($tag); + my $value=scalar(@list_item_fields); + return $value; # if nothing is found return the original value +} diff --git a/detail.pl b/detail.pl index 532a3d3dac..83a55c583a 100755 --- a/detail.pl +++ b/detail.pl @@ -36,6 +36,7 @@ my ($websitecount, @websites) = &getwebsites($biblionumber); my $subscriptionsnumber = getsubscriptionfrombiblionumber($biblionumber); $dat->{'count'}=@items; +$template->param("candelete"=>1) if ($dat->{'count'}==0||C4::Context->userenv->{flags} eq "1"); $dat->{'additional'}=$addauthor->[0]->{'author'}; for (my $i = 1; $i < $authorcount; $i++) { diff --git a/koha-tmpl/intranet-tmpl/default/en/catalogue/ISBDdetail.tmpl b/koha-tmpl/intranet-tmpl/default/en/catalogue/ISBDdetail.tmpl index 0b0bac0b19..742cd621d1 100644 --- a/koha-tmpl/intranet-tmpl/default/en/catalogue/ISBDdetail.tmpl +++ b/koha-tmpl/intranet-tmpl/default/en/catalogue/ISBDdetail.tmpl @@ -13,9 +13,10 @@ Edit item - + delete + " class="button catalogue"> Complete diff --git a/koha-tmpl/intranet-tmpl/default/en/catalogue/MARCdetail.tmpl b/koha-tmpl/intranet-tmpl/default/en/catalogue/MARCdetail.tmpl index 59abcefbdb..364f44de26 100644 --- a/koha-tmpl/intranet-tmpl/default/en/catalogue/MARCdetail.tmpl +++ b/koha-tmpl/intranet-tmpl/default/en/catalogue/MARCdetail.tmpl @@ -17,10 +17,11 @@ Edit item - + delete - " class="button catalogue"> + + " class="button catalogue"> Complete " class="button catalogue"> diff --git a/koha-tmpl/intranet-tmpl/default/en/catalogue/detail.tmpl b/koha-tmpl/intranet-tmpl/default/en/catalogue/detail.tmpl index b45859a211..eca5bb4533 100644 --- a/koha-tmpl/intranet-tmpl/default/en/catalogue/detail.tmpl +++ b/koha-tmpl/intranet-tmpl/default/en/catalogue/detail.tmpl @@ -14,9 +14,10 @@ Edit item - + delete + " class="button catalogue"> Complete