1 from constrictor.script import Script, ScriptThread
4 from eg_workflow import *
6 import constrictor.log as log
10 class CreateTitleHoldScript(Script):
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)
20 bib = eg_tasks.BibRetrieveTask().start(bib_id = title_id)
21 if not bib: return False
24 hold_id = to_title_hold(title_id, patron_id, pickup_lib)
26 to_title_holdCancel(hold_id)
28 # checkout/renew/checkin
29 evt = do_checkout(copy_barcode, patron_id)
30 if not evt: return False
32 evt = do_renew(copy_barcode)
33 if not evt: return False
35 evt = do_checkin(copy_barcode)
36 if not evt: return False
40 'family_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0},
41 'first_given_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0}
44 log.log_info('Search for patron %s' % str(search_args))
45 res = eg_tasks.UserSearchTask().start(search_args = search_args)
51 ScriptManager.go(CreateTitleHoldScript())