added user transaction data retrieval, by various types of transaction
authorerickson <erickson@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Wed, 1 Jul 2009 03:10:26 +0000 (03:10 +0000)
committererickson <erickson@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Wed, 1 Jul 2009 03:10:26 +0000 (03:10 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/constrictor/trunk@554 6d9bc8c9-1ec2-4278-b937-99fde70a366f

contrib/evergreen/eg_tasks.py
contrib/evergreen/eg_user_transactions.py [new file with mode: 0644]

index 7579df1..f27fa42 100644 (file)
@@ -164,3 +164,15 @@ class BibSearchTask(AbstractMethodTask):
 
 registerTask(BibSearchTask())
 
+class UserTransactionsByType(AbstractMethodTask):
+
+    def __init__(self):
+        AbstractMethodTask.__init__(self)
+        self.service = 'open-ils.actor'
+
+    def run(self, **kw):
+        self.method = kw['method']
+        return self.runMethod(eg_utils.authtoken(), kw['user_id'])
+
+registerTask(UserTransactionsByType())
+
diff --git a/contrib/evergreen/eg_user_transactions.py b/contrib/evergreen/eg_user_transactions.py
new file mode 100644 (file)
index 0000000..315c938
--- /dev/null
@@ -0,0 +1,42 @@
+from constrictor.task import Task
+from constrictor.script import Script, ScriptManager, ScriptThread
+from constrictor.log import *
+import eg_utils, eg_data, eg_tasks
+import random
+
+eg_utils.init()
+
+types = [
+    'open-ils.actor.user.transactions.history',
+    'open-ils.actor.user.transactions.history.have_charge',
+    'open-ils.actor.user.transactions.history.have_balance',
+    'open-ils.actor.user.transactions.history.have_balance.authoritative',
+    'open-ils.actor.user.transactions.history.still_open',
+    'open-ils.actor.user.transactions.history.have_bill',
+    'open-ils.actor.user.transactions.history.have_bill.authoritative',
+    'open-ils.actor.user.transactions.have_balance',
+    'open-ils.actor.user.transactions.have_balance.total',
+    'open-ils.actor.user.transactions.have_balance.count',
+    'open-ils.actor.user.transactions'
+]
+
+class BibSearchScript(Script):
+
+    def run(self):
+
+        dm = eg_data.DataManager()
+        user_id = dm.getThreadData(eg_data.PROP_PATRON_IDS)
+
+        for type in types:
+            logInfo('Loading patron(%s) transactions with %s' % (int(user_id),  type))
+            res = eg_tasks.TASKS['UserTransactionsByType'].run(
+                method = type,
+                user_id = user_id
+        )
+
+        return True
+
+ScriptManager.go(BibSearchScript())
+
+
+