When send an ILL request to a partner, the borrowernumber of the entry in message_queue should be the ID of the recipient of the notices, instead the ID of the user who created the ILL request is used instead. The upshot of this is that although the notice goes to the correct recipient, it is attached to the wrong user.
Created attachment 122468 [details] [review] Bug 28634: Fix notice borrowernumber This commit fixes the bug described in this bug. - When a partner is selected, pass their borrowernumber rather than email to the receiving script - Iterate all selected partners, send a notice to each, using the recipient's borrowernumber in the notice, the recipient's email is derived from their patron object TEST PLAN: 1. DO NOT apply the patch. 2. Follow the following setup: *** Setup start *** - Create a report using the following SQL in order to verify that notices are being generated: SELECT borrowernumber, subject, content, message_transport_type, to_address, from_address FROM message_queue WHERE letter_code LIKE 'ILL%' ORDER BY message_id DESC - Create two "partners". These are patrons that belong to a patron category that has a code that matches the <partner_code> value in your koha-conf.xml (default is ILLLIBS). Patrons in this category must have a primary email defined. Patrons defined in this way are offered as request partners within the ILL interface. - Go to "Koha administration", search for "ILLModule" syspref, ensure it is set to "Enable" - Go to "Koha administration", search for "IllLog" syspref, ensure it is set to "Log" BRANCH CONFIG - Go to "Koha administration" > "Libraries" - Choose a library and "Edit" it - Ensure the "Email" field for the library is populated SENDING REQUEST TO PARTNERS - Go to the "Manage ILL request" screen for a request, create a request if one does not exist - Choose "Place request with partners" - Select both partners that were defined earlier, then click "Send email" - Run the report created earlier => TEST: Observe that a notice was created and the borrowernumber is that of the request creator, not the recipient *** Setup end *** 3. Apply the patch a. Go to the "Manage ILL request" screen for a request, create a request if one does not exist b. Choose "Place request with partners" c. Select both partners that were defined earlier, then click "Send email" d. Run the report created earlier => TEST: Observe that once notice per partner is created, the borrowernumber column for each notice contains the borrower number of the recipient, not the request creator
Created attachment 138867 [details] [review] Bug 28634: Fix notice borrowernumber This commit fixes the bug described in this bug. - When a partner is selected, pass their borrowernumber rather than email to the receiving script - Iterate all selected partners, send a notice to each, using the recipient's borrowernumber in the notice, the recipient's email is derived from their patron object TEST PLAN: 1. DO NOT apply the patch. 2. Follow the following setup: *** Setup start *** - Create a report using the following SQL in order to verify that notices are being generated: SELECT borrowernumber, subject, content, message_transport_type, to_address, from_address FROM message_queue WHERE letter_code LIKE 'ILL%' ORDER BY message_id DESC - Create two "partners". These are patrons that belong to a patron category that has a code that matches the <partner_code> value in your koha-conf.xml (default is ILLLIBS). Patrons in this category must have a primary email defined. Patrons defined in this way are offered as request partners within the ILL interface. - Go to "Koha administration", search for "ILLModule" syspref, ensure it is set to "Enable" - Go to "Koha administration", search for "IllLog" syspref, ensure it is set to "Log" BRANCH CONFIG - Go to "Koha administration" > "Libraries" - Choose a library and "Edit" it - Ensure the "Email" field for the library is populated SENDING REQUEST TO PARTNERS - Go to the "Manage ILL request" screen for a request, create a request if one does not exist - Choose "Place request with partners" - Select both partners that were defined earlier, then click "Send email" - Run the report created earlier => TEST: Observe that a notice was created and the borrowernumber is that of the request creator, not the recipient *** Setup end *** 3. Apply the patch a. Go to the "Manage ILL request" screen for a request, create a request if one does not exist b. Choose "Place request with partners" c. Select both partners that were defined earlier, then click "Send email" d. Run the report created earlier => TEST: Observe that once notice per partner is created, the borrowernumber column for each notice contains the borrower number of the recipient, not the request creator Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Created attachment 139498 [details] [review] Bug 28634: Fix notice borrowernumber This commit fixes the bug described in this bug. - When a partner is selected, pass their borrowernumber rather than email to the receiving script - Iterate all selected partners, send a notice to each, using the recipient's borrowernumber in the notice, the recipient's email is derived from their patron object TEST PLAN: 1. DO NOT apply the patch. 2. Follow the following setup: *** Setup start *** - Create a report using the following SQL in order to verify that notices are being generated: SELECT borrowernumber, subject, content, message_transport_type, to_address, from_address FROM message_queue WHERE letter_code LIKE 'ILL%' ORDER BY message_id DESC - Create two "partners". These are patrons that belong to a patron category that has a code that matches the <partner_code> value in your koha-conf.xml (default is ILLLIBS). Patrons in this category must have a primary email defined. Patrons defined in this way are offered as request partners within the ILL interface. - Go to "Koha administration", search for "ILLModule" syspref, ensure it is set to "Enable" - Go to "Koha administration", search for "IllLog" syspref, ensure it is set to "Log" BRANCH CONFIG - Go to "Koha administration" > "Libraries" - Choose a library and "Edit" it - Ensure the "Email" field for the library is populated SENDING REQUEST TO PARTNERS - Go to the "Manage ILL request" screen for a request, create a request if one does not exist - Choose "Place request with partners" - Select both partners that were defined earlier, then click "Send email" - Run the report created earlier => TEST: Observe that a notice was created and the borrowernumber is that of the request creator, not the recipient *** Setup end *** 3. Apply the patch a. Go to the "Manage ILL request" screen for a request, create a request if one does not exist b. Choose "Place request with partners" c. Select both partners that were defined earlier, then click "Send email" d. Run the report created earlier => TEST: Observe that once notice per partner is created, the borrowernumber column for each notice contains the borrower number of the recipient, not the request creator Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Pushed to master for 22.11. Nice work everyone, thanks!
Sorry, just realized: this should probably have trickled down as a bug fix to stable versions. Setting keyword.
It appears our support company PTFS Europe applied this fix for us, as we have things working perfectly since we upgraded to 21.11 on 15th December last year.