From c4ce1b420cebda8ec20a91e4ef471a51b0097e7e Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 19 Jul 2006 14:09:38 +0000 Subject: [PATCH] fixed some logic errors git-svn-id: svn://svn.open-ils.org/ILS/trunk@5078 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../OpenILS/Application/Actor/Container.pm | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Actor/Container.pm b/Open-ILS/src/perlmods/OpenILS/Application/Actor/Container.pm index 67b7e2feb6..d32c757d41 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Actor/Container.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Actor/Container.pm @@ -352,7 +352,9 @@ sub __item_delete { ( $bucket, $evt ) = $U->fetch_container_e($e, $item->bucket, $class); return $evt if $evt; - return $e->event unless $e->allowed('DELETE_CONTAINER_ITEM'); + if( $bucket->owner ne $e->requestor->id ) { + return $e->event unless $e->allowed('DELETE_CONTAINER_ITEM'); + } my $stat; if( $class eq 'copy' ) { @@ -395,7 +397,9 @@ sub full_delete { ( $container, $evt ) = $apputils->fetch_container_e($e, $containerId, $class); return $evt if $evt; - return $e->event unless $e->allowed('DELETE_CONTAINER'); + if( $container->owner ne $e->requestor->id ) { + return $e->event unless $e->allowed('DELETE_CONTAINER'); + } my $items; @@ -422,22 +426,22 @@ sub full_delete { my $stat; if( $class eq 'copy' ) { return $e->event unless - $stat = $e->delete_container_copy_bucket_item($container); + $stat = $e->delete_container_copy_bucket($container); } if( $class eq 'callnumber' ) { return $e->event unless - $stat = $e->delete_container_call_number_bucket_item($container); + $stat = $e->delete_container_call_number_bucket($container); } if( $class eq 'biblio' ) { return $e->event unless - $stat = $e->delete_container_biblio_record_entry_bucket_item($container); + $stat = $e->delete_container_biblio_record_entry_bucket($container); } if( $class eq 'user') { return $e->event unless - $stat = $e->delete_container_user_bucket_item($container); + $stat = $e->delete_container_user_bucket($container); } $e->commit; @@ -470,22 +474,22 @@ sub container_update { my $stat; if( $class eq 'copy' ) { return $e->event unless - $stat = $e->update_container_copy_bucket_item($container); + $stat = $e->update_container_copy_bucket($container); } if( $class eq 'callnumber' ) { return $e->event unless - $stat = $e->update_container_call_number_bucket_item($container); + $stat = $e->update_container_call_number_bucket($container); } if( $class eq 'biblio' ) { return $e->event unless - $stat = $e->update_container_biblio_record_entry_bucket_item($container); + $stat = $e->update_container_biblio_record_entry_bucket($container); } if( $class eq 'user') { return $e->event unless - $stat = $e->update_container_user_bucket_item($container); + $stat = $e->update_container_user_bucket($container); } $e->commit; -- 2.11.0