With IndependentBranches a non superlibrarian librarian is not able to track late orders. To reproduce: have an installation of Koha with IndependentBranches on. Be a librarian without superlibrarian rights. Try to generate the report about late orders (.../cgi-bin/koha/acqui/lateorders.pl). You should get an error 500 page. In log you should find something like: ... DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Unknown column 'branchcode' in 'where clause' at /usr/share/koha/lib/Koha/Objects.pm line 417: /usr/share/koha/intranet/cgi-bin/acqui/lateorders.pl, referer: ... This is due to: ( C4::Context->preference('IndependentBranches') && !C4::Context->IsSuperLibrarian ? ( 'borrower.branchcode' => C4::Context->userenv->{branch} ) : () ), from Koha/Acquisition/Orders::filter_by_lates (line ~128) Changing borrower.branchcode into borrowers.branchcode (borrowerS -- missing 's' at the end) does not correct the issue. The borrower.branchcode was to substitue the C4::Acquisition::GetLateOrders function, but something went wrong... The problem was found in 21.11, but it seems that it is still present in the master (as of November 12th, 2022). Unfortunately, I'm not able to fix it at the moment. Jonathan, would you be able...?
Created attachment 143894 [details] [review] Bug 32187: DB changes
Created attachment 143895 [details] [review] Bug 32187: Correct join on borrowers in Koha::Acq::Orders->filter_by_late
I am not able to continue right now. What's missing: 1. Unit tests 2. atomic update (that will need a bit of cleaning on aqbasket.authorisedby before we create the FK)