added mvr retrieval task
authorerickson <erickson@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Sun, 11 Apr 2010 14:51:35 +0000 (14:51 +0000)
committererickson <erickson@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Sun, 11 Apr 2010 14:51:35 +0000 (14:51 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/constrictor/trunk@859 6d9bc8c9-1ec2-4278-b937-99fde70a366f

contrib/evergreen/eg_circ_misc.py
contrib/evergreen/eg_tasks.py

index 5eb93a8..f7b6ba5 100644 (file)
@@ -2,6 +2,7 @@ from constrictor.script import Script, ScriptThread
 import eg_utils
 from eg_data import *
 from eg_workflow import *
+import eg_tasks
 import constrictor.log as log
 
 eg_utils.init()
@@ -16,6 +17,9 @@ class CreateTitleHoldScript(Script):
         patron_id = dm.get_thread_data(PROP_PATRON_IDS)
         copy_barcode = dm.get_thread_data(PROP_COPY_BARCODES, True)
 
+        bib = eg_tasks.BibRetrieveTask().start(bib_id = title_id)
+        if not bib: return False
+
         # title hold
         hold_id = doTitleHold(title_id, patron_id, pickup_lib)
         if hold_id:
index 74a9921..ffa6784 100644 (file)
@@ -69,19 +69,18 @@ class AbortTransitTask(AbstractMethodTask):
 
 
 class TitleHoldPermitTask(AbstractMethodTask):                                                                                                                                                       
-    def __init__(self):                                                                                                                                                                              
-        AbstractMethodTask.__init__(self)                                                                                                                                                            
-        self.service = OILS_APP_CIRC                                                                                                                                                                 
+    def __init__(self):
+        AbstractMethodTask.__init__(self)
+        self.service = OILS_APP_CIRC
         self.method = 'open-ils.circ.title_hold.is_possible'                                                                                                                                         
-                                                                                                                                                                                                     
     def run(self, **kw):                                                                                                                                                                             
-        ''' kw[title_id]                                                                                                                                                                             
-            kw[patron_id]                                                                                                                                                                            
-            kw[pickup_lib]                                                                                                                                                                           
+        ''' kw[title_id]
+            kw[patron_id]
+            kw[pickup_lib]
             '''                                                                                                                                                                                      
-        return self.runMethod(eg_utils.authtoken(), {                                                                                                                                                
-            "patronid" : kw['patron_id'],                                                                                                                                                            
-            "titleid" : kw['title_id'],                                                                                                                                                              
+        return self.runMethod(eg_utils.authtoken(), {
+            "patronid" : kw['patron_id'], 
+            "titleid" : kw['title_id'],
             "pickup_lib" : kw['pickup_lib']})                                                                                                   
 
 
@@ -138,6 +137,17 @@ class BibSearchTask(AbstractMethodTask):
     def run(self, **kw):
         return self.runMethod(kw['search_args'], kw['search_term'], True)
 
+class BibRetrieveTask(AbstractMethodTask):
+    
+    def __init__(self):
+        AbstractMethodTask.__init__(self)
+        self.service = OILS_APP_SEARCH
+        self.method = 'open-ils.search.biblio.record.mods_slim.retrieve'
+
+    def run(self, **kw):
+        return self.runMethod(kw['bib_id'])
+
+
 class UserTransactionsByType(AbstractMethodTask):
 
     def __init__(self):