From a980810762d95160f8e8492ac4ed9ca7856eee00 Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 13 Dec 2005 23:08:10 +0000 Subject: [PATCH 1/1] patched up some typos the 'requestor' code now uses the requestor as the target if the target is undefined git-svn-id: svn://svn.open-ils.org/ILS/trunk@2360 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Actor.pm | 17 ++++++++++++----- .../perlmods/OpenILS/Application/AppUtils.pm | 8 +++++++- .../perlmods/OpenILS/Application/Circ/Holds.pm | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm index 4abdabca26..bfc39da343 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm @@ -42,14 +42,22 @@ __PACKAGE__->register_method( sub set_user_settings { my( $self, $client, $user_session, $uid, $settings ) = @_; + $logger->debug("Setting user settings: $user_session, $uid, " . Dumper($settings)); + my( $staff, $user, $evt ) = $apputils->checkses_requestor( $user_session, $uid, 'UPDATE_USER' ); return $evt if $evt; - return $apputils->simple_scalar_request( + + my ($params) = map { + [{ usr => $user->id, name => $_}, {value => $$settings{$_}}] } keys %$settings; + + $logger->activity("User " . $staff->id . " updating user $uid settings with: " . Dumper($params)); + + return $apputils->simplereq( 'open-ils.storage', - 'open-ils.storage.direct.actor.user_setting.batch.merge', - map { [{ usr => $user->id, name => $_}, {value => $$settings{$_}}] } keys %$settings ); + 'open-ils.storage.direct.actor.user_setting.batch.merge', $params ); + } @@ -70,8 +78,7 @@ sub set_ou_settings { my ($params) = map { [{ org_unit => $ouid, name => $_}, {value => $$settings{$_}}] } keys %$settings; - use Data::Dumper; - $logger->debug("Updating org unit [$ouid] settings with: " . Dumper($params)); + $logger->activity("Updating org unit [$ouid] settings with: " . Dumper($params)); return $apputils->simplereq( 'open-ils.storage', diff --git a/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm b/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm index 155de9aad8..4f998acf3c 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm @@ -312,6 +312,8 @@ sub checkses { my( $self, $session ) = @_; my $user; my $evt; my $e; + $logger->debug("Checking user session $session"); + try { $user = $self->check_user_session($session); } catch Error with { $e = 1; }; @@ -324,8 +326,9 @@ sub checkses { sub checkrequestor { my( $self, $staffobj, $userid, @perms ) = @_; my $user; my $evt; + $userid = $staffobj->id unless defined $userid; - $logger->debug("checkrequestor(): staff => " . $staffobj->id . ", user => $userid"); + $logger->debug("checkrequestor(): requestor => " . $staffobj->id . ", target => $userid"); if( $userid ne $staffobj->id ) { if( ! ($user = $self->fetch_user($userid)) ) { @@ -333,6 +336,9 @@ sub checkrequestor { return (undef, $evt); } $evt = $self->check_perms( $staffobj->id, $user->home_ou, @perms ); + + } else { + $user = $staffobj; } return ($user, $evt); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm index d9f4dea60c..d7808ebf61 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm @@ -50,7 +50,7 @@ sub create_hold { my( $self, $client, $login_session, @holds) = @_; if(!@holds){return 0;} - my( $user, $evt ) = $apputils->check_ses($login_session); + my( $user, $evt ) = $apputils->checkses($login_session); return $evt if $evt; -- 2.43.2