[open-ils-commits] [GIT] Evergreen ILS branch master updated. 91773a97d7047b1215ee1509c016c3d6f477655e

Evergreen Git git at git.evergreen-ils.org
Fri Jun 1 16:00:41 EDT 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  91773a97d7047b1215ee1509c016c3d6f477655e (commit)
      from  2004f9b2103deee59df4e6adacfa1e4a05e09a84 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 91773a97d7047b1215ee1509c016c3d6f477655e
Author: Bill Erickson <berick at esilibrary.com>
Date:   Fri Jun 1 10:28:28 2012 -0400

    Override arguments parameter repairs
    
    In some cases, the override arguments were passed as a paramater after
    an @array or %hash argument.  In such cases, any params following are
    clumped into the array/hash and the trailing parameters get no values.
    Let's explicitly push the $oargs into the preceeding structures.
    
    In the case of Circulate.pm:new, no $oargs argument is needed, as all keys
    within the %args hash are tacked onto the circulator object.
    
    Also, for consistency, this change affects one of the hold API calls by
    moving $oargs into $params even when not strictly necessary.
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>
    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
index 88f7a73..f5c0f07 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
@@ -191,13 +191,13 @@ __PACKAGE__->register_method(
 
 
 sub run_method {
-    my( $self, $conn, $auth, $args, $oargs ) = @_;
+    my( $self, $conn, $auth, $args ) = @_;
     translate_legacy_args($args);
-    $oargs = { all => 1 } unless defined $oargs;
+    $args->{override_args} = { all => 1 } unless defined $args->{override_args};
     my $api = $self->api_name;
 
     my $circulator = 
-        OpenILS::Application::Circ::Circulator->new($auth, %$args, $oargs);
+        OpenILS::Application::Circ::Circulator->new($auth, %$args);
 
     return circ_events($circulator) if $circulator->bail_out;
 
@@ -571,13 +571,12 @@ sub AUTOLOAD {
 
 
 sub new {
-    my( $class, $auth, %args, $oargs ) = @_;
+    my( $class, $auth, %args ) = @_;
     $class = ref($class) || $class;
     my $self = bless( {}, $class );
 
     $self->events([]);
     $self->editor(new_editor(xact => 1, authtoken => $auth));
-    $self->override_args($oargs);
 
     unless( $self->editor->checkauth ) {
         $self->bail_on_events($self->editor->event);
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
index 23f19a9..6e4f2b8 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
@@ -2220,18 +2220,19 @@ All key/value pairs are passed on to do_possibility_checks.
 # FIXME: specify proper usage/interaction of selection_ou and pickup_lib
 
 sub check_title_hold {
-    my( $self, $client, $authtoken, $params, $oargs ) = @_;
+    my( $self, $client, $authtoken, $params ) = @_;
     my $e = new_editor(authtoken=>$authtoken);
     return $e->event unless $e->checkauth;
-    $oargs = {} unless defined $oargs;
+
+    my %params       = %$params;
+    my $depth        = $params{depth}        || 0;
+    my $selection_ou = $params{selection_ou} || $params{pickup_lib};
+    my $oargs        = $params{oargs}        || {};
 
     if($oargs->{events}) {
         @{$oargs->{events}} = grep { $e->allowed($_ . '.override', $e->requestor->ws_ou); } @{$oargs->{events}};
     }
 
-    my %params       = %$params;
-    my $depth        = $params{depth}        || 0;
-    my $selection_ou = $params{selection_ou} || $params{pickup_lib};
 
 	my $patron = $e->retrieve_actor_user($params{patronid})
 		or return $e->event;
@@ -2262,7 +2263,7 @@ sub check_title_hold {
         my $depth = $soft_boundary;
         while($depth >= $min_depth) {
             $logger->info("performing hold possibility check with soft boundary $depth");
-            @status = do_possibility_checks($e, $patron, $request_lib, $depth, %params, $oargs);
+            @status = do_possibility_checks($e, $patron, $request_lib, $depth, %params);
             if ($status[0]) {
                 $return_depth = $depth;
                 last;
@@ -2272,11 +2273,11 @@ sub check_title_hold {
     } elsif(defined $hard_boundary and $depth < $hard_boundary) {
         # there is no soft boundary, enforce the hard boundary if it exists
         $logger->info("performing hold possibility check with hard boundary $hard_boundary");
-        @status = do_possibility_checks($e, $patron, $request_lib, $hard_boundary, %params, $oargs);
+        @status = do_possibility_checks($e, $patron, $request_lib, $hard_boundary, %params);
     } else {
         # no boundaries defined, fall back to user specifed boundary or no boundary
         $logger->info("performing hold possibility check with no boundary");
-        @status = do_possibility_checks($e, $patron, $request_lib, $params{depth}, %params, $oargs);
+        @status = do_possibility_checks($e, $patron, $request_lib, $params{depth}, %params);
     }
 
     my $place_unfillable = 0;
@@ -2299,7 +2300,7 @@ sub check_title_hold {
 
 
 sub do_possibility_checks {
-    my($e, $patron, $request_lib, $depth, %params, $oargs) = @_;
+    my($e, $patron, $request_lib, $depth, %params) = @_;
 
     my $issuanceid   = $params{issuanceid}      || "";
     my $partid       = $params{partid}      || "";
@@ -2311,6 +2312,7 @@ sub do_possibility_checks {
     my $hold_type    = $params{hold_type}    || 'T';
     my $selection_ou = $params{selection_ou} || $pickup_lib;
     my $holdable_formats = $params{holdable_formats};
+    my $oargs        = $params{oargs}        || {};
 
 
 	my $copy;

-----------------------------------------------------------------------

Summary of changes:
 .../lib/OpenILS/Application/Circ/Circulate.pm      |    9 ++++-----
 .../perlmods/lib/OpenILS/Application/Circ/Holds.pm |   20 +++++++++++---------
 2 files changed, 15 insertions(+), 14 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list