$logger->activity("User " . $staff->id . " updating user $uid settings with: " . Dumper(\@params));
- return $apputils->simplereq(
- 'open-ils.storage',
- 'open-ils.storage.direct.actor.user_setting.batch.merge', @params );
-
+ my $ses = $U->start_db_session();
+ my $stat = $ses->request(
+ 'open-ils.storage.direct.actor.user_setting.batch.merge', @params )->gather(1);
+ $U->commit_db_session($ses);
+
+ return $stat;
}
my( $staff, $evt ) = $apputils->checkses( $user_session );
return $evt if $evt;
- $evt = $apputils->check_perms( $staff->id, $ouid, 'UPDATE_ORG_UNIT' );
+ $evt = $apputils->check_perms( $staff->id, $ouid, 'UPDATE_ORG_SETTING' );
return $evt if $evt;
+ my @params;
+ for my $set (keys %$settings) {
- my @params =
- map { [{ org_unit => $ouid, name => $_}, {value => $$settings{$_}}] } keys %$settings;
+ my $json = JSON->perl2JSON($$settings{$set});
+ $logger->activity("updating org_unit.setting: $ouid : $set : $json");
- $_->[1]->{value} = JSON->perl2JSON($_->[1]->{value}) for @params;
+ push( @params,
+ { org_unit => $ouid, name => $set },
+ { value => $json } );
+ }
- $logger->activity("Updating org unit [$ouid] settings with: " . Dumper(\@params));
+ my $ses = $U->start_db_session();
+ my $stat = $ses->request(
+ 'open-ils.storage.direct.actor.org_unit_setting.merge', @params )->gather(1);
+ $U->commit_db_session($ses);
- return $apputils->simplereq(
- 'open-ils.storage',
- 'open-ils.storage.direct.actor.org_unit_setting.merge', @params );
+ return $stat;
}
return null;
}
-/*
-function alertILSEvent(code, msg) {
- if(!msg) msg = "";
- alert( msg + '\n' + $('ilsevent.' + code).innerHTML );
-}
-*/
function alertILSEvent(evt, msg) {
if(!msg) msg = "";
- alert(evt.textcode + '\n' + evt.desc );
+ if(msg)
+ alert(msg +'\n' + evt.textcode + '\n' + evt.desc );
+ else
+ alert(evt.textcode + '\n' + evt.desc );
}
Local System Administration
</div>
<img src='../skin/media/images/tools.png'/>
- <div style='padding: 5px;'>
+ <div style='padding: 8px;'>
<a href='javascript:_l("copy_locations.xhtml");'>Copy Locations Editor</a>
</div>
- <div style='padding: 5px;'>
+ <div style='padding: 8px;'>
<a href='javascript:_l("non_cat_types.xhtml");'>Non Cataloged Types Editor</a>
</div>
- <div style='padding: 5px;'>
+ <div style='padding: 8px;'>
<a href='javascript:_l("stat_cat_editor.xhtml");'>Statistical Categories Editor</a>
</div>
- <div style='padding: 5px;'>
+ <div style='padding: 8px;'>
<a href='javascript:_l("closed_dates.xhtml");'>Closed Dates Editor</a>
</div>
+ <div style='padding: 8px;'>
+ <a href='javascript:_l("org_settings.xhtml");'>Library Settings Editor</a>
+ </div>
</center>
</body>
</html>
var org = osCurrentOrg();
if(allOrgs) {
+ if(!confirmId('os_confirm_all')) return;
+ var sel = $('os_orgs');
+ var stop = false;
+ iterate( sel.options,
+ function(item) {
+ if(stop) return;
+ var o_unit = findOrgUnit(item.value);
+ var type = findOrgType(o_unit.ou_type()) ;
+ if( type.can_have_users() ) {
+ if(!osUpdateOrg(setting, val, o_unit.id()))
+ stop = true;
+ }
+ }
+ );
+ if(!stop) alertId('os_success');
} else {
- osUpdateOrg(setting, val, org);
+
+ if(osUpdateOrg(setting, val, org))
+ alertId('os_success');
}
osDrawRange();
var s = {};
s[setting] = value;
var req = new Request(ORG_SETTING_UPDATE, SESSION, org, s);
+ req.request.alertEvent = false;
req.send(true);
var resp = req.result();
- alert(js2JSON(resp));
-
if( checkILSEvent(resp) ) {
- alertILSEvent(resp);
+ alertILSEvent(resp, "Error updating " + findOrgUnit(org).name() );
return false;
}
</div>
</div>
</center>
+ <span id='os_success' class='hide_me'>
+ Update succeeded.
+ </span>
+ <span id='os_confirm_all' class='hide_me'>
+ This will update the setting for all of the locations listed in the dropdown menu.
+ Are you sure you wish to continue?
+ </span>
</body>
</html>