For example I try for example to edit items.note after item modification. I need this but just trying to understand if its possible or not. If its not possible we should document it :D Best regards Le 12/03/2021 à 18:00, Tomas Cohen Arazi a écrit :
What are you actually trying to accomplish? Do you really need the post-store object?
El vie., 12 mar. 2021 12:34, Fridolin SOMERS <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> escribió:
Oh indeed,
So maybe : 1) call SUPER::store() 2) call hook with $self 3) call SUPER::store() incase $seft has changed
What do you think ?
2) must call $seft->discard_changes right ?
Le 12/03/2021 à 15:14, Jonathan Druart a écrit : > So to have a "post_creation" hook that would be actually called *before* > the item is effectively created, hum... :) > > > Le ven. 12 mars 2021 à 13:47, Fridolin SOMERS > <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>> a > écrit : > > Mmmm interesting. > > Why not send the $self object to plugin > and call SUPER::store() after hook ? > > Best regards, > > > Le 10/03/2021 à 09:22, Jonathan Druart a écrit : > > From perlobj pod: > > "The |SUPER| pseudo-class is resolved from the package where the > call is > > made. It is /not/ resolved based on the object's class." > > > > You can still call $item->_result->update. > > > > I suggest you open a bug report to add a no_trigger flag to > > Koha::Object->store (like we did in Koha::Objects). > > > > Also spotted, at the end of store: > > 193 my $result = $self->SUPER::store; > > > > 202 $self->get_from_storage->_after_item_action_hooks({ > action => > > $action }); > > 203 > > 204 return $result; > > > > That's wrong! > > > > Le mar. 9 mars 2021 à 09:32, Fridolin SOMERS > > <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>>> a > > écrit : > > > > Yop > > > > I've tried with : > > > > sub after_item_action { > > my ( $self, $params ) = @_; > > warn "AFTER ITEM ACTION"; > > > > my $item = $params->{item}; > > $item->itemnotes("Edited at " . localtime); > > } > > > > Calling $item->SUPER::store() generates an error : > > > > Plugin error (Example Kitchen-Sink Plugin): Can't locate > object method > > "store" via package > "Koha::Plugin::Com::ByWaterSolutions::KitchenSink" > > at > > > /mnt/git/koha-plugin-kitchen-sink/Koha/Plugin/Com/ByWaterSolutions/KitchenSink.pm > > > > line 580. > > > > Surely only Koha::Item can call SUPER. > > > > Adding $self->SUPER::store() at the end of > Koha::Item->store() does > > also > > not work. > > > > Is it because of "get_from_storage" ? > > > > $self->get_from_storage->_after_item_action_hooks({ action => > > $action }); > > > > The _after_item_action_hooks method is called not on object $self > > but on > > a copy ? > > > > Best regards, > > > > Le 08/03/2021 à 11:49, Jonathan Druart a écrit : > > > I wouldn't add other hooks, they are > "_after_item_action_hooks" for > > > creation and modification. > > > "After item creation" should allow you to modify the item, > unless we > > > need a "pre store" hook. > > > I had a look at the code and I didn't find any problems. > > > Fridolin, what did you try exactly, can you share the code? > > > > > > Le lun. 8 mars 2021 à 11:17, Tomas Cohen Arazi > > <tomascohen@gmail.com <mailto:tomascohen@gmail.com> <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com>> > <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com> <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com>>> > > > <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com> <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com>> > <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com> <mailto:tomascohen@gmail.com <mailto:tomascohen@gmail.com>>>>> a > > écrit : > > > > > > Maybe you need some other hook. Ones that allows you > to make > > changes > > > to the object right before it is stored instead of > this one, that > > > gets the 'just updated' object. > > > When I added 'after' hooks for biblios and items > actions, the > > idea > > > was that they should act as triggers for other > actions: in my > > case, > > > fill a zebraqueue-ish table my plugin uses. > > > > > > El lun, 8 mar 2021 a las 5:11, Fridolin SOMERS > > > (<fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>> > > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>>>>) escribió: > > > > > > Hi, > > > > > > While testing new hook : > > > > https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066> > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066>> > > > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066> > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066>>> > > > > > > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066> > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066>> > > > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066> > <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27066>>>> > > > > > > I faced a problem : > > > How can I modify the current patron object ? > > > Since we are in the store() method of that object and > > inside a > > > transation. > > > I tried to call $self->SUPER::store(); but does > not work. > > > > > > Should we implement this possiblity or document > hooks to > > say it is > > > impossible. > > > > > > Thanks a lot for your help :D > > > > > > Best regards, > > > > > > -- > > > Fridolin SOMERS <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>> > > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>>>> > > > Software and system maintainer 🦄 > > > BibLibre, France > > > _______________________________________________ > > > Koha-devel mailing list > > > Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>> > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>>> > > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>> > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>>>> > > > > > > https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>> > > > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>>> > > > > > > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>>>> > > > website : https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>> > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>>> > > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>> > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>>>> > > > git : https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>> > > <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>>> > > > <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>> > > <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>>>> > > > bugs : https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>> > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>>> > > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>> > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>>>> > > > > > > > > > > > > -- > > > Tomás Cohen Arazi > > > Theke Solutions (http://theke.io <http://theke.io> <http://theke.io <http://theke.io>> > <http://theke.io <http://theke.io> <http://theke.io <http://theke.io>>> > > <http://theke.io/ <http://theke.io/> <http://theke.io/ <http://theke.io/>> <http://theke.io/ <http://theke.io/> > <http://theke.io/ <http://theke.io/>>>>) > > > ✆ +54 9351 3513384 > > > GPG: B2F3C15F > > > _______________________________________________ > > > Koha-devel mailing list > > > Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>> > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>>> > > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>> > > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> > <mailto:Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>>>> > > > > > > https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>> > > > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>>> > > > > > > <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel>>>> > > > website : https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>> > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>>> > > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>> > > <https://www.koha-community.org/ <https://www.koha-community.org/> > <https://www.koha-community.org/ <https://www.koha-community.org/>>>> > > > git : https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>> > > <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>>> <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>> > > <https://git.koha-community.org/ <https://git.koha-community.org/> > <https://git.koha-community.org/ <https://git.koha-community.org/>>>> > > > bugs : https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>> > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>>> > > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>> > > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/> > <https://bugs.koha-community.org/ <https://bugs.koha-community.org/>>>> > > > > > > > -- > > Fridolin SOMERS <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> > > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>>> > > Software and system maintainer 🦄 > > BibLibre, France > > > > -- > Fridolin SOMERS <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com> > <mailto:fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>>> > Software and system maintainer 🦄 > BibLibre, France >
-- Fridolin SOMERS <fridolin.somers@biblibre.com <mailto:fridolin.somers@biblibre.com>> Software and system maintainer 🦄 BibLibre, France
-- Fridolin SOMERS <fridolin.somers@biblibre.com> Software and system maintainer 🦄 BibLibre, France