Support mapping patron profile names to new values using a
"userpriv" file.
This is a re-implementation of a feature from MCLS / Jon Scott code
received via e-mail.
See userpriv-example for an example mapping file.
Signed-off-by: Jeff Godin <jgodin@tadl.org>
[path]
oils_header = /openils/bin/support-scripts/oils_header.pl
opensrf_core = /openils/conf/opensrf_core.xml
[path]
oils_header = /openils/bin/support-scripts/oils_header.pl
opensrf_core = /openils/conf/opensrf_core.xml
[status]
loan_requested = 110
[status]
loan_requested = 110
+# load and parse userpriv_map file, returning a hashref
+sub load_userpriv_map {
+ my $filename = shift;
+ my $map = {};
+ if (open(my $fh, "<", $filename)) {
+ while (my $entry = <$fh>) {
+ chomp($entry);
+ my ($from, $to) = split(m/:/, $entry);
+ $map->{$from} = $to;
+ }
+ close $fh;
+ }
+ return $map;
+}
+
+sub lookup_userpriv {
+ my $input = shift;
+ my $map = shift;
+ if (defined($map->{$input})) { # if we have a mapping for this profile
+ return $map->{$input}; # return value from mapping hash
+ } else {
+ return $input; # return original value
+ }
+}
+
sub logit {
my ( $msg, $func, $more_info ) = @_;
open RESP_DATA, ">>resp_data.txt";
sub logit {
my ( $msg, $func, $more_info ) = @_;
open RESP_DATA, ">>resp_data.txt";
$good_until = $patron->expire_date || "unknown";
$userpriv = $patron->profile->name;
$good_until = $patron->expire_date || "unknown";
$userpriv = $patron->profile->name;
+ my $userpriv_map = load_userpriv_map( $conf->{path}->{userpriv_map} );
+
+ if ($userpriv_map) {
+ $userpriv = lookup_userpriv($userpriv);
+ }
+
#} else {
# do_lookup_user_error_stanza("PATRON_NOT_FOUND : $id");
# die;
#} else {
# do_lookup_user_error_stanza("PATRON_NOT_FOUND : $id");
# die;
--- /dev/null
+Staff:Patrons
+Catalogers:Patrons
+Circulators:Patrons