From: erickson Date: Wed, 29 Apr 2009 14:34:10 +0000 (+0000) Subject: added access points to picklist and PO view UI for creating brief records X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=cf76cb772501073d36cbf3539382d5257f9f7977;p=Evergreen.git added access points to picklist and PO view UI for creating brief records git-svn-id: svn://svn.open-ils.org/ILS/trunk@13014 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/ui/default/acq/common/li_table.js b/Open-ILS/web/js/ui/default/acq/common/li_table.js index bd4987ad99..27a302dc20 100644 --- a/Open-ILS/web/js/ui/default/acq/common/li_table.js +++ b/Open-ILS/web/js/ui/default/acq/common/li_table.js @@ -703,6 +703,12 @@ function AcqLiTable() { case 'create_assets': this.createAssets(); break; + + case 'add_brief_record': + if(this.isPO) + location.href = oilsBasePath + '/acq/picklist/brief_record?po=' + this.isPO; + else + location.href = oilsBasePath + '/acq/picklist/brief_record?pl=' + this.isPL; } } diff --git a/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js b/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js index 39ec57b840..66ebc67c5b 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/brief_record.js @@ -8,25 +8,59 @@ dojo.require('openils.User'); dojo.require('openils.widget.AutoFieldWidget'); dojo.require('openils.MarcXPathParser'); dojo.require('openils.acq.Picklist'); +dojo.require('openils.CGI'); var attrDefs = {}; +var paramPL = null; +var paramPO = null; function drawBriefRecordForm(fields) { var tbody = dojo.byId('acq-brief-record-tbody'); var rowTmpl = dojo.byId('acq-brief-record-row'); - - fieldmapper.standardRequest( - ['open-ils.acq', 'open-ils.acq.picklist.user.retrieve.atomic'], - { async: true, - params: [openils.User.authtoken], - oncomplete : function(r) { - var list = openils.Util.readResponse(r); - plSelector.store = - new dojo.data.ItemFileReadStore({data:acqpl.toStoreData(list)}); + var cgi = new openils.CGI(); + paramPL = cgi.param('pl'); + paramPO = cgi.param('po'); + + + if(paramPL) { + openils.Util.hide('acq-brief-record-po-row'); + + fieldmapper.standardRequest( + ['open-ils.acq', 'open-ils.acq.picklist.retrieve'], + { async: true, + params: [openils.User.authtoken, paramPL], + oncomplete : function(r) { + var pl = openils.Util.readResponse(r); + plSelector.store = + new dojo.data.ItemFileReadStore({data:acqpl.toStoreData([pl])}); + plSelector.attr('value', pl.name()); + plSelector.attr('disabled', true); + } } + ); + + } else { + + if(paramPO) { + openils.Util.hide('acq-brief-record-pl-row'); + poNumber.attr('value', paramPO); + + } else { + openils.Util.hide('acq-brief-record-po-row'); + fieldmapper.standardRequest( + ['open-ils.acq', 'open-ils.acq.picklist.user.retrieve.atomic'], + { async: true, + params: [openils.User.authtoken], + oncomplete : function(r) { + var list = openils.Util.readResponse(r); + plSelector.store = + new dojo.data.ItemFileReadStore({data:acqpl.toStoreData(list)}); + } + } + ); } - ); + } marcEditButton.onClick = function(fields) { @@ -68,6 +102,20 @@ function drawBriefRecordForm(fields) { function saveBriefRecord(fields, editMarc) { + if(paramPL) { + fields.picklist = paramPL; + delete fields.po; + compileBriefRecord(fields, editMarc); + return false; + } + + if(paramPO) { + fields.po = paramPO; + delete fields.picklist; + compileBriefRecord(fields, editMarc); + return false; + } + // first, deal with the selection list var picklist = plSelector.attr('value'); @@ -88,14 +136,14 @@ function saveBriefRecord(fields, editMarc) { openils.acq.Picklist.create( {name:picklist, org_unit: openils.User.user.ws_ou()}, function(plId) { - dojo.mixin(fields, {picklist:plId}); + fields.picklist = plId; compileBriefRecord(fields, editMarc); } ); } else { var id = plSelector.store.getValue(items[0], 'id'); - dojo.mixin(fields, {picklist:id}); + fields.picklist = id; compileBriefRecord(fields, editMarc); } } @@ -143,6 +191,7 @@ function compileBriefRecord(fields, editMarc) { var li = new fieldmapper.jub(); li.marc(xmlString); li.picklist(fields.picklist); + if(fields.po) li.purchase_order(fields.po); li.selector(openils.User.user.id()); li.creator(openils.User.user.id()); li.editor(openils.User.user.id()); @@ -158,7 +207,9 @@ function compileBriefRecord(fields, editMarc) { // XXX load marc editor } else { if(fields.picklist) - location.href = location.href + '/../view/' + fields.picklist; + location.href = oilsBasePath + '/acq/picklist/view/' + fields.picklist; + else + location.href = oilsBasePath + '/acq/po/view/' + fields.po; } } } diff --git a/Open-ILS/web/js/ui/default/acq/picklist/view.js b/Open-ILS/web/js/ui/default/acq/picklist/view.js index aad6d64cc9..d89a5cd1a9 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/view.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/view.js @@ -12,6 +12,7 @@ var liTable; function load() { liTable = new AcqLiTable(); + liTable.isPL = plId; fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.picklist.retrieve'], { async: true, diff --git a/Open-ILS/web/templates/default/acq/common/li_table.tt2 b/Open-ILS/web/templates/default/acq/common/li_table.tt2 index 063c49295c..05c2e58ec3 100644 --- a/Open-ILS/web/templates/default/acq/common/li_table.tt2 +++ b/Open-ILS/web/templates/default/acq/common/li_table.tt2 @@ -17,6 +17,7 @@ + diff --git a/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 b/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 index 923b0e240c..af4e1adced 100644 --- a/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 +++ b/Open-ILS/web/templates/default/acq/picklist/brief_record.tt2 @@ -8,10 +8,14 @@ - + + + + +
Add To Selection List
Adding to Purchse Order