@@ -, +, @@
---
C4/Acquisition.pm | 2 +-
installer/data/mysql/updatedatabase.pl | 2 +-
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt | 2 +-
t/Acquisition/CanUserReceiveBasket.t | 8 ++++++++
4 files changed, 11 insertions(+), 3 deletions(-)
--- C4/Acquisition.pm
+++ C4/Acquisition.pm
@@ -867,7 +867,7 @@ sub CanUserReceiveOrder {
my $branch = C4::Context->userenv->{'branch'};
- unless ($userflags->{superlibrarian}
+ unless (C4::Context->IsSuperLibrarian()
|| (!ref $userflags->{acquisition} && $userflags->{acquisition})
|| (ref $userflags->{acquisition} && $userflags->{acquisition}->{order_receive_all}) )
{
--- installer/data/mysql/updatedatabase.pl
+++ installer/data/mysql/updatedatabase.pl
@@ -8609,7 +8609,7 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
INSERT INTO permissions (module_bit, code, description)
VALUES (11, 'order_receive_all', 'Receive all orders')
");
- print "Upgrade to $DBversion done (Add aqorders.branch and permission order_receive_all)\n";
+ print "Upgrade to $DBversion done (Bug 7290: Add permission order_receive_all)\n";
SetVersion($DBversion);
}
--- koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
+++ koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
@@ -170,7 +170,7 @@
[% error.error_param %]
[% IF ( error.error_duplicate_barcode ) %]
- Duplicate Barcode
+ Duplicate barcode
[% ELSIF (error.error_cannot_receive_order) %]
You were not authorised to receive this order
[% END %]
--- t/Acquisition/CanUserReceiveBasket.t
+++ t/Acquisition/CanUserReceiveBasket.t
@@ -37,28 +37,36 @@ my $order3 = {
$userenv->{branch} = 'B1';
+# User can receive any orders thanks to his permissions
ok( CanUserReceiveOrder($borrower, $order1, {superlibrarian => 1}) );
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => 1}) );
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive_all => 1 }}) );
+# User cannot receive any order because of his lack of permission
ok( not CanUserReceiveOrder($borrower, $order1, {}) );
ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => 0}) );
ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 0 }}) );
+# User with order_receive permission can receive only orders of his branch (B1)
+# and orders that don't belong to any branch
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 1 }}) );
ok( CanUserReceiveOrder($borrower, $order2, {acquisition => { order_receive => 1 }}) );
ok( not CanUserReceiveOrder($borrower, $order3, {acquisition => { order_receive => 1 }}) );
$userenv->{branch} = 'B2';
+# User can receive any order thanks to his permissions
ok( CanUserReceiveOrder($borrower, $order1, {superlibrarian => 1}) );
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => 1}) );
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive_all => 1 }}) );
+# User cannot receive any order because of his lack of permission
ok( not CanUserReceiveOrder($borrower, $order1, {}) );
ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => 0}) );
ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 0 }}) );
+# User with order_receive permission can receive only orders of his branch (B2)
+# and orders that don't belong to any branch
ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 1 }}) );
ok( not CanUserReceiveOrder($borrower, $order2, {acquisition => { order_receive => 1 }}) );
ok( CanUserReceiveOrder($borrower, $order3, {acquisition => { order_receive => 1 }}) );
--