[Koha-bugs] [Bug 16330] REST API: add routes to add, update and delete patrons
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Tue May 23 14:16:32 CEST 2017
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16330
--- Comment #46 from Lari Taskula <lari.taskula at jns.fi> ---
(In reply to Lari Taskula from comment #45)
> Hi! Sorry for the late response. My view for the todo:
>
> 1. "Move validation logic from controller to Koha::Patron" patch; obsolete
> validate() method - validations should occur in Koha::Patron->store().
I'm starting to remember the issues with this and why I implemented a separate
validate method. When patron makes a modification request to be verified by
librarian, we have to validate the data provided by patron without storing the
object and then create a new modification request if provided data is ok. (PUT
/patrons/123 where 123 is his own borrowernumber, and they don't have borrowers
flag. This functionality is not yet in these patches provided before this
comment.)
So what I did was in order to avoid validation logic duplication in
Koha::Patron::Modification was:
$patron->set($provided_data)->validate;
# if are able to continue, store new Koha::Patron::Modification request
Of course we can have both, a separate validate method and validations
integrated in store().
Also my fear was to throw exceptions in widely used method like
Koha::Patron->store which would probably break elsewhere in Koha where these
exceptions are not yet caught. So this Bug is a lot more problematic to pass. I
took a shortcut and excluded the validations from store(). However, as a long
term solution, like Tomas suggested, store() is the right place but I think
that is too much for the scope of this Bug. Unfortunately I can't work with
Koha::Patron more now.
Anyway, I have rewritten the tests as explained earlier, and added all of the
patron parameteres to be queryable by GET /patrons. Also I added patron
modification request to the PUT request. This is provided in the following
patch.
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list