X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-messaging.pl;h=6a97ca6de57d9abc40d89797b6bf85a98406e88e;hb=59ac9be07e70b23c2dfcd009f6d5f689d1065c9b;hp=b3b192c77b89b086d71c4a379bb95098a8e7c08d;hpb=5b1c7e4c359e974e5aca801579db72b356741a0f;p=koha.git diff --git a/opac/opac-messaging.pl b/opac/opac-messaging.pl index b3b192c77b..6a97ca6de5 100755 --- a/opac/opac-messaging.pl +++ b/opac/opac-messaging.pl @@ -27,14 +27,20 @@ use C4::Context; use C4::Koha; use C4::Circulation; use C4::Output; -use C4::Dates qw/format_date/; use C4::Members; use C4::Members::Messaging; use C4::Branch; use C4::Form::MessagingPreferences; +use Koha::SMS::Providers; my $query = CGI->new(); +unless ( C4::Context->preference('EnhancedMessagingPreferencesOPAC') and + C4::Context->preference('EnhancedMessagingPreferences') ) { + print $query->redirect("/cgi-bin/koha/errors/404.pl"); + exit; +} + my ( $template, $borrowernumber, $cookie ) = get_template_and_user( { template_name => 'opac-messaging.tt', @@ -45,15 +51,20 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( } ); -my $borrower = GetMemberDetails( $borrowernumber ); +my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ); my $messaging_options = C4::Members::Messaging::GetMessagingOptions(); if ( defined $query->param('modify') && $query->param('modify') eq 'yes' ) { - - if ( $query->param('SMSnumber') ne $borrower->{'mobile'} ) { - ModMember( borrowernumber => $borrowernumber, - smsalertnumber => $query->param('SMSnumber') ); - $borrower = GetMemberDetails( $borrowernumber ); + my $sms = $query->param('SMSnumber'); + my $sms_provider_id = $query->param('sms_provider_id'); + if ( defined $sms && ( $borrower->{'smsalertnumber'} // '' ) ne $sms + or ( $borrower->{sms_provider_id} // '' ) ne $sms_provider_id ) { + ModMember( + borrowernumber => $borrowernumber, + smsalertnumber => $sms, + sms_provider_id => $sms_provider_id, + ); + $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ); } C4::Form::MessagingPreferences::handle_form_action($query, { borrowernumber => $borrowernumber }, $template); @@ -61,11 +72,15 @@ if ( defined $query->param('modify') && $query->param('modify') eq 'yes' ) { C4::Form::MessagingPreferences::set_form_values({ borrowernumber => $borrower->{'borrowernumber'} }, $template); -# warn( Data::Dumper->Dump( [ $messaging_options ], [ 'messaging_options' ] ) ); -$template->param( BORROWER_INFO => [ $borrower ], +$template->param( BORROWER_INFO => $borrower, messagingview => 1, - SMSnumber => $borrower->{'smsalertnumber'} ? $borrower->{'smsalertnumber'} : $borrower->{'mobile'}, + SMSnumber => $borrower->{'smsalertnumber'}, SMSSendDriver => C4::Context->preference("SMSSendDriver"), TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification") ); -output_html_with_http_headers $query, $cookie, $template->output; +if ( C4::Context->preference("SMSSendDriver") eq 'Email' ) { + my @providers = Koha::SMS::Providers->search(); + $template->param( sms_providers => \@providers, sms_provider_id => $borrower->{'sms_provider_id'} ); +} + +output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 };