From: djfiander Date: Fri, 14 Mar 2008 00:48:58 +0000 (+0000) Subject: We can now edit the provider of a lineitem X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4eec59120698376f1b684d33413d181c7ab339fd;p=Evergreen.git We can now edit the provider of a lineitem git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9005 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py index cf320327a5..48a88ee371 100644 --- a/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py +++ b/Open-ILS/web/oilsweb/oilsweb/controllers/acq/picklist.py @@ -11,6 +11,7 @@ from oils.org import OrgUtil from oilsweb.lib.request import RequestMgr from oilsweb.lib.acq.fund import FundMgr from oilsweb.lib.acq.picklist import PicklistMgr +from oilsweb.lib.acq import provider_mgr class PicklistController(BaseController): @@ -55,7 +56,9 @@ class PicklistController(BaseController): r.ctx.acq.lineitem.value = lineitem r.ctx.acq.lineitem_marc_html.value = oilsweb.lib.bib.marc_to_html(lineitem.marc()) + r.ctx.acq.provider_list.value = provider_mgr.list(r) r.ctx.acq.fund_list.value = fmgr.retrieve_org_funds() + return r.render('acq/picklist/view_lineitem.html') def list(self): @@ -142,6 +145,17 @@ class PicklistController(BaseController): r.ctx.core.authtoken.value, detail).recv().content() Event.parse_and_raise(detail) + elif r.ctx.acq.provider_id.value: + lineitem = ses.request('open-ils.acq.lineitem.retrieve', + r.ctx.core.authtoken.value, + r.ctx.acq.lineitem_id.value).recv().content() + lineitem = Event.parse_and_raise(lineitem) + + lineitem.provider(r.ctx.acq.provider_id.value) + lineitem = ses.request('open-ils.acq.lineitem.update', + r.ctx.core.authtoken.value, + lineitem).recv().content() + Event.parse_and_raise(lineitem) return redirect_to(controller='acq/picklist', action='view_lineitem', id=r.ctx.acq.lineitem_id.value) diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/lineitem_summary.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/lineitem_summary.html index 168c9e87b4..aefcd2144a 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/lineitem_summary.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/lineitem_summary.html @@ -1,16 +1,30 @@ +<%namespace file='../../common/widgets.html' name='widget' />
${_('Picklist Entry')}
<% - provider = c.oils.acq.lineitem.value.provider() or '' - if provider: provider.name() - meta = _("Source %(data)s") % {"data":c.oils.acq.lineitem.value.source_label()} - meta2 = _("Provider %(data)s") % {"data":provider} - meta3 = _("Create date %(data)s") % {"data":c.oils.acq.lineitem.value.create_time()} - meta4 = _("Last update time %(data)s") % {"data":c.oils.acq.lineitem.value.edit_time()} + provider_map = [(provider.id(), provider.name()) for provider in c.oils.acq.provider_list.value] + + provider = c.oils.acq.lineitem.value.provider() + if provider: + provider = provider.id() + meta = _("Source %s") % c.oils.acq.lineitem.value.source_label() + meta3 = _("Create date %s") % c.oils.acq.lineitem.value.create_time() + meta4 = _("Last update time %s") % c.oils.acq.lineitem.value.edit_time() %>
${meta}
-
${meta2}
+
+
+ ${_("Provider")} + ${widget.build_selector(c.oils.acq.provider_id.cgi_name, provider_map, provider)} + + +
+
${meta3}
${meta4}
diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_lineitem.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_lineitem.html index d1776a316b..a20095cc1d 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_lineitem.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view_lineitem.html @@ -1,36 +1,19 @@ # -*- coding: utf-8 -*- <%inherit file='../base.html'/> +<%namespace file='../../common/widgets.html' name='widget' /> <%namespace file='picklist_summary.html' name='picklist' /> <%def name="page_title()">${_('Evergreen Picklist Entry')} <%def name="block_content()"> -${picklist.summary(c.oils.acq.picklist.value, link=True)} - -<%include file='lineitem_summary.html'/> - <% fund_map = [(fund.id(), fund.name()) for fund in c.oils.acq.fund_list.value] - selection_prefix = "" - option_format = "" - - def fund_selection(selected_id): - if not selected_id: - optionlist = ["\n" % _("-- Select Fund --")] - else: - optionlist = [] +%> - for (id, name) in fund_map: - if id == selected_id: - sel = "selected='selected'" - else: - sel = "" +${picklist.summary(c.oils.acq.picklist.value, link=True)} - optionlist.append(option_format % (sel, id, name)) +<%include file='lineitem_summary.html'/> - return selection_prefix + "\n".join(optionlist) + selection_suffix -%> % for attr in c.oils.acq.lineitem.value.attributes(): @@ -56,10 +39,10 @@ ${picklist.summary(c.oils.acq.picklist.value, link=True)} action="${c.oils.acq.prefix.value}/picklist/update_lineitem"> + value="${c.oils.acq.lineitem.value.id()}" /> - ${fund_selection(detail.fund())} + ${widget.build_selector(c.oils.acq.fund_id.cgi_name, fund_map, detail.fund())} diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/common/widgets.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/common/widgets.html index 8e0458f0a7..b6469bd554 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/common/widgets.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/common/widgets.html @@ -74,3 +74,25 @@ » % endif + +<%def name='build_selector(name, optionmap, chosen=None)'> +
+ NAME '${name}' + CHOSEN ${chosen} + OPTIONMAP ${optionmap} +
+ +
${detail.owning_lib() or ' '}