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
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
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
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
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')
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
--- /dev/null
+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
<%
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()}
%>
<div>${meta}</div>
<div>${meta2}</div>
<thead>
<tr>
<td>${_('ID')}</td>
+ <td>${_('Provider')}</td>
<td>${_('Creation Date')}</td>
<td>${_('Edit Date')}</td>
<td>${_('Number of Entries')}</td>
% for po in c.oils.acq.po_list.value:
<tr>
<td><a href='${c.oils.acq.prefix.value}/po/view/${po.id()}'>${po.id()}</a></td>
+ <td>${po.provider()}</td>
<td>${po.create_time()}</td>
<td>${po.edit_time()}</td>
<td>${po.lineitem_count()}</td>