From: erickson Date: Thu, 15 May 2008 15:16:14 +0000 (+0000) Subject: for now, using provider code as source_label on lineitems for vendor imported records... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8b4bad500fb6a00c54b011a276b791ad04fde9f7;p=Evergreen.git for now, using provider code as source_label on lineitems for vendor imported records. no longer connecting to settings server on connect since not necessary git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9619 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py index fbb962e278..73f8dc534e 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py @@ -126,35 +126,43 @@ class PoController(BaseController): r = RequestMgr() - oils.system.System.connect( + oils.system.System.remote_connect( config_file = pylons.config['osrf_config'], config_context = pylons.config['osrf_config_ctxt']) if 'marc_file' in r.request.params: - provider = r.request.params['provider'] + provider_id = r.request.params['provider'] authtoken = r.request.params['authtoken'] # first, create the PO po = osrf.net_obj.NetworkObject.acqpo() - po.provider(provider) - po_id = ClientSession.atomic_request('open-ils.acq', + po.provider(provider_id) + po_id = ClientSession.atomic_request( + 'open-ils.acq', 'open-ils.acq.purchase_order.create', authtoken, po) oils.event.Event.parse_and_raise(po_id) + provider = ClientSession.atomic_request( + 'open-ils.acq', + 'open-ils.acq.provider.retrieve', authtoken, provider_id) + oils.event.Event.parse_and_raise(provider) + # now, parse the MARC and create a lineitem per record marc_reader = pymarc.reader.MARCReader(r.request.params['marc_file'].file) for record in marc_reader: lineitem = osrf.net_obj.NetworkObject.jub() lineitem.marc(pymarc.marcxml.record_to_xml(record)) - lineitem.provider(provider) + lineitem.provider(provider_id) lineitem.purchase_order(po_id) + lineitem.source_label(provider.code()) # XXX where should this really come from? - stat = ClientSession.atomic_request('open-ils.acq', + stat = ClientSession.atomic_request( + 'open-ils.acq', 'open-ils.acq.lineitem.create', authtoken, lineitem) oils.event.Event.parse_and_raise(stat) - return redirect_to(controller='acq/po', action='view', id=po_id) + return redirect_to(controller='acq/po', action='view', id=po_id) return r.render('acq/po/marc_upload.html') diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/util.py b/Open-ILS/web/oilsweb/oilsweb/lib/util.py index 9428d743c7..b5fb9e131d 100644 --- a/Open-ILS/web/oilsweb/oilsweb/lib/util.py +++ b/Open-ILS/web/oilsweb/oilsweb/lib/util.py @@ -9,7 +9,7 @@ def childInit(): ''' import oils.system - oils.system.System.connect( + oils.system.System.remote_connect( config_file = pylons.config['osrf_config'], config_context = pylons.config['osrf_config_ctxt'], connect_cache = True)