Bug 29230: Add Koha::Patron->messages
Add methods to return the messages attached to a patron.
It will add the capability to access them from notice templates.
Test plan:
Define some messages for a given patron
Go to the circulation page of the patron and confirm that they are still
displayed
Test the notice templates:
Add to HOLD_SLIP the following content
"""
[% SET messages = borrower.messages %]
[% IF messages.count %]
Messages:
<ul>
[% FOR m IN messages.search( message_type => 'L' ) %]
<li>[% m.message %]</li>
[% END %]
</ul>
[% END %]
"""
To display all the messages from staff ('L')
Adapt following your needs.
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Stina Hallin <stina.hallin@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
30b9270bd9
commit
7eca41c2a2
|
|
@ -44,6 +44,7 @@ use Koha::Patron::Debarments;
|
|||
use Koha::Patron::HouseboundProfile;
|
||||
use Koha::Patron::HouseboundRole;
|
||||
use Koha::Patron::Images;
|
||||
use Koha::Patron::Messages;
|
||||
use Koha::Patron::Modifications;
|
||||
use Koha::Patron::Relationships;
|
||||
use Koha::Patrons;
|
||||
|
|
@ -1625,6 +1626,20 @@ sub extended_attributes {
|
|||
return Koha::Patron::Attributes->_new_from_dbic($rs)->search;
|
||||
}
|
||||
|
||||
=head3 messages
|
||||
|
||||
my $messages = $patron->messages;
|
||||
|
||||
Return the message attached to the patron.
|
||||
|
||||
=cut
|
||||
|
||||
sub messages {
|
||||
my ( $self ) = @_;
|
||||
my $messages_rs = $self->_result->messages_borrowernumbers->search;
|
||||
return Koha::Patron::Messages->_new_from_dbic($messages_rs);
|
||||
}
|
||||
|
||||
=head3 lock
|
||||
|
||||
Koha::Patrons->find($id)->lock({ expire => 1, remove => 1 });
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ use Koha::Plugins;
|
|||
use Koha::Database;
|
||||
use Koha::BiblioFrameworks;
|
||||
use Koha::Items;
|
||||
use Koha::Patron::Messages;
|
||||
use Koha::SearchEngine;
|
||||
use Koha::SearchEngine::Search;
|
||||
use Koha::Patron::Modifications;
|
||||
|
|
@ -523,10 +522,8 @@ if ( $patron ) {
|
|||
}
|
||||
}
|
||||
|
||||
my $patron_messages = Koha::Patron::Messages->search(
|
||||
{
|
||||
'me.borrowernumber' => $borrowernumber,
|
||||
},
|
||||
my $patron_messages = $patron->messages->search(
|
||||
{},
|
||||
{
|
||||
join => 'manager',
|
||||
'+select' => ['manager.surname', 'manager.firstname' ],
|
||||
|
|
@ -579,7 +576,7 @@ if ($restoreduedatespec || $stickyduedate) {
|
|||
}
|
||||
|
||||
$template->param(
|
||||
patron_messages => $patron_messages,
|
||||
patron_messages => $patron_messages,
|
||||
borrowernumber => $borrowernumber,
|
||||
branch => $branch,
|
||||
was_renewed => scalar $query->param('was_renewed') ? 1 : 0,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 11;
|
||||
use Test::More tests => 12;
|
||||
use Test::Exception;
|
||||
use Test::Warn;
|
||||
|
||||
|
|
@ -895,3 +895,32 @@ subtest 'safe_to_delete() tests' => sub {
|
|||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
subtest 'messages' => sub {
|
||||
plan tests => 4;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
|
||||
my $messages = $patron->messages;
|
||||
is( $messages->count, 0, "No message yet" );
|
||||
my $message_1 = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Patron::Messages',
|
||||
value => { borrowernumber => $patron->borrowernumber }
|
||||
}
|
||||
);
|
||||
my $message_2 = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Patron::Messages',
|
||||
value => { borrowernumber => $patron->borrowernumber }
|
||||
}
|
||||
);
|
||||
|
||||
$messages = $patron->messages;
|
||||
is( $messages->count, 2, "There are two messages for this patron" );
|
||||
is( $messages->next->message, $message_1->message );
|
||||
is( $messages->next->message, $message_2->message );
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue