From e706da7e13cb3fa21fd6562e9290f7c1394bbfb3 Mon Sep 17 00:00:00 2001 From: djfiander Date: Mon, 25 Feb 2008 01:44:53 +0000 Subject: [PATCH] Map provider IDs to names and display them when appropriate git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8833 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py | 10 +++++++++- .../web/oilsweb/oilsweb/controllers/acq/provider.py | 12 +++--------- Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py | 18 ++++++++++++++++++ .../templates/oils/default/acq/po/po_summary.html | 2 +- .../templates/oils/default/acq/po/view_po_list.html | 2 ++ 5 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py index 208bed1075..bc3ff8bfda 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/po.py @@ -1,5 +1,6 @@ from oilsweb.lib.base import * from oilsweb.lib.request import RequestMgr +from oilsweb.lib.acq import provider_mgr; import oilsweb.lib.user import osrf.net_obj import oils.const @@ -19,7 +20,13 @@ class PoController(BaseController): def list(self, **kwargs): r = RequestMgr() po_mgr = oilsweb.lib.acq.po_manager.PO_Manager(r) - r.ctx.acq.po_list.value = po_mgr.retrieve_po_list() + po_list = po_mgr.retrieve_po_list() + provider_map = dict() + for po in po_list: + if not (po.provider() in provider_map): + provider_map[po.provider()] = provider_mgr.retrieve(r, po.provider()).name() + po.provider(provider_map[po.provider()]) + r.ctx.acq.po_list.value = po_list return r.render('acq/po/view_po_list.html') # Render display of individual PO: list of line items @@ -28,6 +35,7 @@ class PoController(BaseController): po_mgr = oilsweb.lib.acq.po_manager.PO_Manager(r, poid=kwargs['id']) po_mgr.retrieve() r.ctx.acq.po.value = po_mgr.po + r.ctx.acq.provider.value = provider_mgr.retrieve(r, po_mgr.po.provider()) return r.render('acq/po/view_po.html') # Render individual line item: list of detail info diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py index 770a04a55c..6bdd951895 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/provider.py @@ -1,5 +1,6 @@ from oilsweb.lib.base import * from oilsweb.lib.request import RequestMgr +from oilsweb.lib.acq import provider_mgr from osrf.ses import ClientSession from osrf.net_obj import NetworkObject from oils.event import Event @@ -12,10 +13,7 @@ class ProviderController(BaseController): def view(self, **kwargs): r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - provider = ses.request('open-ils.acq.provider.retrieve', - r.ctx.core.authtoken.value, kwargs.get('id')).recv().content() - Event.parse_and_raise(provider) + provider = provider_mgr.retrieve(r, kwargs['id']) provider.owner(OrgUtil.get_org_unit(provider.owner())) r.ctx.acq.provider.value = provider return r.render('acq/financial/view_provider.html') @@ -54,11 +52,7 @@ class ProviderController(BaseController): def list(self): r = RequestMgr() - ses = ClientSession(oils.const.OILS_APP_ACQ) - providers = ses.request( - 'open-ils.acq.provider.org.retrieve', - r.ctx.core.authtoken.value, None, {"flesh_summary":1}).recv().content() - Event.parse_and_raise(providers) + providers = provider_mgr.list(r) for f in providers: f.owner(OrgUtil.get_org_unit(f.owner())) r.ctx.acq.provider_list.value = providers diff --git a/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py b/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py new file mode 100644 index 0000000000..30bc5a86b5 --- /dev/null +++ b/Open-ILS/web/oilsweb/oilsweb/lib/acq/provider_mgr.py @@ -0,0 +1,18 @@ +import oils.const +from oils.event import Event +from osrf.ses import ClientSession + +def retrieve(r, id): + ses = ClientSession(oils.const.OILS_APP_ACQ) + provider = ses.request('open-ils.acq.provider.retrieve', + r.ctx.core.authtoken.value, id).recv().content() + Event.parse_and_raise(provider) + return provider + +def list(r): + ses = ClientSession(oils.const.OILS_APP_ACQ) + providers = ses.request('open-ils.acq.provider.org.retrieve', + r.ctx.core.authtoken.value, None, + {"flesh_summary":1}).recv().content() + Event.parse_and_raise(providers) + return providers diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/po_summary.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/po_summary.html index 0bd3465c4d..fde883fe1c 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/po_summary.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/po_summary.html @@ -10,7 +10,7 @@ <% meta = _("Create date %(date)s") % {"date":c.oils.acq.po.value.create_time()} meta2 = _("Last updated %(date)s") % {"date":c.oils.acq.po.value.edit_time()} - meta3 = _("Provider: %(provider)s") % {"provider":c.oils.acq.po.value.provider()} + meta3 = _("Provider: %(provider)s") % {"provider":c.oils.acq.provider.value.name()} %>
${meta}
${meta2}
diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/view_po_list.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/view_po_list.html index 71b02de32e..c42d8ef2c8 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/view_po_list.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/view_po_list.html @@ -15,6 +15,7 @@ ${_('ID')} + ${_('Provider')} ${_('Creation Date')} ${_('Edit Date')} ${_('Number of Entries')} @@ -26,6 +27,7 @@ % for po in c.oils.acq.po_list.value: ${po.id()} + ${po.provider()} ${po.create_time()} ${po.edit_time()} ${po.lineitem_count()} -- 2.11.0