<table style='width:100%'>
<tr>
<td class="acq-lit-li-menu-left">
+ <span class='hidden' id='acq-lit-copies-back-to-invoice-button-wrapper'>
+ <button dojoType='dijit.form.Button' id='acq-lit-copies-back-to-invoice-button'
+ scrollOnFocus='false'>[% l('↖ Return To Invoice') %]</button>
+ </span>
<div dojoType='dijit.form.Button' id='acq-lit-copies-back-button' scrollOnFocus='false'>↖ Return</div>
<span style='margin-left:10px;padding-left:10px;border-left:2px solid #aaa;'>
Item Count:
</div>
</div>
</div>
+ <div class='hidden' id='acq-pl-return-to-search'>
+ <button dojoType='dijit.form.Button' id='acq-pl-return-to-search-button'>[% l('↖ Return to Search') %]</button>
+ </div>
+ <div class='hidden' id='acq-pl-return-to-invoice'>
+ <button dojoType='dijit.form.Button' id='acq-pl-return-to-invoice-button'>[% l('↖ Return to Invoice') %]</button>
+ </div>
+
<script type="text/javascript">var plId = '[% ctx.page_args.0 %]';</script>
[% INCLUDE 'acq/common/li_table.tt2' %]
</div>
<td></td>
<th>[% l('Allow activation with <br/> zero-copy lineitems') %]</th>
<td><input type='checkbox' id='acq-po-activate-zero-copies' onclick='checkCouldActivatePo()'/></td>
+ <td>
+ <div class='hidden' id='acq-po-return-to-search'>
+ <button dojoType='dijit.form.Button' id='acq-po-return-to-search-button'>[% l('↖ Return to Search') %]</button>
+ </div>
+ <div class='hidden' id='acq-po-return-to-invoice'>
+ <button dojoType='dijit.form.Button' id='acq-po-return-to-invoice-button'>[% l('↖ Return to Invoice') %]</button>
+ </div>
+ </td>
+ <td/>
+ </tr>
<tr>
<td colspan='3'>
<a class="hidden" id="acq-po-split" href="javascript:void(0);"
"INVOICE_ITEM_DETAILS" : "${0} <br/> ${1} <br/> ${2}. <br/> Estimated Price: $${3}. <br/> Lineitem ID: ${4} <br/> PO: ${5} <br/> Order Date: ${6}",
"INVOICE_CONFIRM_ITEM_DELETE" : "Remove this $${0} '${1}' charge from the invoice?",
"INVOICE_CONFIRM_ENTRY_DETACH" : "Remove $${0} charge for item '${1}, ${2} [${3}] from the invoice?",
- "LINEITEM_SUMMARY" : "<div class='acq-lineitem-summary'><a href='${19}'>${0}</a>, by ${1} (${2})</div>\n<div class='acq-lineitem-summary-extra'>\n${3} Ordered, ${4} Received, ${7} Invoiced, ${8} Claimed, ${9} Cancelled</div>\n<div class='acq-lineitem-summary-extra'>Estimated $${6}, Encumbered $${16}, Paid $${17}</div>\n<div class='acq-lineitem-summary-extra'>\n# ${10} <a style='padding-right: 10px;' class='hidden${20}' href='${11}/acq/po/view/${12}'>⌘ ${13} ${18}</a>\n<a style='padding-right: 10px;' class='hidden${21}' href='${11}/acq/picklist/view/${14}'>❖ ${15}</a></div>",
+ "LINEITEM_SUMMARY" : "<div class='acq-lineitem-summary'><a href='${19}?focus_li=${10}'>${0}</a>, by ${1} (${2})</div>\n<div class='acq-lineitem-summary-extra'>\n${3} Ordered, ${4} Received, ${7} Invoiced, ${8} Claimed, ${9} Cancelled</div>\n<div class='acq-lineitem-summary-extra'>Estimated $${6}, Encumbered $${16}, Paid $${17}</div>\n<div class='acq-lineitem-summary-extra'>\n# ${10} <a style='padding-right: 10px;' class='hidden${20}' href='${11}/acq/po/view/${12}?focus_li=${10}'>⌘ ${13} ${18}</a>\n<a style='padding-right: 10px;' class='hidden${21}' href='${11}/acq/picklist/view/${14}?focus_li=${10}'>❖ ${15}</a></div>",
"INVOICE_CONFIRM_PRORATE" : "Prorate charges?\n\nAny subsequent changes to the invoice that would affect prorated amounts should be resolved manually.",
"INVOICE_EXTRA_COPIES" : "You are attempting to invoice <b>${0}</b> more copies than originally ordered. <br/><br/>To add these items to the original order, select a fund and choose 'Add New Items' below. <br/>After saving the invoice, you may finish editing and importing the new copies from the lineitem details page.",
"INVOICE_ITEM_PO_DETAILS" : "<b>${0}</b><br/><a href='${1}/acq/po/view/${2}'>PO #${3} ${4}</a><br/>Total Estimated Cost: $${5}",
if(po && !this.isMeta) {
openils.Util.show(nodeByName('po', row), 'inline');
var link = nodeByName('po_link', row);
- link.setAttribute('href', oilsBasePath + '/acq/po/view/' + li.purchase_order());
+ link.setAttribute('href', oilsBasePath + '/acq/po/view/' + li.purchase_order() + '?focus_li=' + li.id());
link.innerHTML += po.name();
openils.Util.show(nodeByName('pro', row), 'inline');
openils.Util.show(nodeByName('pl', row), 'inline');
var link = nodeByName('pl_link', row);
- link.setAttribute('href', oilsBasePath + '/acq/picklist/view/' + li.picklist());
+ link.setAttribute('href', oilsBasePath + '/acq/picklist/view/' + li.picklist() + '?focus_li=' + li.id());
link.innerHTML += pl.name();
}
}
if (typeof force_fetch == "undefined")
force_fetch = false;
+ if (document.referrer.match(/invoice/)) {
+ // got here from the invoice page, show the 'return-to-invoice' button
+ var cgi = new openils.CGI({url : document.referrer});
+ cgi.param('focus_li', liId);
+ openils.Util.show(dojo.byId('acq-lit-copies-back-to-invoice-button-wrapper'), 'inline');
+ var button = dojo.byId('acq-lit-copies-back-to-invoice-button');
+ button.onclick = function() { location.href = cgi.url() };
+ }
+
openils.acq.Lineitem.fetchAndRender(liId, {},
function(li, html) {
dojo.byId('acq-lit-copies-li-summary').innerHTML = html;
dojo.require('dojo.date.locale');
dojo.require('openils.User');
dojo.require('openils.Util');
+dojo.require('openils.CGI');
dojo.require('dijit.layout.ContentPane');
var plist;
}
);
+ /* if we got here from the search/invoice page with a focused LI,
+ * return to the previous page with the same LI focused */
+ var cgi = new openils.CGI();
+ if (cgi.param('focus_li')) {
+ dojo.forEach(
+ ['search', 'invoice'], // perhaps a wee bit too loose
+ function(source) {
+ if (document.referrer.match(new RegExp(source))) {
+ openils.Util.show('acq-pl-return-to-' + source);
+ var newCgi = new openils.CGI({url : document.referrer});
+ newCgi.param('focus_li', cgi.param('focus_li'));
+ dojo.byId('acq-pl-return-to-' + source + '-button').onclick = function() {
+ location.href = newCgi.url();
+ }
+ }
+ }
+ );
+ }
}
function drawPl() {
);
openils.Util.show("acq-po-view-history", "inline");
+
+ /* if we got here from the search/invoice page with a focused LI,
+ * return to the previous page with the same LI focused */
+ var cgi = new openils.CGI();
+ if (cgi.param('focus_li')) {
+ dojo.forEach(
+ ['search', 'invoice'], // perhaps a wee bit too loose
+ function(source) {
+ if (document.referrer.match(new RegExp(source))) {
+ openils.Util.show('acq-po-return-to-' + source);
+ var newCgi = new openils.CGI({url : document.referrer});
+ newCgi.param('focus_li', cgi.param('focus_li'));
+ dojo.byId('acq-po-return-to-' + source + '-button').onclick = function() {
+ location.href = newCgi.url();
+ }
+ }
+ }
+ );
+ }
+
prepareInvoiceFeatures();
}