@@ -, +, @@ logged to that message if BorrowersLog is enabled --- Koha/Patron/Message.pm | 9 +++- circ/add_message.pl | 23 +++++---- .../prog/en/includes/patron_messages.inc | 47 ++++++++++++++++++- .../prog/en/modules/tools/viewlog.tt | 3 +- 4 files changed, 69 insertions(+), 13 deletions(-) --- a/Koha/Patron/Message.pm +++ a/Koha/Patron/Message.pm @@ -53,8 +53,13 @@ sub store { $self->manager_id( $userenv ? $userenv->{number} : undef ); } - C4::Log::logaction( "MEMBERS", "ADDCIRCMESSAGE", $self->borrowernumber, $self->message ) - if C4::Context->preference("BorrowersLog"); + if ( C4::Context->preference("BorrowersLog") ) { + if ( $self->in_storage ) { + C4::Log::logaction( "MEMBERS", "MODCIRCMESSAGE", $self->borrowernumber, $self->message ) + } else { + C4::Log::logaction( "MEMBERS", "ADDCIRCMESSAGE", $self->borrowernumber, $self->message ) + } + } return $self->SUPER::store($self); } --- a/circ/add_message.pl +++ a/circ/add_message.pl @@ -35,20 +35,27 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); +my $message_id = $input->param('message_id'); my $borrowernumber = $input->param('borrowernumber'); my $branchcode = $input->param('branchcode'); my $message_type = $input->param('message_type'); my $borrower_message = $input->param('borrower_message'); my $batch = $input->param('batch'); -Koha::Patron::Message->new( - { - borrowernumber => $borrowernumber, - branchcode => $branchcode, - message_type => $message_type, - message => $borrower_message, - } -)->store; +if ($message_id) { + my $message = Koha::Patron::Messages->find($message_id); + $message->update( { message => $borrower_message } ) if $message; +} +else { + Koha::Patron::Message->new( + { + borrowernumber => $borrowernumber, + branchcode => $branchcode, + message_type => $message_type, + message => $borrower_message, + } + )->store; +} my $url = $input->referer; if ( $url ) { --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc @@ -311,9 +311,11 @@ [% IF patron_message.branchcode == Branches.GetLoggedInBranchcode OR Koha.Preference('AllowAllMessageDeletion') %] [% IF moremember %] - Delete + Edit + Delete [% ELSE %] - Delete + Edit + Delete [% END %] [% END %] @@ -321,4 +323,45 @@ Add a new message + + [% FOREACH pm IN patron_messages %] + + [% END %] + [% END # /IF patron_messages %] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt @@ -119,6 +119,7 @@ [% CASE 'RENEWAL' %]Renew [% CASE 'CHANGE PASS' %]Change password [% CASE 'ADDCIRCMESSAGE' %]Add circulation message +[% CASE 'MODCIRCMESSAGE' %]Modify circulation message [% CASE 'DELCIRCMESSAGE' %]Delete circulation message [% CASE 'STATUS_CHANGE' %]Change ILL request status [% CASE 'PATRON_NOTICE' %]ILL notice sent to patron @@ -243,7 +244,7 @@ [% END %] - [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'FILL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'End' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' 'CANCEL_ORDER' 'CREATE_ORDER' 'MODIFY_ORDER' 'CREATE_INVOICE_ADJUSTMENT' 'UPDATE_INVOICE_ADJUSTMENT' 'DELETE_INVOICE_ADJUSTMENT' 'RECEIVE_ORDER' 'MODIFY_BUDGET' 'MODIFY_FUND' 'CREATE_FUND' 'DELETE_FUND' 'OVERDUE' 'EXPIRE' ] %] + [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'FILL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'MODCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'End' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' 'CANCEL_ORDER' 'CREATE_ORDER' 'MODIFY_ORDER' 'CREATE_INVOICE_ADJUSTMENT' 'UPDATE_INVOICE_ADJUSTMENT' 'DELETE_INVOICE_ADJUSTMENT' 'RECEIVE_ORDER' 'MODIFY_BUDGET' 'MODIFY_FUND' 'CREATE_FUND' 'DELETE_FUND' 'OVERDUE' 'EXPIRE' ] %] [% IF actions.grep(actx).size %] [% ELSE %] --