more non-cat tweaks
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 1 Feb 2006 23:14:48 +0000 (23:14 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 1 Feb 2006 23:14:48 +0000 (23:14 +0000)
the public field on the containers was changed to 'pub'

git-svn-id: svn://svn.open-ils.org/ILS/trunk@2931 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Actor/Container.pm
Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm
Open-ILS/src/perlmods/OpenILS/Application/Circ/NonCat.pm
Open-ILS/src/support-scripts/test-scripts/checkout.pl
Open-ILS/web/opac/extras/bbags.js
Open-ILS/web/opac/extras/bbags.xml
Open-ILS/web/opac/skin/default/js/container.js

index 0d76305..3ab8c2a 100644 (file)
@@ -8,6 +8,7 @@ use OpenSRF::EX qw(:try);
 use OpenILS::Utils::Fieldmapper;
 
 my $apputils = "OpenILS::Application::AppUtils";
+my $U = $apputils;
 my $logger = "OpenSRF::Utils::Logger";
 
 sub initialize { return 1; }
@@ -113,7 +114,7 @@ sub bucket_flesh_public {
 
        my $meth = $types{$class};
        my $bkt = $apputils->simplereq( $svc, "$meth.retrieve", $bucket );
-       return undef unless ($bkt and $bkt->public);
+       return undef unless ($bkt and $bkt->pub);
 
        $bkt->items( $apputils->simplereq( $svc,
                "$meth"."_item.search.bucket.atomic", $bucket ) );
@@ -255,7 +256,7 @@ sub item_create {
        my $method = $types{$class} . "_item.create";
        my $resp = $apputils->simplereq( $svc, $method, $item );
 
-       throw OpenSRF::EX ("Unable to create container item") unless $resp;
+       return $U->DB_UPDATE_FAILED($item) unless $resp;
        return $resp;
 }
 
index e01f5b1..0e2963b 100644 (file)
@@ -386,7 +386,9 @@ sub _cache_permit_key {
 sub _check_permit_key {
        my( $key, $cid, $pid, $rid ) = @_;
        $logger->debug("Fetching circ permit key $key");
-       my $arr = $cache_handle->get_cache("oils_permit_key_$key");
+       my $k = "oils_permit_key_$key";
+       my $arr = $cache_handle->get_cache($k);
+       $cache_handle->delete_cache($k);
        return 1 if( ref($arr) and @$arr[0] eq $cid and @$arr[1] eq $pid and @$arr[2] eq $rid );
        return 0;
 }
@@ -427,7 +429,11 @@ sub checkout {
        if( $params->{noncat} ) {
                return OpenILS::Event->new('CIRC_PERMIT_BAD_KEY') 
                        unless _check_permit_key( $key, -1, $patron->id, $requestor->id );
-               return _checkout_noncat( $requestor, $patron, %$params )
+
+               ( $circ, $evt ) = _checkout_noncat( $requestor, $patron, %$params );
+               return $evt if $evt;
+               return OpenILS::Event->new('SUCCESS', 
+                       payload => { noncat_circ => $circ } );
        }
 
        my $session = $U->start_db_session();
@@ -564,19 +570,24 @@ sub _build_checkout_circ_object {
        $ctx->{circ} = $circ;
 }
 
-sub _set_circ_due_date {
-       my $circ = shift;
+sub _create_due_date {
+       my $duration = shift;
 
        my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = 
-               gmtime(OpenSRF::Utils->interval_to_seconds($circ->duration) + int(time()));
+               gmtime(OpenSRF::Utils->interval_to_seconds($duration) + int(time()));
 
        $year += 1900; $mon += 1;
        my $due_date = sprintf(
        '%s-%0.2d-%0.2dT%s:%0.2d:%0.s2-00',
        $year, $mon, $mday, $hour, $min, $sec);
+       return $due_date;
+}
 
-       $logger->debug("Checkout setting due date on circ to: $due_date");
-       $circ->due_date($due_date);
+sub _set_circ_due_date {
+       my $circ = shift;
+       my $dd = _create_due_date($circ->duration);
+       $logger->debug("Checkout setting due date on circ to: $dd");
+       $circ->due_date($dd);
 }
 
 # Sets the editor, edit_date, un-fleshes the copy, and updates the copy in the DB
@@ -650,11 +661,8 @@ sub _handle_related_holds {
 sub _checkout_noncat {
        my ( $requestor, $patron, %params ) = @_;
        my $circlib = $params{noncat_circ_lib} || $requestor->home_ou;
-       my( $circ, $evt ) = 
-               OpenILS::Application::Circ::NonCat::create_non_cat_circ(
+       return OpenILS::Application::Circ::NonCat::create_non_cat_circ(
                        $requestor->id, $patron->id, $circlib, $params{noncat_type} );
-       return $evt if $evt;
-       return OpenILS::Event->new('SUCCESS');
 }
 
 
index c121983..5c6de9a 100644 (file)
@@ -15,7 +15,7 @@ my $U = "OpenILS::Application::AppUtils";
 sub create_non_cat_circ {
        my( $staffid, $patronid, $circ_lib, $noncat_type, $circ_time ) = @_;
 
-       my( $id, $evt );
+       my( $id, $nct, $evt );
        $circ_time |= 'now';
        my $circ = Fieldmapper::action::non_cataloged_circulation->new;
 
@@ -33,7 +33,8 @@ sub create_non_cat_circ {
                'open-ils.storage.direct.action.non_cataloged_circulation.create', $circ );
        $evt = $U->DB_UPDATE_FAILED($circ) unless $id;
 
-       return( $id, $evt );
+       $circ->id($id);
+       return( $circ, $evt );
 }
 
 
index 931c130..2407d9c 100755 (executable)
@@ -81,8 +81,13 @@ sub do_checkout {
        my $d = $finish - $start_checkout;
        my $dd = $finish - $start;
 
-       printl("Checkout OK:\n\ttime =\t$d\n\ttotal time =\t$dd".
-               "\n\ttitle =\t" . $resp->{payload}->{record}->title );
+       printl("Checkout OK:");
+       if(!$noncat) {
+               printl("\ttime = $d");
+               printl("\ttotal time = $dd");
+               printl("\ttitle = " . $resp->{payload}->{record}->title );
+               printl("\tdue_date = " . $resp->{payload}->{circ}->due_date );
+       }
 }
 
 
index 610fdb0..be5fdc1 100644 (file)
@@ -16,7 +16,7 @@ var template;
 function bbShow(r) {
 
        var bb = r.getResultObject();
-       if(!bb || !bb.public()) { unHideMe($('not_found')); return; }
+       if(!bb || !bb.pub()) { unHideMe($('not_found')); return; }
        $('bb_name').appendChild(text(bb.name()));
 
        var tbody = $('tbody');
index 50091e9..451b8da 100644 (file)
@@ -1,4 +1,9 @@
 <?xml version='1.0'?>
+
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">
 
        <head>
index bd33a08..e64eb35 100644 (file)
@@ -30,13 +30,13 @@ function containerDelete( id, callback, args ) {
 }
 
 
-function containerCreate( name, public, callback, args ) {
+function containerCreate( name, pub, callback, args ) {
 
        var container = new cbreb();
        container.btype('bookbag');
        container.owner( G.user.id() );
        container.name( name );
-       if(public) container.public(1);
+       if(pub) container.pub(1);
 
        var req = new Request( 
                CREATE_CONTAINER, G.user.session, 'biblio', container );