X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Fbooksellers.pl;h=04aa2b8bb88c63b0e0610cc42daff16480608ba0;hb=98edbf00cc10c908820eb1126a176ed12a04300d;hp=6db0bad5272284655223de73a11657721f3f6eaf;hpb=7acdcb7e2aedf2ff202c009ce053de6dff54e840;p=koha_fer diff --git a/acqui/booksellers.pl b/acqui/booksellers.pl index 6db0bad527..04aa2b8bb8 100755 --- a/acqui/booksellers.pl +++ b/acqui/booksellers.pl @@ -41,6 +41,8 @@ C<$supplier> is the string with which we search for a supplier =back +=over 4 + =item id or booksellerid The id of the supplier whose baskets we will display @@ -53,16 +55,17 @@ use strict; use warnings; use C4::Auth; use C4::Biblio; +use C4::Budgets; use C4::Output; use CGI; -use C4::Acquisition qw/ GetBasketsInfosByBookseller /; +use C4::Acquisition qw/ GetBasketsInfosByBookseller CanUserManageBasket /; use C4::Bookseller qw/ GetBookSellerFromId GetBookSeller /; use C4::Members qw/GetMember/; use C4::Context; my $query = CGI->new; -my ( $template, $loggedinuser, $cookie ) = get_template_and_user( +my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user( { template_name => 'acqui/booksellers.tmpl', query => $query, type => 'intranet', @@ -103,6 +106,18 @@ my $viewbaskets = C4::Context->preference('AcqViewBaskets'); my $userbranch = $userenv->{branch}; +my $budgets = GetBudgetHierarchy; +my $has_budgets = 0; +foreach my $r (@{$budgets}) { + if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) { + next; + } + next unless (CanUserUseBudget($loggedinuser, $r, $userflags)); + + $has_budgets = 1; + last; +} + #build result page my $loop_suppliers = []; @@ -112,21 +127,8 @@ for my $vendor (@suppliers) { my $loop_basket = []; for my $basket ( @{$baskets} ) { - my $authorisedby = $basket->{authorisedby}; - my $basketbranch = ''; # set a blank branch to start with - my $member = GetMember( borrowernumber => $authorisedby ); - if ( $member ) { - $basketbranch = $member->{branchcode}; - } - - if ($userenv->{'flags'} & 1 || #user is superlibrarian - (haspermission( $uid, { acquisition => q{*} } ) && #user has acq permissions and - ($viewbaskets eq 'all' || #user is allowed to see all baskets - ($viewbaskets eq 'branch' && $authorisedby && $userbranch eq $basketbranch) || #basket belongs to user's branch - ($basket->{authorisedby} && $viewbaskets eq 'user' && $authorisedby == $loggedinuser) #user created this basket - ) - ) - ) { + if (CanUserManageBasket($loggedinuser, $basket, $userflags)) { + my $member = GetMember( borrowernumber => $basket->{authorisedby} ); foreach (qw(total_items total_biblios expected_items)) { $basket->{$_} ||= 0; } @@ -134,6 +136,12 @@ for my $vendor (@suppliers) { $basket->{authorisedby_firstname} = $member->{firstname}; $basket->{authorisedby_surname} = $member->{surname}; } + if ($basket->{basketgroupid}) { + my $basketgroup = C4::Acquisition::GetBasketgroup($basket->{basketgroupid}); + if ($basketgroup) { + $basket->{basketgroup} = $basketgroup; + } + } push @{$loop_basket}, $basket; } } @@ -150,6 +158,7 @@ $template->param( loop_suppliers => $loop_suppliers, supplier => ( $booksellerid || $supplier ), count => $supplier_count, + has_budgets => $has_budgets, ); $template->{VARS}->{'allbaskets'} = $allbaskets;