Bugzilla – Attachment 126641 Details for
Bug 29230
Patron's messages not accessible from template notices
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29230: Add Koha::Patron->messages
Bug-29230-Add-KohaPatron-messages.patch (text/plain), 4.21 KB, created by
Jonathan Druart
on 2021-10-21 08:01:49 UTC
(
hide
)
Description:
Bug 29230: Add Koha::Patron->messages
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2021-10-21 08:01:49 UTC
Size:
4.21 KB
patch
obsolete
>From 0558f8f8bf3b222f227804d01f27b72566b68416 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 21 Oct 2021 09:57:38 +0200 >Subject: [PATCH] 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. >--- > Koha/Patron.pm | 15 +++++++++++++++ > circ/circulation.pl | 9 +++------ > t/db_dependent/Koha/Patron.t | 31 ++++++++++++++++++++++++++++++- > 3 files changed, 48 insertions(+), 7 deletions(-) > >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 6160c440b79..67c2c0724b4 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -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 }); >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 261f26dd576..702201a6c61 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -50,7 +50,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; >@@ -522,10 +521,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' ], >@@ -578,7 +575,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, >diff --git a/t/db_dependent/Koha/Patron.t b/t/db_dependent/Koha/Patron.t >index 2929349661e..1e6d6945a18 100755 >--- a/t/db_dependent/Koha/Patron.t >+++ b/t/db_dependent/Koha/Patron.t >@@ -19,7 +19,7 @@ > > use Modern::Perl; > >-use Test::More tests => 10; >+use Test::More tests => 11; > use Test::Exception; > use Test::Warn; > >@@ -846,3 +846,32 @@ subtest 'article_requests() 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; >+}; >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29230
:
126641
|
127678
|
128162
|
130044
|
130097