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>> 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>>> 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>>>> 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>>>>) 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>>>
> >
> > 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>>>>
> > 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>>>
> >
>
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/>>>
> > 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/>>>
> > 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/>>>
> >
> >
> >
> > --
> > 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/>>>)
> > ✆ +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>>>
> >
>
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/>>>
> > 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/>>>
> > 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/>>>
> >
>
> --
> 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/