View | Details | Raw Unified | Return to bug 33221
Collapse All | Expand All

(-)a/Koha/Patron.pm (-20 / +25 lines)
Lines 2567-2599 Returns a hashref with the following keys: Link Here
2567
sub queue_notice {
2567
sub queue_notice {
2568
    my ( $self, $params ) = @_;
2568
    my ( $self, $params ) = @_;
2569
    my $letter_params = $params->{letter_params};
2569
    my $letter_params = $params->{letter_params};
2570
    my $test_mode = $params->{test_mode};
2570
    my $test_mode     = $params->{test_mode};
2571
2571
2572
    return unless $letter_params;
2572
    return unless $letter_params;
2573
    return unless exists $params->{message_name} xor $params->{message_transports}; # We only want one of these
2573
    return unless exists $params->{message_name} xor $params->{message_transports};    # We only want one of these
2574
2574
2575
    my $library = Koha::Libraries->find( $letter_params->{branchcode} );
2575
    my $library            = Koha::Libraries->find( $letter_params->{branchcode} );
2576
    my $from_email_address = $library->from_email_address;
2576
    my $from_email_address = $library->from_email_address;
2577
2577
2578
    my @message_transports;
2578
    my @message_transports;
2579
    my $letter_code;
2579
    my $letter_code;
2580
    $letter_code = $letter_params->{letter_code};
2580
    $letter_code = $letter_params->{letter_code};
2581
    if( $params->{message_name} ){
2581
    if ( $params->{message_name} ) {
2582
        my $messaging_prefs = C4::Members::Messaging::GetMessagingPreferences( {
2582
        my $messaging_prefs = C4::Members::Messaging::GetMessagingPreferences(
2583
            {
2583
                borrowernumber => $letter_params->{borrowernumber},
2584
                borrowernumber => $letter_params->{borrowernumber},
2584
                message_name => $params->{message_name}
2585
                message_name   => $params->{message_name}
2585
        } );
2586
            }
2587
        );
2586
        @message_transports = ( keys %{ $messaging_prefs->{transports} } );
2588
        @message_transports = ( keys %{ $messaging_prefs->{transports} } );
2587
        $letter_code = $messaging_prefs->{transports}->{$message_transports[0]} unless $letter_code;
2589
        $letter_code        = $messaging_prefs->{transports}->{ $message_transports[0] } unless $letter_code;
2588
    } else {
2590
    } else {
2589
        @message_transports = @{$params->{message_transports}};
2591
        @message_transports = @{ $params->{message_transports} };
2590
    }
2592
    }
2591
    return unless defined $letter_code;
2593
    return unless defined $letter_code;
2592
    $letter_params->{letter_code} = $letter_code;
2594
    $letter_params->{letter_code} = $letter_code;
2593
    my $print_sent = 0;
2595
    my $print_sent = 0;
2594
    my %return;
2596
    my %return;
2595
    foreach my $mtt (@message_transports){
2597
    foreach my $mtt (@message_transports) {
2596
        next if ($mtt eq 'itiva' and C4::Context->preference('TalkingTechItivaPhoneNotification') );
2598
        next if ( $mtt eq 'itiva' and C4::Context->preference('TalkingTechItivaPhoneNotification') );
2599
2597
        # Notice is handled by TalkingTech_itiva_outbound.pl
2600
        # Notice is handled by TalkingTech_itiva_outbound.pl
2598
        if (   ( $mtt eq 'email' and not $self->notice_email_address )
2601
        if (   ( $mtt eq 'email' and not $self->notice_email_address )
2599
            or ( $mtt eq 'sms'   and not $self->smsalertnumber )
2602
            or ( $mtt eq 'sms'   and not $self->smsalertnumber )
Lines 2604-2620 sub queue_notice { Link Here
2604
        }
2607
        }
2605
        next if $mtt eq 'print' && $print_sent;
2608
        next if $mtt eq 'print' && $print_sent;
2606
        $letter_params->{message_transport_type} = $mtt;
2609
        $letter_params->{message_transport_type} = $mtt;
2607
        my $letter = C4::Letters::GetPreparedLetter( %$letter_params );
2610
        my $letter = C4::Letters::GetPreparedLetter(%$letter_params);
2608
        unless ($test_mode) {
2611
        unless ($test_mode) {
2609
            my $message_id = C4::Letters::EnqueueLetter({
2612
            my $message_id = C4::Letters::EnqueueLetter(
2610
                letter => $letter,
2613
                {
2611
                borrowernumber => $self->borrowernumber,
2614
                    letter                 => $letter,
2612
                from_address   => $from_email_address,
2615
                    borrowernumber         => $self->borrowernumber,
2613
                message_transport_type => $mtt
2616
                    from_address           => $from_email_address,
2614
            });
2617
                    message_transport_type => $mtt
2615
            push @{$return{message_ids}}, $message_id if $message_id;
2618
                }
2619
            );
2620
            push @{ $return{message_ids} }, $message_id if $message_id;
2616
        }
2621
        }
2617
        push @{$return{sent}}, $mtt;
2622
        push @{ $return{sent} }, $mtt;
2618
        $print_sent = 1 if $mtt eq 'print';
2623
        $print_sent = 1 if $mtt eq 'print';
2619
    }
2624
    }
2620
    return \%return;
2625
    return \%return;
(-)a/members/memberentry.pl (-2 / +4 lines)
Lines 447-455 if ((!$nok) and $nodouble and ($op eq 'cud-insert' or $op eq 'cud-save')){ Link Here
447
447
448
        # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
448
        # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
449
        if ( $patron && C4::Context->preference("AutoEmailNewUser") ) {
449
        if ( $patron && C4::Context->preference("AutoEmailNewUser") ) {
450
450
            #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead
451
            #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead
451
            my $emailaddr = $patron->notice_email_address;
452
            my $emailaddr = $patron->notice_email_address;
452
            # if we manage to find a valid email address, send notice 
453
454
            # if we manage to find a valid email address, send notice
453
            if ($emailaddr) {
455
            if ($emailaddr) {
454
                eval {
456
                eval {
455
                    my $result = $patron->queue_notice(
457
                    my $result = $patron->queue_notice(
Lines 465-471 if ((!$nok) and $nodouble and ($op eq 'cud-insert' or $op eq 'cud-save')){ Link Here
465
                                },
467
                                },
466
                                want_librarian => 1,
468
                                want_librarian => 1,
467
                            },
469
                            },
468
                            message_transports => ['email', 'sms'],
470
                            message_transports => [ 'email', 'sms' ],
469
                        }
471
                        }
470
                    );
472
                    );
471
                    foreach my $message_id ( @{ $result->{message_ids} } ) {
473
                    foreach my $message_id ( @{ $result->{message_ids} } ) {
(-)a/opac/opac-memberentry.pl (-1 / +3 lines)
Lines 260-267 if ( $op eq 'cud-create' ) { Link Here
260
260
261
                # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
261
                # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
262
                if ( C4::Context->preference("AutoEmailNewUser") ) {
262
                if ( C4::Context->preference("AutoEmailNewUser") ) {
263
263
                    #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead
264
                    #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead
264
                    my $emailaddr = $patron->notice_email_address;
265
                    my $emailaddr = $patron->notice_email_address;
266
265
                    # if we manage to find a valid email address, send notice
267
                    # if we manage to find a valid email address, send notice
266
                    if ($emailaddr) {
268
                    if ($emailaddr) {
267
                        eval {
269
                        eval {
Lines 278-284 if ( $op eq 'cud-create' ) { Link Here
278
                                        },
280
                                        },
279
                                        want_librarian => 1,
281
                                        want_librarian => 1,
280
                                    },
282
                                    },
281
                                    message_transports => ['email', 'sms'],
283
                                    message_transports => [ 'email', 'sms' ],
282
                                }
284
                                }
283
                            );
285
                            );
284
                            foreach my $message_id ( @{ $result->{message_ids} } ) {
286
                            foreach my $message_id ( @{ $result->{message_ids} } ) {
(-)a/opac/opac-registration-verify.pl (-2 / +3 lines)
Lines 121-128 elsif ( $rego_found Link Here
121
121
122
        # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
122
        # If 'AutoEmailNewUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode.
123
        if ( C4::Context->preference("AutoEmailNewUser") ) {
123
        if ( C4::Context->preference("AutoEmailNewUser") ) {
124
124
            # Look up correct email address taking EmailFieldPrimary into account
125
            # Look up correct email address taking EmailFieldPrimary into account
125
            my $emailaddr = $patron->notice_email_address;
126
            my $emailaddr = $patron->notice_email_address;
127
126
            # if we manage to find a valid email address, send notice
128
            # if we manage to find a valid email address, send notice
127
            if ($emailaddr) {
129
            if ($emailaddr) {
128
                eval {
130
                eval {
Lines 139-145 elsif ( $rego_found Link Here
139
                                },
141
                                },
140
                                want_librarian => 1,
142
                                want_librarian => 1,
141
                            },
143
                            },
142
                            message_transports => ['email', 'sms'],
144
                            message_transports => [ 'email', 'sms' ],
143
                        }
145
                        }
144
                    );
146
                    );
145
                    foreach my $message_id ( @{ $result->{message_ids} } ) {
147
                    foreach my $message_id ( @{ $result->{message_ids} } ) {
146
- 

Return to bug 33221