@@ -, +, @@ customized ae_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]" --- C4/SIP/ILS/Patron.pm | 20 ++++++++++++++++++++ C4/SIP/Sip/MsgType.pm | 6 +++--- etc/SIPconfig.xml | 1 + 3 files changed, 24 insertions(+), 3 deletions(-) --- a/C4/SIP/ILS/Patron.pm +++ a/C4/SIP/ILS/Patron.pm @@ -190,6 +190,26 @@ sub AUTOLOAD { } } +sub name { + my ( $self, $template ) = @_; + + if ($template) { + require Template; + require Koha::Patrons; + + my $tt = Template->new(); + + my $patron = Koha::Patrons->find( $self->{borrowernumber} ); + + my $output; + $tt->process( \$template, { patron => $patron }, \$output ); + return $output; + } + else { + return $self->{name}; + } +} + sub check_password { my ( $self, $pwd ) = @_; --- a/C4/SIP/Sip/MsgType.pm +++ a/C4/SIP/Sip/MsgType.pm @@ -420,7 +420,7 @@ sub build_patron_status { $resp .= patron_status_string($patron); $resp .= $lang . timestamp(); - $resp .= add_field( FID_PERSONAL_NAME, $patron->name ); + $resp .= add_field( FID_PERSONAL_NAME, $patron->name( $server->{account}->{ae_field_template} ) ); # while the patron ID we got from the SC is valid, let's # use the one returned from the ILS, just in case... @@ -956,7 +956,7 @@ sub handle_patron_info { # while the patron ID we got from the SC is valid, let's # use the one returned from the ILS, just in case... $resp .= add_field( FID_PATRON_ID, $patron->id ); - $resp .= add_field( FID_PERSONAL_NAME, $patron->name ); + $resp .= add_field( FID_PERSONAL_NAME, $patron->name( $server->{account}->{ae_field_template} ) ); # TODO: add code for the fields # hold items limit @@ -1248,7 +1248,7 @@ sub handle_patron_enable { $resp .= $patron->language . timestamp(); $resp .= add_field( FID_PATRON_ID, $patron->id ); - $resp .= add_field( FID_PERSONAL_NAME, $patron->name ); + $resp .= add_field( FID_PERSONAL_NAME, $patron->name( $server->{account}->{ae_field_template} ) ); if ( defined($patron_pwd) ) { $resp .= add_field( FID_VALID_PATRON_PWD, sipbool( $patron->check_password($patron_pwd) ) ); } --- a/etc/SIPconfig.xml +++ a/etc/SIPconfig.xml @@ -51,6 +51,7 @@ --