Bug 22071: Make authenticate_api_request stash koha.user in OAuth use case
authorTomas Cohen Arazi <tomascohen@theke.io>
Fri, 4 Jan 2019 15:46:37 +0000 (12:46 -0300)
committerJesse Maseto <jesse@bywatersolutions.com>
Fri, 11 Jan 2019 19:32:34 +0000 (19:32 +0000)
This patch makes the OAuth code stash the requestion Koha::Patron.

To test:
- Apply the tests patch:
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/auth_authenticate_api_request.t
=> FAIL: Tests fail :-(
- Apply this patch
- Run:
 k$ prove t/db_dependent/api/v1/auth_authenticate_api_request.t
=> SUCCESS: Tests pass :-D
- Sign off =D

Signed-off-by: Charles Farmer <charles.farmer@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 613a0034e08af84af1e2198156bbfc6900ba6551)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 84ddb45e884394d08ba4dc836d3209e11e351048)

Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>

Koha/REST/V1/Auth.pm

index afbe468..aed9e2f 100644 (file)
@@ -140,6 +140,8 @@ sub authenticate_api_request {
         if ($valid_token) {
             my $patron_id   = Koha::ApiKeys->find( $valid_token->{client_id} )->patron_id;
             my $patron      = Koha::Patrons->find($patron_id);
+            $c->stash('koha.user' => $patron);
+
             my $permissions = $authorization->{'permissions'};
             # Check if the patron is authorized
             if ( haspermission($patron->userid, $permissions)