record => 0,
mods => 0,
hold_patron_phone => 0,
+ hold_patron_email => 0,
);
our $AUTOLOAD;
syslog('LOG_WARNING', "OILS: Item(".$copy->barcode.
") is captured for a hold, but there is no matching hold request") unless $hold;
$self->{hold_patron_phone} = $hold->phone_notify unless !$hold;
+ $self->{hold_patron_email} = $hold->email_notify unless !$hold;
return $hold;
}
($u->family_name || ''));
}
+sub format_name_noble {
+ my $u = shift;
+ return sprintf('%s, %s %s',
+ ($u->family_name || ''),
+ ($u->first_given_name || ''),
+ ($u->second_given_name || ''));
+}
+
+sub name_alias {
+ my $u = shift;
+ return $u->alias;
+}
+
sub home_library {
my $self = shift;
my $lib = OpenILS::SIP::shortname_from_id($self->{user}->home_ou);
my $holder = OpenILS::SIP->editor()->retrieve_actor_user(
[$self->item->hold->usr, {flesh => 1, flesh_fields => {au => ['card']}}]);
- my $holder_name = OpenILS::SIP::Patron::format_name($holder);
+ my $holder_name = OpenILS::SIP::Patron::format_name_noble($holder);
+ my $holder_alias = OpenILS::SIP::Patron::name_alias($holder);
if (ref $self->item->hold->pickup_lib) {
$pickup_lib_id = $self->item->hold->pickup_lib->id;
}
$self->item->hold_patron_bcode( ($holder->card) ? $holder->card->barcode : '');
- $self->item->hold_patron_name($holder_name);
+ $self->item->hold_patron_name( ($holder_alias) ? $holder_alias : $holder_name );
$self->item->destination_loc($pickup_lib_sn);
$self->item->hold_patron_phone($self->item->hold->phone_notify);
+ my $email_notify = ( ($self->item->hold->email_notify eq 't') ? 'TRUE' : '');
+ my $sms_notify = $self->item->hold->sms_notify;
+ $self->item->hold_patron_email( ($email_notify || $sms_notify) ? 'NOTIFIED' : '');
+
+
my $atype = ($pickup_lib_id == $phys_location) ? '01' : '02';
$self->alert_type($atype);
}