Taking `Koha::Item->delete` as an example, it accepts many parameters. Calling `Koha::Items->delete` will find out there's a `delete()` method defined in `Koha::Item` and loop through all items, calling that particular method. It would be handy if we could pass on some parameters. As an example, the following sequence: ```perl $biblio->items->delete; DelBiblio( $biblio->id); ``` would trigger reindexing the record for each item, and then when actually deleting the biblio. With the current codebase, to avoid it, we could instead do: ```perl foreach my $item ($biblio->items->as_list) { $item->delete( { skip_record_index } ); } DelBiblio( $biblio->id); ``` But it would be great if we could just write: ```perl $biblio->items->delete( { skip_record_index => 1 } ); DelBiblio( $biblio->id ); ```
Created attachment 166790 [details] [review] Bug 36873: Unit tests Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Created attachment 166791 [details] [review] Bug 36873: Make Koha::Objects->delete pass parameters to the underlying method This patch makes the generic method pass any parameters it got passed to the underlying `delete()` method. To test: 1. Apply the unit tests patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Objects.t => FAIL: Tests fail, parameters are not passed 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Created attachment 166799 [details] [review] Bug 36873: Unit tests Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: David Nind <david@davidnind.com>
Created attachment 166800 [details] [review] Bug 36873: Make Koha::Objects->delete pass parameters to the underlying method This patch makes the generic method pass any parameters it got passed to the underlying `delete()` method. To test: 1. Apply the unit tests patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Objects.t => FAIL: Tests fail, parameters are not passed 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: David Nind <david@davidnind.com>
Created attachment 168246 [details] [review] Bug 36873: Unit tests Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Created attachment 168247 [details] [review] Bug 36873: Make Koha::Objects->delete pass parameters to the underlying method This patch makes the generic method pass any parameters it got passed to the underlying `delete()` method. To test: 1. Apply the unit tests patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Objects.t => FAIL: Tests fail, parameters are not passed 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Trivial bugfix, all working. Passing QA
Pushed for 24.11! Well done everyone, thank you!
I thought this might be a good candidate for the failing test: https://jenkins.koha-community.org/job/Koha_Main/2954/testReport/junit/(root)/t_db_dependent_Koha_Plugins_KitchenSink_t/Fun_with_KitchenSink__Handler__delete__2283_/ not ok 1 - Fun with KitchenSink, Handler->delete ... but again it's passing for me locally.
(In reply to Katrin Fischer from comment #9) > I thought this might be a good candidate for the failing test: > > https://jenkins.koha-community.org/job/Koha_Main/2954/testReport/junit/ > (root)/t_db_dependent_Koha_Plugins_KitchenSink_t/ > Fun_with_KitchenSink__Handler__delete__2283_/ > > not ok 1 - Fun with KitchenSink, Handler->delete > > ... but again it's passing for me locally. There are other factors there. Looking shortly.
Thanks!
(In reply to Katrin Fischer from comment #9) > I thought this might be a good candidate for the failing test: > > https://jenkins.koha-community.org/job/Koha_Main/2954/testReport/junit/ > (root)/t_db_dependent_Koha_Plugins_KitchenSink_t/ > Fun_with_KitchenSink__Handler__delete__2283_/ > > not ok 1 - Fun with KitchenSink, Handler->delete > > ... but again it's passing for me locally. I haven't found any relationship with this bug, unfortunately. What I was looking for were cases of ->delete being called with some parameter, and there aren't for plugin code.
(In reply to Tomás Cohen Arazi from comment #12) > (In reply to Katrin Fischer from comment #9) > > I thought this might be a good candidate for the failing test: > > > > https://jenkins.koha-community.org/job/Koha_Main/2954/testReport/junit/ > > (root)/t_db_dependent_Koha_Plugins_KitchenSink_t/ > > Fun_with_KitchenSink__Handler__delete__2283_/ > > > > not ok 1 - Fun with KitchenSink, Handler->delete > > > > ... but again it's passing for me locally. > > I haven't found any relationship with this bug, unfortunately. What I was > looking for were cases of ->delete being called with some parameter, and > there aren't for plugin code. It looks like it might have been a random one too. Let's see if ti appears again.
(In reply to Tomás Cohen Arazi from comment #12) > (In reply to Katrin Fischer from comment #9) > > I thought this might be a good candidate for the failing test: > > > > https://jenkins.koha-community.org/job/Koha_Main/2954/testReport/junit/ > > (root)/t_db_dependent_Koha_Plugins_KitchenSink_t/ > > Fun_with_KitchenSink__Handler__delete__2283_/ > > > > not ok 1 - Fun with KitchenSink, Handler->delete > > > > ... but again it's passing for me locally. > > I haven't found any relationship with this bug, unfortunately. What I was > looking for were cases of ->delete being called with some parameter, and > there aren't for plugin code. The error was: koha_1 | Could not unlink /tmp/LSL387s/Koha/Plugin/Com/ByWaterSolutions/KitchenSink.pm.pm: No such file or directory at /kohadevbox/koha/Koha/Plugins/Handler.pm line 110. koha_1 | koha_1 | # Failed test 'Module file no longer found' koha_1 | # at t/db_dependent/Koha/Plugins/KitchenSink.t line 68. koha_1 | # Looks like you failed 1 test of 7. koha_1 | koha_1 | # Failed test 'Fun with KitchenSink, Handler->delete' koha_1 | # at t/db_dependent/Koha/Plugins/KitchenSink.t line 74. koha_1 | # Looks like you failed 1 test of 1. koha_1 | [17:50:24] t/db_dependent/Koha/Plugins/KitchenSink.t ................................... koha_1 | Dubious, test returned 1 (wstat 256, 0x100) Which is bug 21670.
Backported to 24.05.x for upcoming 24.05.06
Pushed to 23.11.x for 23.11.11
Not backporting to 22.11 unless requested
Developer focused, no user interface changes, not covered in the manual - no update required.