Bug 32187

Summary: (Bug 24161 follow-up) With IndependentBranches on a non superlibrarian librarian is not able to track late orders
Product: Koha Reporter: Janusz Kaczmarek <januszop>
Component: AcquisitionsAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: major    
Priority: P3 CC: jonathan.druart, koha
Version: unspecified   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 24161    
Bug Blocks:    
Attachments: Bug 32187: DB changes
Bug 32187: Correct join on borrowers in Koha::Acq::Orders->filter_by_late

Description Janusz Kaczmarek 2022-11-13 14:58:38 UTC
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...?
Comment 1 Jonathan Druart 2022-11-15 09:10:14 UTC
Created attachment 143894 [details] [review]
Bug 32187: DB changes
Comment 2 Jonathan Druart 2022-11-15 09:10:19 UTC
Created attachment 143895 [details] [review]
Bug 32187: Correct join on borrowers in Koha::Acq::Orders->filter_by_late
Comment 3 Jonathan Druart 2022-11-15 09:11:00 UTC
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)