var list = new util.list( 'csp_list' );
list.init(
{
- 'columns' : patron.util.csp_columns({}),
+ 'columns' : patron.util.ausp_columns({}),
'map_row_to_columns' : patron.util.std_map_row_to_columns(),
'retrieve_row' : function(params) {
- params.row_node.setAttribute('retrieve_id',params.row.my.csp.id());
- if (params.row.my.ausp) { params.row_node.setAttribute('retrieve_ausp_id',params.row.my.ausp.id()); }
+ params.row_node.setAttribute('retrieve_id',params.row.my.ausp.id());
params.on_retrieve(params.row);
return params.row;
},
'on_select' : function(ev) {
var sel = list.retrieve_selection();
var ids = util.functional.map_list( sel, function(o) { return JSON2js( o.getAttribute('retrieve_id') ); } );
- var ausp_ids = util.functional.filter_list(
- util.functional.map_list( sel, function(o) { return JSON2js( o.getAttribute('retrieve_ausp_id') || 'null' ); } ),
- function(o) { return o != null; }
- );
if (ids.length > 0) {
- document.getElementById('cmd_apply_penalty').setAttribute('disabled','false');
- } else {
- document.getElementById('cmd_apply_penalty').setAttribute('disabled','true');
- }
- if (ausp_ids.length > 0) {
document.getElementById('cmd_remove_penalty').setAttribute('disabled','false');
} else {
document.getElementById('cmd_remove_penalty').setAttribute('disabled','true');
}
);
- for (var i = 0; i < data.list.csp.length; i++) {
- if (data.list.csp[i].id() > 100 ) {
- //if (true) {
- list.append(
- {
- 'row' : {
- 'my' : {
- 'csp' : data.list.csp[i],
- 'au' : xulG.patron,
- 'ausp' : util.functional.find_list( xulG.patron.standing_penalties(), function(o) { return o.standing_penalty().id() == data.list.csp[i].id(); } )
- }
- }
+ var rows = [];
+ for (var i = 0; i < xulG.patron.standing_penalties().length; i++) {
+ var row_params = {
+ 'row' : {
+ 'my' : {
+ 'ausp' : xulG.patron.standing_penalties()[i],
+ 'csp' : xulG.patron.standing_penalties()[i].standing_penalty(),
+ 'au' : xulG.patron,
}
- );
- }
+ }
+ };
+ rows[ xulG.patron.standing_penalties()[i].id() ] = list.append( row_params );
};
document.getElementById('cmd_apply_penalty').addEventListener(
'command',
function() {
var sel = list.retrieve_selection();
- var ids = util.functional.filter_list(
- util.functional.map_list( sel, function(o) { return JSON2js( o.getAttribute('retrieve_ausp_id') || 'null' ); } ),
- function(o) { return o != null; }
- );
+ var ids = util.functional.map_list( sel, function(o) { return JSON2js( o.getAttribute('retrieve_id') ); } );
if (ids.length > 0) {
function gen_func(id) {
return function() {
- var penalty = util.functional.find_list( xulG.patron.standing_penalties(), function(o) { return o.id() == id; } );
- penalty.isdeleted(1);
+ try {
+ var penalty = util.functional.find_list( xulG.patron.standing_penalties(), function(o) { return o.id() == id; } );
+ penalty.isdeleted(1);
- var req = net.simple_request( 'FM_AUSP_REMOVE', [ ses(), penalty ] );
- if (typeof req.ilsevent != 'undefined' || String(req) != '1') {
- error.standard_unexpected_error_alert(patronStrings.getFormattedString('staff.patron.standing_penalty.remove_error',[data.hash.csp[id].name()]),req);
+ var req = net.simple_request( 'FM_AUSP_REMOVE', [ ses(), penalty ] );
+ if (typeof req.ilsevent != 'undefined' || String(req) != '1') {
+ error.standard_unexpected_error_alert(patronStrings.getFormattedString('staff.patron.standing_penalty.remove_error',[id]),req);
+ } else {
+ var node = rows[ id ].my_node;
+ var parentNode = node.parentNode;
+ parentNode.removeChild( node );
+ delete(rows[ id ]);
+ }
+ } catch(E) {
+ alert(E);
}
};
}
return c.sort( function(a,b) { if (a.label < b.label) return -1; if (a.label > b.label) return 1; return 0; } );
}
-patron.util.csp_columns = function(modify,params) {
+patron.util.ausp_columns = function(modify,params) {
JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
JSAN.use('util.functional');
}
},
{
- 'persist' : 'hidden width ordinal', 'id' : 'ausp_applied', 'label' : commonStrings.getString('staff.ausp_applied_label'), 'flex' : 1,
- 'primary' : false, 'hidden' : false, 'render' : function(my) {
- return my.ausp ? commonStrings.getString('staff.ausp_applied_yes') : commonStrings.getString('staff.ausp_applied_no');
- }
- },
- {
'persist' : 'hidden width ordinal', 'id' : 'ausp_staff', 'label' : commonStrings.getString('staff.ausp_staff_label'), 'flex' : 1,
'primary' : false, 'hidden' : true, 'render' : function(my) {
return my.ausp ? my.ausp.staff() : '';