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.som...@biblibre.com <mailto:fridolin.som...@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.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
    <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@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.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@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
     >      >     <tomasco...@gmail.com <mailto:tomasco...@gmail.com>
    <mailto:tomasco...@gmail.com <mailto:tomasco...@gmail.com>>
     >     <mailto:tomasco...@gmail.com <mailto:tomasco...@gmail.com>
    <mailto:tomasco...@gmail.com <mailto:tomasco...@gmail.com>>>
     >      >      > <mailto:tomasco...@gmail.com
    <mailto:tomasco...@gmail.com> <mailto:tomasco...@gmail.com
    <mailto:tomasco...@gmail.com>>
     >     <mailto:tomasco...@gmail.com <mailto:tomasco...@gmail.com>
    <mailto:tomasco...@gmail.com <mailto:tomasco...@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.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>>
     >      >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@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.som...@biblibre.com <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>>
     >      >      >         <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@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.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
     >      >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>>>
     >      >     Software and system maintainer 🦄
     >      >     BibLibre, France
     >      >
     >
     >     --
     >     Fridolin SOMERS <fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>
     >     <mailto:fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>>
     >     Software and system maintainer 🦄
     >     BibLibre, France
     >

-- Fridolin SOMERS <fridolin.som...@biblibre.com
    <mailto:fridolin.som...@biblibre.com>>
    Software and system maintainer 🦄
    BibLibre, France


--
Fridolin SOMERS <fridolin.som...@biblibre.com>
Software and system maintainer 🦄
BibLibre, France
_______________________________________________
Koha-devel mailing list
Koha-devel@lists.koha-community.org
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
website : https://www.koha-community.org/
git : https://git.koha-community.org/
bugs : https://bugs.koha-community.org/

Reply via email to