From e270b638ab2f6cbfe5a8b6ca2f0bcd6db6b466ad Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 25 Nov 2008 04:53:16 +0000 Subject: [PATCH] fleshing grid bits. plugged in group and penalty selector for the create dialog git-svn-id: svn://svn.open-ils.org/ILS/trunk@11329 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../global/permission/grp_penalty_threshold.js | 134 +++++++++++++-------- .../global/permission/grp_penalty_threshold.tt2 | 16 ++- 2 files changed, 96 insertions(+), 54 deletions(-) diff --git a/Open-ILS/web/js/ui/default/conify/global/permission/grp_penalty_threshold.js b/Open-ILS/web/js/ui/default/conify/global/permission/grp_penalty_threshold.js index 1680950d38..3bb496f0bc 100644 --- a/Open-ILS/web/js/ui/default/conify/global/permission/grp_penalty_threshold.js +++ b/Open-ILS/web/js/ui/default/conify/global/permission/grp_penalty_threshold.js @@ -2,59 +2,95 @@ dojo.require('dojox.grid.DataGrid'); dojo.require('dojo.data.ItemFileReadStore'); dojo.require('dijit.form.NumberTextBox'); dojo.require('dijit.form.FilteringSelect'); +dojo.require('openils.widget.OrgUnitFilteringSelect'); +dojo.require('openils.widget.PermGrpFilteringSelect'); -var gptList; - -function gptBuildGrid() { - fieldmapper.standardRequest( - ['open-ils.permacrud', 'open-ils.permacrud.search.pgpt.atomic'], - { async: true, - params: [openils.User.authtoken, {id:{'!=':null}}], - oncomplete: function(r) { - if(gptList = openils.Util.readResponse(r, false, true)) { - gptList = gptList.sort( - function(a, b) { - if(a.id() > b.id()) - return 1; - return -1; - } - ); - var store = new dojo.data.ItemFileReadStore({data:pgpt.toStoreData(gptList)}); - gptGrid.setStore(store); - gptGrid.render(); +var GPT = { + + _gridComplete : function(r) { + if(GPT.list = openils.Util.readResponse(r, false, true)) { + GPT.list = GPT.list.sort( + function(a, b) { + if(a.id() > b.id()) + return 1; + return -1; } - } + ); + var store = new dojo.data.ItemFileReadStore({data:pgpt.toStoreData(GPT.list)}); + gptGrid.setStore(store); + gptGrid.render(); } - ); -} - -function spCreate(args) { - return alert(js2JSON(args)); - - if(!(args.name && args.label)) return; - - var penalty = new pgpt(); - penalty.name(args.name); - penalty.label(args.label); - - var str = ''; - for(var idx in args.block_list) - str += args.block_list[idx] + '|'; - str = str.replace(/\|$/, ''); - penalty.block_list(str || null); - - fieldmapper.standardRequest( - ['open-ils.permacrud', 'open-ils.permacrud.create.pgpt'], - { async: true, - params: [openils.User.authtoken, penalty], - oncomplete: function(r) { - if(new String(openils.Util.readResponse(r)) != '0') - gptBuildGrid(); + }, + + buildGrid : function() { + GPT.grpSelector.fetchGroups( + function() { + GPT.grpSelector.flatten(); + fieldmapper.standardRequest( + ['open-ils.permacrud', 'open-ils.permacrud.search.pgpt.atomic'], + { async: true, + params: [openils.User.authtoken, {id:{'!=':null}}], + oncomplete: GPT._gridComplete + } + ); } - } - ); -} + ); + }, + + create : function(args) { -openils.Util.addOnLoad(gptBuildGrid); + return alert(js2JSON(args)); + if(!(args.name && args.label)) return; + + var penalty = new pgpt(); + penalty.name(args.name); + penalty.label(args.label); + + + fieldmapper.standardRequest( + ['open-ils.permacrud', 'open-ils.permacrud.create.pgpt'], + { async: true, + params: [openils.User.authtoken, penalty], + oncomplete: function(r) { + if(new String(openils.Util.readResponse(r)) != '0') + gptBuildGrid(); + } + } + ); + }, + + getGroupName : function(rowIdx, item) { + if(!item) return ''; + var grpId = this.grid.store.getValue(item, this.field); + return GPT.grpSelector.groupMap[grpId].name(); + }, + + _loadCspComplete : function(r) { + if(list = openils.Util.readResponse(r, false, true)) { + list = list.sort( + function(a, b) { + if(a.id() > b.id()) + return 1; + return -1; + } + ); + GPT.penaltySelector.store = + new dojo.data.ItemFileReadStore({data:csp.toStoreData(list)}); + GPT.penaltySelector.startup(); + + } + }, + + loadCsp : function() { + fieldmapper.standardRequest( + ['open-ils.permacrud', 'open-ils.permacrud.search.csp.atomic'], + { async: true, + params: [openils.User.authtoken, {id:{'!=':null}}], + oncomplete: GPT._loadCspComplete + } + ); + } +}; +openils.Util.addOnLoad(GPT.buildGrid); diff --git a/Open-ILS/web/templates/default/conify/global/permission/grp_penalty_threshold.tt2 b/Open-ILS/web/templates/default/conify/global/permission/grp_penalty_threshold.tt2 index 169f1d2247..beb33cdf82 100644 --- a/Open-ILS/web/templates/default/conify/global/permission/grp_penalty_threshold.tt2 +++ b/Open-ILS/web/templates/default/conify/global/permission/grp_penalty_threshold.tt2 @@ -6,24 +6,30 @@
New Group Penalty Threshold -
+
+ @@ -45,7 +51,7 @@ - + -- 2.11.0
- +
- +
-
IDGroupGroup Context Org Unit Penalty threshold