Bugzilla – Attachment 146545 Details for
Bug 18595
Move C4::Members::Messaging to Koha namespace
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18595: Move C4::Members::Messaging::GetMessagingPreferences
Bug-18595-Move-C4MembersMessagingGetMessagingPrefe.patch (text/plain), 26.87 KB, created by
Lari Taskula
on 2023-02-11 14:04:51 UTC
(
hide
)
Description:
Bug 18595: Move C4::Members::Messaging::GetMessagingPreferences
Filename:
MIME Type:
Creator:
Lari Taskula
Created:
2023-02-11 14:04:51 UTC
Size:
26.87 KB
patch
obsolete
>From ef322cccbdb666f89001fca46f24a8e070e62c28 Mon Sep 17 00:00:00 2001 >From: Lari Taskula <lari.taskula@jns.fi> >Date: Thu, 27 Oct 2016 16:08:50 +0300 >Subject: [PATCH] Bug 18595: Move > C4::Members::Messaging::GetMessagingPreferences >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >This patch moves C4::Members::Messaging::GetMessagingPreferences to >Koha::Patron::MessagePreference(s) >The patch makes a heavy touch on core messaging preference features, >but should not introduce any visible changes for end user. Keep this in mind >if testing. If you notice any changes in Koha, something is probably wrong! > >To test: > >Make sure you have enabled the following system preferences: >- EnhancedMessagingPreferences > >---- GENERAL ---- >1. Apply patch >2. Search Koha source code for references of "GetMessagingPreferences" > (grep -r 'GetMessagingPreferences'). >3. Observe no results in source code. > >---- UNIT TESTS ---- >1. prove t/db_dependent/Circulation.t >2. prove t/db_dependent/Reserves.t >3. prove t/db_dependent/Koha/Patron/Categories.t >4. prove t/db_dependent/api/v1/patrons.t > >Signed-off-by: Marc Véron <veron@veron.ch> > >Signed-off-by: David Bourgault <david.bourgault@inlibro.com> > >Rebased-by: Emmi Takkinen <emmi.takkinen@outlook.com> >--- > C4/Circulation.pm | 5 +- > C4/Form/MessagingPreferences.pm | 9 ++-- > C4/Members/Messaging.pm | 64 ------------------------- > C4/Reserves.pm | 13 +++-- > Koha/CurbsidePickup.pm | 1 - > Koha/Illrequest.pm | 5 +- > Koha/Patron.pm | 6 +-- > Koha/Patron/Category.pm | 14 +++--- > circ/returns.pl | 9 +++- > misc/cronjobs/advance_notices.pl | 44 +++++++++-------- > misc/cronjobs/automatic_renewals.pl | 15 +++--- > t/db_dependent/Koha/Patron/Categories.t | 6 +-- > t/db_dependent/api/v1/patrons.t | 2 +- > 13 files changed, 70 insertions(+), 123 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 547c89df48..0a754e3f08 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -49,6 +49,7 @@ use Koha::Illrequests; > use Koha::Items; > use Koha::Patrons; > use Koha::Patron::Debarments qw( DelUniqueDebarment AddUniqueDebarment ); >+use Koha::Patron::MessagePreferences; > use Koha::Database; > use Koha::Libraries; > use Koha::Account::Lines; >@@ -3595,7 +3596,7 @@ sub SendCirculationAlert { > CHECKOUT => 'Item_Checkout', > RENEWAL => 'Item_Checkout', > ); >- my $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences({ >+ return unless my $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ > borrowernumber => $borrower->{borrowernumber}, > message_name => $message_name{$type}, > }); >@@ -3618,7 +3619,7 @@ sub SendCirculationAlert { > } > > my $schema = Koha::Database->new->schema; >- my @transports = keys %{ $borrower_preferences->{transports} }; >+ my @transports = keys %{ $borrower_preferences->message_transport_types }; > > # From the MySQL doc: > # LOCK TABLES is not transaction-safe and implicitly commits any active transaction before attempting to lock the tables. >diff --git a/C4/Form/MessagingPreferences.pm b/C4/Form/MessagingPreferences.pm >index be95f83846..55a0f2f2a4 100644 >--- a/C4/Form/MessagingPreferences.pm >+++ b/C4/Form/MessagingPreferences.pm >@@ -132,21 +132,22 @@ sub set_form_values { > # walk through the options and update them with these borrower_preferences > my $messaging_options = Koha::Patron::MessagePreferences->get_options; > PREF: foreach my $option ( @$messaging_options ) { >- my $pref = C4::Members::Messaging::GetMessagingPreferences( { %{ $target_params }, message_name => $option->{'message_name'} } ); >+ my $pref = Koha::Patron::MessagePreferences->find( { %{ $target_params }, message_attribute_id => $option->{'message_attribute_id'} } ); > $option->{ $option->{'message_name'} } = 1; > # make a hashref of the days, selecting one. > if ( $option->{'takes_days'} ) { >- my $days_in_advance = $pref->{'days_in_advance'} ? $pref->{'days_in_advance'} : 0; >+ my $days_in_advance = $pref && $pref->days_in_advance ? $pref->days_in_advance : 0; > $option->{days_in_advance} = $days_in_advance; > @{$option->{'select_days'}} = map { { > day => $_, > selected => $_ == $days_in_advance } > } ( 0..MAX_DAYS_IN_ADVANCE ); > } >- foreach my $transport ( keys %{$pref->{'transports'}} ) { >+ next unless $pref; >+ foreach my $transport ( keys %{$pref->message_transport_types} ) { > $option->{'transports_'.$transport} = 1; > } >- $option->{'digest'} = 1 if $pref->{'wants_digest'}; >+ $option->{'digest'} = 1 if $pref->wants_digest; > } > $template->param(messaging_preferences => $messaging_options); > } >diff --git a/C4/Members/Messaging.pm b/C4/Members/Messaging.pm >index 945b72fb87..d28de2ccd7 100644 >--- a/C4/Members/Messaging.pm >+++ b/C4/Members/Messaging.pm >@@ -35,70 +35,6 @@ This module lets you modify a patron's messaging preferences. > > =head1 FUNCTIONS > >-=head2 GetMessagingPreferences >- >- my $preferences = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $borrower->{'borrowernumber'}, >- message_name => 'Item_Due ' } ); >- >- my $preferences = C4::Members::Messaging::GetMessagingPreferences( { categorycode => 'LIBRARY', >- message_name => 'Item_Due ' } ); >- >-returns: a hashref of messaging preferences for a borrower or patron category for a particlar message_name >- >-Requires either a borrowernumber or a categorycode key, but not both. >- >-message_name argument is a message attribute name. >- >-=cut >- >-sub GetMessagingPreferences { >- my $params = shift; >- >- return unless exists $params->{message_name}; >- return unless exists $params->{borrowernumber} xor exists $params->{categorycode}; # yes, xor >- my $sql = <<'END_SQL'; >-SELECT borrower_message_preferences.*, >- borrower_message_transport_preferences.message_transport_type, >- message_attributes.message_name, >- message_attributes.takes_days, >- message_transports.is_digest, >- message_transports.letter_module, >- message_transports.letter_code >-FROM borrower_message_preferences >-LEFT JOIN borrower_message_transport_preferences >-ON borrower_message_transport_preferences.borrower_message_preference_id = borrower_message_preferences.borrower_message_preference_id >-LEFT JOIN message_attributes >-ON message_attributes.message_attribute_id = borrower_message_preferences.message_attribute_id >-LEFT JOIN message_transports >-ON message_transports.message_attribute_id = message_attributes.message_attribute_id >-AND message_transports.message_transport_type = borrower_message_transport_preferences.message_transport_type >-AND message_transports.is_digest = borrower_message_preferences.wants_digest >-WHERE message_attributes.message_name = ? >-END_SQL >- >- my @bind_params = ( $params->{'message_name'} ); >- if ( exists $params->{'borrowernumber'} ) { >- $sql .= " AND borrower_message_preferences.borrowernumber = ? "; >- push @bind_params, $params->{borrowernumber}; >- } else { >- $sql .= " AND borrower_message_preferences.categorycode = ? "; >- push @bind_params, $params->{categorycode}; >- } >- >- my $sth = C4::Context->dbh->prepare($sql); >- $sth->execute(@bind_params); >- my $return; >- ROW: while ( my $row = $sth->fetchrow_hashref() ) { >- next ROW unless $row->{'message_attribute_id'}; >- $return->{'days_in_advance'} = $row->{'days_in_advance'} if defined $row->{'days_in_advance'}; >- $return->{'wants_digest'} = $row->{'wants_digest'} if defined $row->{'wants_digest'}; >- $return->{'letter_code'} = $row->{'letter_code'}; >- next unless defined $row->{'message_transport_type'}; >- $return->{'transports'}->{ $row->{'message_transport_type'} } = $row->{'letter_code'}; >- } >- return $return; >-} >- > =head2 SetMessagingPreference > > This method defines how a user (or a default for a patron category) wants to get a certain >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 987543e1cd..1785c2c3cc 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -44,6 +44,7 @@ use Koha::ItemTypes; > use Koha::Items; > use Koha::Libraries; > use Koha::Old::Holds; >+use Koha::Patron::MessagePreferences; > use Koha::Patrons; > use Koha::Plugins; > >@@ -1882,10 +1883,10 @@ sub _koha_notify_reserve { > # Try to get the borrower's email address > my $to_address = $patron->notice_email_address; > >- my $messagingprefs = C4::Members::Messaging::GetMessagingPreferences( { >- borrowernumber => $borrowernumber, >- message_name => 'Hold_Filled' >- } ); >+ my $messagingpref = Koha::Patron::MessagePreferences->find_with_message_name({ >+ borrowernumber => $borrowernumber, >+ message_name => 'Hold_Filled', >+ }); > > my $library = Koha::Libraries->find( $hold->branchcode ); > my $from_email_address = $library->from_email_address; >@@ -1924,7 +1925,9 @@ sub _koha_notify_reserve { > } ); > }; > >- while ( my ( $mtt, $letter_code ) = each %{ $messagingprefs->{transports} } ) { >+ my $transports = $messagingpref->message_transport_types if $messagingpref; >+ foreach my $mtt (keys %{$transports}) { >+ my $letter_code = $transports->{$mtt}; > next if ( > ( $mtt eq 'email' and not $to_address ) # No email address > or ( $mtt eq 'sms' and not $patron->smsalertnumber ) # No SMS number >diff --git a/Koha/CurbsidePickup.pm b/Koha/CurbsidePickup.pm >index cbbd1632d3..430fc7b1dd 100644 >--- a/Koha/CurbsidePickup.pm >+++ b/Koha/CurbsidePickup.pm >@@ -24,7 +24,6 @@ use Koha::Database; > use base qw(Koha::Object); > > use C4::Circulation qw( CanBookBeIssued AddIssue ); >-use C4::Members::Messaging qw( GetMessagingPreferences ); > use C4::Letters qw( GetPreparedLetter EnqueueLetter ); > use Koha::Calendar; > use Koha::DateUtils qw( dt_from_string ); >diff --git a/Koha/Illrequest.pm b/Koha/Illrequest.pm >index 723b11843e..19dd147956 100644 >--- a/Koha/Illrequest.pm >+++ b/Koha/Illrequest.pm >@@ -32,6 +32,7 @@ use Koha::Illrequestattributes; > use Koha::AuthorisedValue; > use Koha::Illrequest::Logger; > use Koha::Patron; >+use Koha::Patron::MessagePreferences; > use Koha::AuthorisedValues; > use Koha::Biblios; > use Koha::Items; >@@ -1504,11 +1505,11 @@ sub send_patron_notice { > ); > > # Get the patron's messaging preferences >- my $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences({ >+ my $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ > borrowernumber => $self->borrowernumber, > message_name => $message_name{$notice_code} > }); >- my @transports = keys %{ $borrower_preferences->{transports} }; >+ my @transports = keys %{ $borrower_preferences->message_transport_types }; > > # Notice should come from the library where the request was placed, > # not the patrons home library >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 923e079eac..1f2397f1b0 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -2228,12 +2228,12 @@ sub queue_notice { > my $letter_code; > $letter_code = $letter_params->{letter_code}; > if( $params->{message_name} ){ >- my $messaging_prefs = C4::Members::Messaging::GetMessagingPreferences( { >+ my $messaging_prefs = Koha::Patron::MessagePreferences->find_with_message_name( { > borrowernumber => $letter_params->{borrowernumber}, > message_name => $params->{message_name} > } ); >- @message_transports = ( keys %{ $messaging_prefs->{transports} } ); >- $letter_code = $messaging_prefs->{transports}->{$message_transports[0]} unless $letter_code; >+ @message_transports = ( keys %{ $messaging_prefs->message_transport_types } ); >+ $letter_code = $messaging_prefs->message_transport_types->{$message_transports[0]} unless $letter_code; > } else { > @message_transports = @{$params->{message_transports}}; > } >diff --git a/Koha/Patron/Category.pm b/Koha/Patron/Category.pm >index b612e21cca..449ae4b0a5 100644 >--- a/Koha/Patron/Category.pm >+++ b/Koha/Patron/Category.pm >@@ -83,19 +83,17 @@ sub default_messaging { > my $messaging_options = Koha::Patron::MessagePreferences->get_options; > my @messaging; > foreach my $option (@$messaging_options) { >- my $pref = C4::Members::Messaging::GetMessagingPreferences( >- { >- categorycode => $self->categorycode, >- message_name => $option->{message_name} >- } >- ); >- next unless $pref->{transports}; >+ my $pref = Koha::Patron::MessagePreferences->find_with_message_name({ >+ categorycode => $self->categorycode, >+ message_name => $option->{message_name}, >+ }); >+ next if !$pref || $pref && !$pref->message_transport_types; > my $brief_pref = { > message_attribute_id => $option->{message_attribute_id}, > message_name => $option->{message_name}, > $option->{'message_name'} => 1, > }; >- foreach my $transport ( keys %{ $pref->{transports} } ) { >+ foreach my $transport ( keys %{ $pref->message_transport_types } ) { > push @{ $brief_pref->{transports} }, { transport => $transport }; > } > push @messaging, $brief_pref; >diff --git a/circ/returns.pl b/circ/returns.pl >index 2c2bea8aa8..4fb2131038 100755 >--- a/circ/returns.pl >+++ b/circ/returns.pl >@@ -54,6 +54,7 @@ use Koha::Item::Transfers; > use Koha::Items; > use Koha::Patrons; > use Koha::Recalls; >+use Koha::Patron::MessagePreferences; > > my $query = CGI->new; > >@@ -562,7 +563,11 @@ if ( $messages->{'WrongTransfer'} and not $messages->{'WasTransfered'}) { > if ( $messages->{'ResFound'} ) { > my $reserve = $messages->{'ResFound'}; > my $patron = Koha::Patrons->find( $reserve->{borrowernumber} ); >- my $holdmsgpreferences = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $reserve->{'borrowernumber'}, message_name => 'Hold_Filled' } ); >+ my $holdmsgpreferences = Koha::Patron::MessagePreferences->find_with_message_name({ >+ borrowernumber => $reserve->{'borrowernumber'}, >+ message_name => 'Hold_Filled', >+ }); >+ my $mtts = $holdmsgpreferences->message_transport_types if defined $holdmsgpreferences; > my $branchCheck = ( $userenv_branch eq $reserve->{branchcode} ); > if ( $reserve->{'ResFound'} eq "Waiting" ) { > $template->param( >@@ -607,7 +612,7 @@ if ( $messages->{'ResFound'} ) { > destbranch => $reserve->{'branchcode'}, > reservenotes => $reserve->{'reservenotes'}, > reserve_id => $reserve->{reserve_id}, >- bormessagepref => $holdmsgpreferences->{'transports'}, >+ bormessagepref => $mtts, > ); > } > >diff --git a/misc/cronjobs/advance_notices.pl b/misc/cronjobs/advance_notices.pl >index b13e5cdeba..f496d84399 100755 >--- a/misc/cronjobs/advance_notices.pl >+++ b/misc/cronjobs/advance_notices.pl >@@ -49,6 +49,7 @@ use C4::Log qw( cronlogaction ); > use Koha::Items; > use Koha::Libraries; > use Koha::Patrons; >+use Koha::Patron::MessagePreferences; > > =head1 OPTIONS > >@@ -267,11 +268,13 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { > my $borrower_preferences; > if ( 0 == $upcoming->{'days_until_due'} ) { > # This item is due today. Send an 'item due' message. >- $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $upcoming->{'borrowernumber'}, >- message_name => 'item_due' } ); >+ $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ >+ borrowernumber => $upcoming->{'borrowernumber'}, >+ message_name => 'item_due', >+ }); > next unless $borrower_preferences; > >- if ( $borrower_preferences->{'wants_digest'} ) { >+ if ( $borrower_preferences->wants_digest ) { > # cache this one to process after we've run through all of the items. > if ($digest_per_branch) { > $due_digest->{ $upcoming->{branchcode} }->{ $upcoming->{borrowernumber} }->{email} = $from_address; >@@ -297,7 +300,7 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { > my $title = C4::Letters::get_item_content( { item => $item_info, item_content_fields => \@item_content_fields } ); > > ## Get branch info for borrowers home library. >- foreach my $transport ( keys %{$borrower_preferences->{'transports'}} ) { >+ foreach my $transport ( keys %{$borrower_preferences->message_transport_types} ) { > next if $transport eq 'itiva'; > my $letter = parse_letter( { letter_code => $letter_type, > borrowernumber => $upcoming->{'borrowernumber'}, >@@ -315,12 +318,14 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { > } > } > } else { >- $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $upcoming->{'borrowernumber'}, >- message_name => 'advance_notice' } ); >- next UPCOMINGITEM unless $borrower_preferences && exists $borrower_preferences->{'days_in_advance'}; >- next UPCOMINGITEM unless $borrower_preferences->{'days_in_advance'} == $upcoming->{'days_until_due'}; >+ $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ >+ borrowernumber => $upcoming->{'borrowernumber'}, >+ message_name => 'advance_notice', >+ }); >+ next UPCOMINGITEM unless $borrower_preferences && defined $borrower_preferences->days_in_advance; >+ next UPCOMINGITEM unless $borrower_preferences->days_in_advance == $upcoming->{'days_until_due'}; > >- if ( $borrower_preferences->{'wants_digest'} ) { >+ if ( $borrower_preferences->wants_digest ) { > # cache this one to process after we've run through all of the items. > if ($digest_per_branch) { > $upcoming_digest->{ $upcoming->{branchcode} }->{ $upcoming->{borrowernumber} }->{email} = $from_address; >@@ -341,12 +346,12 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { > > my $item = Koha::Items->find( $upcoming->{itemnumber} ); > my $letter_type = 'PREDUE'; >- $sth->execute($upcoming->{'borrowernumber'},$upcoming->{'itemnumber'},$borrower_preferences->{'days_in_advance'}); >+ $sth->execute($upcoming->{'borrowernumber'},$upcoming->{'itemnumber'},$borrower_preferences->days_in_advance); > my $item_info = $sth->fetchrow_hashref(); > my $title = C4::Letters::get_item_content( { item => $item_info, item_content_fields => \@item_content_fields } ); > > ## Get branch info for borrowers home library. >- foreach my $transport ( keys %{$borrower_preferences->{'transports'}} ) { >+ foreach my $transport ( keys %{$borrower_preferences->message_transport_types} ) { > next if $transport eq 'itiva'; > my $letter = parse_letter( { letter_code => $letter_type, > borrowernumber => $upcoming->{'borrowernumber'}, >@@ -408,7 +413,7 @@ if ($digest_per_branch) { > get_item_info => sub { > my $params = shift; > $params->{sth}->execute($params->{borrowernumber}, >- $params->{borrower_preferences}->{'days_in_advance'}); >+ $params->{borrower_preferences}->days_in_advance); > return sub { > $params->{sth}->fetchrow_hashref; > }; >@@ -441,7 +446,7 @@ if ($digest_per_branch) { > get_item_info => sub { > my $params = shift; > $params->{sth}->execute($params->{borrowernumber}, >- $params->{borrower_preferences}->{'days_in_advance'}); >+ $params->{borrower_preferences}->days_in_advance); > return sub { > $params->{sth}->fetchrow_hashref; > }; >@@ -578,13 +583,10 @@ sub send_digests { > $branchcode = $branch_info{'branches.branchcode'}; > } > >- my $borrower_preferences = >- C4::Members::Messaging::GetMessagingPreferences( >- { >- borrowernumber => $borrowernumber, >- message_name => $params->{message_name} >- } >- ); >+ my $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ >+ borrowernumber => $borrowernumber, >+ message_name => $params->{message_name}, >+ }); > > next PATRON unless $borrower_preferences; # how could this happen? > >@@ -602,7 +604,7 @@ sub send_digests { > $titles .= C4::Letters::get_item_content( { item => $item_info, item_content_fields => \@item_content_fields } ); > } > >- foreach my $transport ( keys %{ $borrower_preferences->{'transports'} } ) { >+ foreach my $transport ( keys %{ $borrower_preferences->message_transport_types } ) { > next if $transport eq 'itiva'; > my $letter = parse_letter( > { >diff --git a/misc/cronjobs/automatic_renewals.pl b/misc/cronjobs/automatic_renewals.pl >index 0a843843ab..9d55f5e4a8 100755 >--- a/misc/cronjobs/automatic_renewals.pl >+++ b/misc/cronjobs/automatic_renewals.pl >@@ -86,6 +86,7 @@ use C4::Letters; > use Koha::Checkouts; > use Koha::Libraries; > use Koha::Patrons; >+use Koha::Patron::MessagePreferences; > > my $command_line_options = join(" ",@ARGV); > >@@ -153,7 +154,7 @@ while ( my $auto_renew = $auto_renews->next ) { > > my ( $borrower_preferences, $wants_messages, $wants_digest ) = ( undef, 0, 0 ); > if ( $send_notices_pref eq 'preferences' ){ >- $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences( >+ $borrower_preferences = Koha::Patron::MessagePreferences->find_with_message_name( > { > borrowernumber => $auto_renew->borrowernumber, > message_name => 'auto_renewals' >@@ -161,10 +162,10 @@ while ( my $auto_renew = $auto_renews->next ) { > ); > $wants_messages = 1 > if $borrower_preferences >- && $borrower_preferences->{transports}; >+ && $borrower_preferences->message_transport_types; > $wants_digest = 1 > if $wants_messages >- && $borrower_preferences->{wants_digest}; >+ && $borrower_preferences->wants_digest; > } else { # Preference is never or cron > $wants_messages = $send_notices; > $wants_digest = 0; >@@ -230,7 +231,7 @@ if ( $send_notices && $confirm ) { > for my $borrowernumber ( keys %report ) { > my $patron = Koha::Patrons->find($borrowernumber); > my $borrower_preferences = >- C4::Members::Messaging::GetMessagingPreferences( >+ Koha::Patron::MessagePreferences->find_with_message_name( > { > borrowernumber => $borrowernumber, > message_name => 'auto_renewals' >@@ -239,7 +240,7 @@ if ( $send_notices && $confirm ) { > for my $issue ( @{ $report{$borrowernumber} } ) { > my $item = $issue->item; > # Force sending of email and only email if pref is set to "cron" >- my @transports = $send_notices_pref eq 'preferences' ? keys %{ $borrower_preferences->{'transports'} } : 'email'; >+ my @transports = $send_notices_pref eq 'preferences' ? keys %{ $borrower_preferences->message_transport_types } : 'email'; > foreach my $transport ( @transports ) { > my $letter = C4::Letters::GetPreparedLetter ( > module => 'circulation', >@@ -322,7 +323,7 @@ sub send_digests { > PATRON: while ( my ( $borrowernumber, $digest ) = each %{$params->{digests}} ) { > next unless defined $digest->{updated} && $digest->{updated} == 1; > my $borrower_preferences = >- C4::Members::Messaging::GetMessagingPreferences( >+ Koha::Patron::MessagePreferences->find_with_message_name( > { > borrowernumber => $borrowernumber, > message_name => 'auto_renewals' >@@ -341,7 +342,7 @@ sub send_digests { > my $library = Koha::Libraries->find( $branchcode ); > my $from_address = $library->from_email_address; > >- foreach my $transport ( keys %{ $borrower_preferences->{'transports'} } ) { >+ foreach my $transport ( keys %{ $borrower_preferences->message_transport_types } ) { > my $letter = C4::Letters::GetPreparedLetter ( > module => 'circulation', > letter_code => $params->{letter_code}, >diff --git a/t/db_dependent/Koha/Patron/Categories.t b/t/db_dependent/Koha/Patron/Categories.t >index 14b71004e8..d009ee3108 100755 >--- a/t/db_dependent/Koha/Patron/Categories.t >+++ b/t/db_dependent/Koha/Patron/Categories.t >@@ -22,12 +22,12 @@ use Modern::Perl; > use Test::More tests => 11; > > use C4::Context; >-use C4::Members::Messaging; > use Koha::Database; > use Koha::DateUtils qw( dt_from_string ); > use Koha::Patron; > use Koha::Patron::Category; > use Koha::Patron::Categories; >+use Koha::Patron::MessagePreferences; > use t::lib::Dates; > use t::lib::TestBuilder; > use t::lib::Mocks; >@@ -124,13 +124,13 @@ subtest 'default_messaging tests' => sub { > is_digest => 1, > } > }); >- C4::Members::Messaging::SetMessagingPreference({ >+ Koha::Patron::MessagePreference->new({ > categorycode => $category->categorycode, > message_attribute_id => $attr->{'message_attribute_id'}, > message_transport_types => [ qw( email ) ], > days_in_advance => 5, > wants_digest => 1 >- }); >+ })->store; > my $default_messaging = $category->default_messaging; > is(@$default_messaging, 1, "One default messaging found."); > $default_messaging = $default_messaging->[0]; >diff --git a/t/db_dependent/api/v1/patrons.t b/t/db_dependent/api/v1/patrons.t >index 172a04993a..117e94d5cc 100755 >--- a/t/db_dependent/api/v1/patrons.t >+++ b/t/db_dependent/api/v1/patrons.t >@@ -567,7 +567,7 @@ subtest 'add() tests' => sub { > } > )->status_is(201, 'Patron added')->tx->res->json->{patron_id}; > >- my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences({ borrowernumber => $patron_id, message_name => 'Item_Due' }); >+ my $messaging_preferences = Koha::Patron::MessagePreferences->find_with_message_name({ borrowernumber => $patron_id, message_name => 'Item_Due' }); > > is_deeply( > $messaging_preferences, >-- >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 18595
:
63435
|
63436
|
63437
|
63438
|
63439
|
63440
|
63441
|
63794
|
63795
|
63796
|
63797
|
63798
|
63799
|
63800
|
63813
|
63815
|
63816
|
63817
|
63818
|
63819
|
63820
|
63821
|
63822
|
63823
|
63824
|
63825
|
63826
|
63827
|
63828
|
63829
|
69441
|
69442
|
69443
|
69444
|
69445
|
69446
|
69447
|
69448
|
69449
|
69450
|
69451
|
69452
|
69453
|
69667
|
69668
|
69669
|
69670
|
69671
|
69672
|
69673
|
69674
|
93873
|
93874
|
93875
|
93876
|
93877
|
93878
|
93879
|
93880
|
93908
|
94753
|
94754
|
103444
|
103445
|
103446
|
103447
|
103448
|
103449
|
103450
|
103451
|
103452
|
110151
|
110152
|
110153
|
110154
|
110155
|
110156
|
110157
|
110158
|
110159
|
112147
|
112148
|
112149
|
112150
|
112151
|
112152
|
112153
|
112154
|
112155
|
112690
|
113126
|
113192
|
113221
|
113222
|
113769
|
146541
|
146542
|
146543
|
146544
| 146545 |
146546
|
146547
|
146548
|
146549
|
146550
|
146551
|
146552