Often the most interesting information about the title, like article_title is only available in illrequestattributes. It would be super nice if we had these available with a nice syntax in the ILL notices.
Created attachment 147157 [details] [review] Bug 32548: Make illrequestattributes available in ILL emails Without this ILL module only provides very limited data to be included in the notices sent about the request itself. We have the columns illrequests, but not the illrequestattributes, that often will contain the more useful information needed. This patch enables to use values of the illrequestattributs using [% illrequestattributes.<attributname> %] in the notices. To test: * Apply patch * First you'll need to activate the ILL module and install a backend to use it with. FreeForm was used for this test plan, BLDSS is usually also good for testing. See: https://wiki.koha-community.org/wiki/ILL_backends * Also set up an SMTP server to use for notices and make sure the email address is set in KohaAdminEmailAddress and the user you are using for testing this with. * Make sure your user has an email address and will receive ILL notices by seleting them in the messaging preferences. * Create an ILL request with the FreeForm backend for your user. * On the ILL request detail page: "Display supplier metadata" Pick some attributes you want to use in the notice * Go to Tools > Notices and slips and edit ILL_REQUEST_UNAVAIL * Add some of the attributes you picked. Example: [% illrequestattributes.type %] [% illrequestattributes.title %] * Back to the ILL request detail page: Send notice to patron > ILL request unavailable * Go to your patron's account and check the notices tab * The generated notice shoudl show and include the information from the illrequestattributes you picked.
I am setting NSO, because this is testable as is, but since I am changing a method in Koha namespace... would someone be able to collaborate with me on writing the unit tests for this one? Existing tests for get_notice are in t/db_dependent/Illrequests.t They still pass with the patch applied.
Created attachment 149034 [details] [review] Bug 32548: Add tests
Created attachment 149035 [details] [review] Bug 32548: Replace while with map
Created attachment 149064 [details] [review] Bug 32548: Make illrequestattributes available in ILL emails Without this ILL module only provides very limited data to be included in the notices sent about the request itself. We have the columns illrequests, but not the illrequestattributes, that often will contain the more useful information needed. This patch enables to use values of the illrequestattributs using [% illrequestattributes.<attributname> %] in the notices. To test: * Apply patch * First you'll need to activate the ILL module and install a backend to use it with. FreeForm was used for this test plan, BLDSS is usually also good for testing. See: https://wiki.koha-community.org/wiki/ILL_backends * Also set up an SMTP server to use for notices and make sure the email address is set in KohaAdminEmailAddress and the user you are using for testing this with. * Make sure your user has an email address and will receive ILL notices by seleting them in the messaging preferences. * Create an ILL request with the FreeForm backend for your user. * On the ILL request detail page: "Display supplier metadata" Pick some attributes you want to use in the notice * Go to Tools > Notices and slips and edit ILL_REQUEST_UNAVAIL * Add some of the attributes you picked. Example: [% illrequestattributes.type %] [% illrequestattributes.title %] * Back to the ILL request detail page: Send notice to patron > ILL request unavailable * Go to your patron's account and check the notices tab * The generated notice shoudl show and include the information from the illrequestattributes you picked. Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Created attachment 149065 [details] [review] Bug 32548: Add tests Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Created attachment 149066 [details] [review] Bug 32548: Replace while with map Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
I think this needs to be properly documented, or included in the fields list somehow, or maybe a note mentioning this in the UI? I have no idea.
(In reply to Pedro Amorim from comment #8) > I think this needs to be properly documented, or included in the fields list > somehow, or maybe a note mentioning this in the UI? I have no idea. I'll be happy to add it to the wiki where we keep hints on the TT notices right now. I just added some first notes on ILL notices: https://wiki.koha-community.org/wiki/Notices_with_Template_Toolkit (table at the bottom)
Created attachment 150400 [details] [review] Bug 32548: Make illrequestattributes available in ILL emails Without this ILL module only provides very limited data to be included in the notices sent about the request itself. We have the columns illrequests, but not the illrequestattributes, that often will contain the more useful information needed. This patch enables to use values of the illrequestattributs using [% illrequestattributes.<attributname> %] in the notices. To test: * Apply patch * First you'll need to activate the ILL module and install a backend to use it with. FreeForm was used for this test plan, BLDSS is usually also good for testing. See: https://wiki.koha-community.org/wiki/ILL_backends * Also set up an SMTP server to use for notices and make sure the email address is set in KohaAdminEmailAddress and the user you are using for testing this with. * Make sure your user has an email address and will receive ILL notices by seleting them in the messaging preferences. * Create an ILL request with the FreeForm backend for your user. * On the ILL request detail page: "Display supplier metadata" Pick some attributes you want to use in the notice * Go to Tools > Notices and slips and edit ILL_REQUEST_UNAVAIL * Add some of the attributes you picked. Example: [% illrequestattributes.type %] [% illrequestattributes.title %] * Back to the ILL request detail page: Send notice to patron > ILL request unavailable * Go to your patron's account and check the notices tab * The generated notice shoudl show and include the information from the illrequestattributes you picked. Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Created attachment 150401 [details] [review] Bug 32548: Add tests Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Created attachment 150402 [details] [review] Bug 32548: Replace while with map Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Just to be pedantic, it is possible to use these before these patches, but it is inconvenient: [% FOREACH attribute IN illrequest.illrequestattributes %] [% IF attribute.type == 'title' %] [% attribute.value %] [% END %] [% END %]
(In reply to Nick Clemens from comment #13) > Just to be pedantic, it is possible to use these before these patches, but > it is inconvenient: > > [% FOREACH attribute IN illrequest.illrequestattributes %] > [% IF attribute.type == 'title' %] > [% attribute.value %] > [% END %] > [% END %] Thank you, Nick :)
Pushed to master for 23.05. Nice work everyone, thanks!
Enhancement - not backporting to 22.11.x