only check picklist perm if picklist is set
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 May 2008 03:06:51 +0000 (03:06 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 May 2008 03:06:51 +0000 (03:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9648 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm

index 3aaa95e..ee89c97 100644 (file)
@@ -473,12 +473,14 @@ sub retrieve_lineitem {
         $li->lineitem_details($details);
     }
 
-    my $picklist = $e->retrieve_acq_picklist($li->picklist)
-        or return $e->event;
-
-    if($picklist->owner != $e->requestor->id) {
-        return $e->event unless 
-            $e->allowed('VIEW_PICKLIST', undef, $picklist);
+    if($li->picklist) {
+        my $picklist = $e->retrieve_acq_picklist($li->picklist)
+            or return $e->event;
+    
+        if($picklist->owner != $e->requestor->id) {
+            return $e->event unless 
+                $e->allowed('VIEW_PICKLIST', undef, $picklist);
+        }
     }
 
     $li->clear_marc if $$options{clear_marc};
@@ -734,8 +736,8 @@ sub lineitem_search {
     return $e->event unless $e->checkauth;
     return $e->event unless $e->allowed('CREATE_PICKLIST');
     # XXX needs permissions consideration
-    my $pls = $e->search_acq_lineitem($search, {idlist=>1});
-    for my $li_id (@$pls) {
+    my $lis = $e->search_acq_lineitem($search, {idlist=>1});
+    for my $li_id (@$lis) {
         if($$options{idlist}) {
             $conn->respond($li_id);
         } else {