]> git.evergreen-ils.org Git - working/random.git/blob - contrib/evergreen/eg_circ_misc.py
fixed bug in property reading from eg_data module. more python style tweaks
[working/random.git] / contrib / evergreen / eg_circ_misc.py
1 from constrictor.script import Script, ScriptThread
2 import eg_utils
3 from eg_data import *
4 from eg_workflow import *
5 import eg_tasks
6 import constrictor.log as log
7
8 eg_utils.init()
9
10 class CreateTitleHoldScript(Script):
11
12     def run(self):
13         
14         dm = DataManager()
15         title_id = dm.get_thread_data(PROP_TITLE_ID)
16         pickup_lib = dm.get_thread_data(PROP_ORG_ID)
17         patron_id = dm.get_thread_data(PROP_PATRON_ID)
18         copy_barcode = dm.get_thread_data(PROP_COPY_BARCODE, True)
19
20         bib = eg_tasks.BibRetrieveTask().start(bib_id = title_id)
21         if not bib: return False
22
23         # title hold
24         hold_id = to_title_hold(title_id, patron_id, pickup_lib)
25         if hold_id:
26             to_title_holdCancel(hold_id)
27
28         # checkout/renew/checkin
29         evt = do_checkout(copy_barcode, patron_id)
30         if not evt: return False
31
32         evt = do_renew(copy_barcode)
33         if not evt: return False
34
35         evt = do_checkin(copy_barcode)
36         if not evt: return False
37
38         # patron search
39         search_args = {
40             'family_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0},
41             'first_given_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0}
42         }
43
44         log.log_info('Search for patron %s' % str(search_args))
45         res = eg_tasks.UserSearchTask().start(search_args = search_args)
46
47         return True
48
49
50
51 ScriptManager.go(CreateTitleHoldScript())
52