<script type="text/javascript">
var liId = "[% ctx.page_args.0 %]";
dojo.require('openils.CGI');
- var cgi = new openils.CGI({url : document.referrer});
- cgi.param('focus_li', liId);
- var returnRef = cgi.url();
+ var cgi = new openils.CGI();
+ var newCgi = new openils.CGI({url : cgi.param('source')});
+ newCgi.param('focus_li', liId);
+ var returnRef = newCgi.url();
</script>
<h1>Lineitem Worksheet</h1>
<div dojoType='dijit.form.Button' scrollOnFocus='false' onClick='location.href = returnRef'>↖ Return</div>
</tr>
<tr>
<th></th>
- <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>
<button dojoType='dijit.form.Button' id='acq-po-return-to-invoice-button'>[% l('↖ Return to Invoice') %]</button>
</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>
</tr>
<tr>
<td colspan='3'>
liLink,
(po) ? 'foo' : '', // forces class='hiddenfoo' i.e. not hidden
(pl) ? 'foo' : '', // ditto
+ encodeURIComponent(location.pathname + location.search)
],
function(str) {
// prevent long titles from filling up the page
"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}?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>",
+ "LINEITEM_SUMMARY" : "<div class='acq-lineitem-summary'><a href='${19}?focus_li=${10}&source=${22}'>${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}&source=${22}'>⌘ ${13} ${18}</a>\n<a style='padding-right: 10px;' class='hidden${21}' href='${11}/acq/picklist/view/${14}?focus_li=${10}&source=${22}'>❖ ${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}",
}
nodeByName("worksheet_link", row).href =
- oilsBasePath + "/acq/lineitem/worksheet/" + li.id();
+ oilsBasePath + "/acq/lineitem/worksheet/" + li.id() +
+ '?source=' + encodeURIComponent(location.pathname + location.search)
nodeByName("show_requests_link", row).href =
- oilsBasePath + "/acq/picklist/user_request?lineitem=" + li.id();
+ oilsBasePath + "/acq/picklist/user_request?lineitem=" + li.id() +
+ '?source=' + encodeURIComponent(location.pathname + location.search)
dojo.query('[attr=title]', row)[0].onclick = function() {self.drawInfo(li.id())};
dojo.query('[name=copieslink]', row)[0].onclick = function() {self.drawCopies(li.id())};
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() + '?focus_li=' + li.id());
+ link.setAttribute('href', oilsBasePath +
+ '/acq/po/view/' + li.purchase_order() +
+ '?focus_li=' + li.id() +
+ '&source=' + encodeURIComponent(location.pathname + location.search)
+ );
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() + '?focus_li=' + li.id());
+ link.setAttribute('href', oilsBasePath +
+ '/acq/picklist/view/' + li.picklist() +
+ '?focus_li=' + li.id() +
+ '&source=' + encodeURIComponent(location.pathname + location.search)
+ );
link.innerHTML += pl.name();
}
}
if (typeof force_fetch == "undefined")
force_fetch = false;
- if (document.referrer.match(/invoice/)) {
+ var cgi = new openils.CGI();
+ var source = cgi.param('source');
+ if (source && source.match(/invoice/)) {
// got here from the invoice page, show the 'return-to-invoice' button
- var cgi = new openils.CGI({url : document.referrer});
+ var cgi = new openils.CGI({url : source});
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');
/* 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')) {
+ var source = cgi.param('source');
+ var focus_li = cgi.param('focus_li');
+ if (source && 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});
+ function(srcType) {
+ if (source.match(new RegExp(srcType))) {
+ openils.Util.show('acq-pl-return-to-' + srcType);
+ var newCgi = new openils.CGI({url : source});
newCgi.param('focus_li', cgi.param('focus_li'));
- dojo.byId('acq-pl-return-to-' + source + '-button').onclick = function() {
+ dojo.byId('acq-pl-return-to-' + srcType + '-button').onclick = function() {
location.href = newCgi.url();
}
}
/* 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')) {
+ var source = cgi.param('source');
+ var focus_li = cgi.param('focus_li');
+ if (focus_li && source) {
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() {
+ function(srcType) {
+ if (source.match(new RegExp(srcType))) {
+ openils.Util.show('acq-po-return-to-' + srcType);
+ var newCgi = new openils.CGI({url : source});
+ newCgi.param('focus_li', focus_li);
+ dojo.byId('acq-po-return-to-' + srcType + '-button').onclick = function() {
location.href = newCgi.url();
}
}