From: Jason Etheridge Date: Thu, 10 Mar 2011 20:53:46 +0000 (-0500) Subject: management interfaces for prefixes and suffixes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=05f382bff865dd877b3ddf6c093f13ab08722a25;p=evergreen%2Fequinox.git management interfaces for prefixes and suffixes --- diff --git a/Open-ILS/web/js/ui/default/conify/global/config/acn_prefix.js b/Open-ILS/web/js/ui/default/conify/global/config/acn_prefix.js new file mode 100644 index 0000000000..2d307a8906 --- /dev/null +++ b/Open-ILS/web/js/ui/default/conify/global/config/acn_prefix.js @@ -0,0 +1,72 @@ +dojo.require('dojox.grid.DataGrid'); +dojo.require('openils.widget.AutoGrid'); +dojo.require('dojox.grid.cells.dijit'); +dojo.require('dojo.data.ItemFileWriteStore'); +dojo.require('dijit.form.CurrencyTextBox'); +dojo.require('dijit.Dialog'); +dojo.require('dojox.widget.PlaceholderMenuItem'); +dojo.require('fieldmapper.OrgUtils'); +dojo.require('dijit.form.FilteringSelect'); +dojo.require('openils.PermaCrud'); +dojo.require('openils.widget.OrgUnitFilteringSelect'); + +var thingContextOrg; +var thingList; + +/** really need to put this in a shared location... */ +function getOrgInfo(rowIndex, item) { + if(!item) return ''; + var orgId = this.grid.store.getValue(item, this.field); + return fieldmapper.aou.findOrgUnit(orgId).shortname(); +} + +function thingInit() { + + thingGrid.disableSelectorForRow = function(rowIdx) { + var item = thingGrid.getItem(rowIdx); + return (thingGrid.store.getValue(item, 'id') < 0); + } + + buildGrid(); + var connect = function() { + dojo.connect(thingContextOrgSelect, 'onChange', + function() { + thingContextOrg = this.getValue(); + thingGrid.resetStore(); + buildGrid(); + } + ); + }; + // go ahead and let staff see everything + new openils.User().buildPermOrgSelector('STAFF_LOGIN', thingContextOrgSelect, null, connect); +} + +function buildGrid() { + if(thingContextOrg == null) + thingContextOrg = openils.User.user.ws_ou(); + + fieldmapper.standardRequest( + ['open-ils.pcrud', 'open-ils.pcrud.search.acnp.atomic'], + { async: true, + params: [ + openils.User.authtoken, + {"owning_lib":fieldmapper.aou.descendantNodeList(thingContextOrg,true)}, + {"order_by":{"acnp":"label_sortkey"}} + ], + oncomplete: function(r) { + if(thingList = openils.Util.readResponse(r)) { + thingList = openils.Util.objectSort(thingList); + dojo.forEach(thingList, + function(e) { + thingGrid.store.newItem(acnp.toStoreItem(e)); + } + ); + } + } + } + ); +} + +openils.Util.addOnLoad(thingInit); + + diff --git a/Open-ILS/web/js/ui/default/conify/global/config/acn_suffix.js b/Open-ILS/web/js/ui/default/conify/global/config/acn_suffix.js new file mode 100644 index 0000000000..c79cd0e569 --- /dev/null +++ b/Open-ILS/web/js/ui/default/conify/global/config/acn_suffix.js @@ -0,0 +1,72 @@ +dojo.require('dojox.grid.DataGrid'); +dojo.require('openils.widget.AutoGrid'); +dojo.require('dojox.grid.cells.dijit'); +dojo.require('dojo.data.ItemFileWriteStore'); +dojo.require('dijit.form.CurrencyTextBox'); +dojo.require('dijit.Dialog'); +dojo.require('dojox.widget.PlaceholderMenuItem'); +dojo.require('fieldmapper.OrgUtils'); +dojo.require('dijit.form.FilteringSelect'); +dojo.require('openils.PermaCrud'); +dojo.require('openils.widget.OrgUnitFilteringSelect'); + +var thingContextOrg; +var thingList; + +/** really need to put this in a shared location... */ +function getOrgInfo(rowIndex, item) { + if(!item) return ''; + var orgId = this.grid.store.getValue(item, this.field); + return fieldmapper.aou.findOrgUnit(orgId).shortname(); +} + +function thingInit() { + + thingGrid.disableSelectorForRow = function(rowIdx) { + var item = thingGrid.getItem(rowIdx); + return (thingGrid.store.getValue(item, 'id') < 0); + } + + buildGrid(); + var connect = function() { + dojo.connect(thingContextOrgSelect, 'onChange', + function() { + thingContextOrg = this.getValue(); + thingGrid.resetStore(); + buildGrid(); + } + ); + }; + // go ahead and let staff see everything + new openils.User().buildPermOrgSelector('STAFF_LOGIN', thingContextOrgSelect, null, connect); +} + +function buildGrid() { + if(thingContextOrg == null) + thingContextOrg = openils.User.user.ws_ou(); + + fieldmapper.standardRequest( + ['open-ils.pcrud', 'open-ils.pcrud.search.acns.atomic'], + { async: true, + params: [ + openils.User.authtoken, + {"owning_lib":fieldmapper.aou.descendantNodeList(thingContextOrg,true)}, + {"order_by":{"acns":"label_sortkey"}} + ], + oncomplete: function(r) { + if(thingList = openils.Util.readResponse(r)) { + thingList = openils.Util.objectSort(thingList); + dojo.forEach(thingList, + function(e) { + thingGrid.store.newItem(acns.toStoreItem(e)); + } + ); + } + } + } + ); +} + +openils.Util.addOnLoad(thingInit); + + diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index 42645b40f9..562de27ad4 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -707,6 +707,8 @@ + + diff --git a/Open-ILS/web/templates/default/conify/global/config/acn_prefix.tt2 b/Open-ILS/web/templates/default/conify/global/config/acn_prefix.tt2 new file mode 100644 index 0000000000..5e7f64080a --- /dev/null +++ b/Open-ILS/web/templates/default/conify/global/config/acn_prefix.tt2 @@ -0,0 +1,37 @@ +[% WRAPPER default/base.tt2 %] +[% ctx.page_title = 'Call Number Prefixes' %] + + + + +
+
+
Call Number Prefixes
+
+ + +
+
+
+ Context Org Unit + +
+ + + + +
+
+ +[% END %] + + diff --git a/Open-ILS/web/templates/default/conify/global/config/acn_suffix.tt2 b/Open-ILS/web/templates/default/conify/global/config/acn_suffix.tt2 new file mode 100644 index 0000000000..40dcbb962f --- /dev/null +++ b/Open-ILS/web/templates/default/conify/global/config/acn_suffix.tt2 @@ -0,0 +1,37 @@ +[% WRAPPER default/base.tt2 %] +[% ctx.page_title = 'Call Number Suffixes' %] + + + + +
+
+
Call Number Suffixes
+
+ + +
+
+
+ Context Org Unit + +
+ + + + +
+
+ +[% END %] + + diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index f63ad8e508..28356dec50 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -732,6 +732,14 @@ main.menu.prototype = { ['oncommand'], function() { open_eg_web_page('conify/global/config/record_attr_definition'); } ], + 'cmd_server_admin_acn_prefix' : [ + ['oncommand'], + function() { open_eg_web_page('conify/global/config/acn_prefix'); } + ], + 'cmd_server_admin_acn_suffix' : [ + ['oncommand'], + function() { open_eg_web_page('conify/global/config/acn_suffix'); } + ], 'cmd_server_admin_billing_type' : [ ['oncommand'], function() { open_eg_web_page('conify/global/config/billing_type'); } diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul index a017100e70..00306be4b3 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul @@ -140,6 +140,8 @@ + + @@ -392,6 +394,8 @@ + +