[freeside-commits] branch FREESIDE_4_BRANCH updated. 68e64cd688ba399ed4d86de5e8f710269a39c76d

Christopher Burger burgerc at freeside.biz
Thu May 17 07:46:41 PDT 2018


The branch, FREESIDE_4_BRANCH has been updated
       via  68e64cd688ba399ed4d86de5e8f710269a39c76d (commit)
       via  cd4651a02fb2f091ab60a99acbb9fe1324500389 (commit)
      from  665b9fb38af2b1309efb91faf863643b1972dc29 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 68e64cd688ba399ed4d86de5e8f710269a39c76d
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Wed May 16 12:39:59 2018 -0400

    RT# 78131 - added documentation for new method.

diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index b0a1e4b12..4c82d106e 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -712,7 +712,11 @@ sub send_receipt {
 =item send_message_receipt
 
 sends out a message receipt.
-send_message_receipt($cust_main, $msgnum);
+$error = $self->send_message_receipt(
+        'cust_main' => $cust_main,
+        'cust_bill' => $opt->{cust_bill},
+        'msgnum'    => $conf->config('payment_receipt_msgnum', $cust_main->agentnum)
+      );
 
 =cut
 
@@ -727,7 +731,6 @@ sub send_message_receipt {
 
       my %substitutions = ();
       $substitutions{invnum} = $cust_bill->invnum if $cust_bill;
-#      $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
 
       my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
       unless ($msg_template) {

commit cd4651a02fb2f091ab60a99acbb9fe1324500389
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue May 15 13:32:46 2018 -0400

    RT78131 - Created new method to send message receipts so code does not have to be duplicated.

diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index 5031793ff..b0a1e4b12 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -662,53 +662,72 @@ sub send_receipt {
        || ! $cust_bill
      )
   {
-    my $msgnum = $conf->config('payment_receipt_msgnum', $cust_main->agentnum);
-    if ( $msgnum ) {
-
-      my %substitutions = ();
-      $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
-
-      my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
-      unless ($msg_template) {
-        warn "send_receipt could not load msg_template";
-        return;
-      }
-
-      my $cust_msg = $msg_template->prepare(
-          'cust_main'     => $cust_main,
-          'object'        => $self,
-          'from_config'   => 'payment_receipt_from',
-          'substitutions' => \%substitutions,
-          'msgtype'       => 'receipt',
+      $error = $self->send_message_receipt(
+        'cust_main' => $cust_main,
+        'cust_bill' => $opt->{cust_bill},
+        'msgnum'    => $conf->config('payment_receipt_msgnum', $cust_main->agentnum)
       );
-      $error = $cust_msg ? $cust_msg->insert : 'error preparing msg_template';
-      if ($error) {
-        warn "send_receipt: $error";
-        return;
-      }
+  #not manual and no noemail flag (here or on the customer)
+  } elsif ( ! $opt->{'noemail'} && ! $cust_main->invoice_noemail ) {
 
+    # check to see if they want to send specific message template as receipt for auto payments
+    if ( $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum) ) {
+      $error = $self->send_message_receipt(
+        'cust_main' => $cust_main,
+        'cust_bill' => $opt->{cust_bill},
+        'msgnum'    => $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum),
+      );
+    }
+    else {
       my $queue = new FS::queue {
-        'job'     => 'FS::cust_msg::process_send',
+        'job'     => 'FS::cust_bill::queueable_email',
         'paynum'  => $self->paynum,
         'custnum' => $cust_main->custnum,
       };
-      $error = $queue->insert( $cust_msg->custmsgnum );
 
-    } else {
+      my %opt = (
+        'invnum'      => $cust_bill->invnum,
+        'no_coupon'   => 1,
+      );
 
-      warn "payment_receipt is on, but no payment_receipt_msgnum\n";
+      if ( my $mode = $conf->config('payment_receipt_statement_mode') ) {
+        $opt{'mode'} = $mode;
+      } else {
+        # backward compatibility, no good fix for this yet as some people may
+        # still have "invoice_latex_statement" and such options
+        $opt{'template'} = 'statement';
+        $opt{'notice_name'} = 'Statement';
+      }
 
+      $error = $queue->insert(%opt);
     }
 
-  #not manual and no noemail flag (here or on the customer)
-  } elsif ( ! $opt->{'noemail'} && ! $cust_main->invoice_noemail ) {
 
-    # check to see if they want to send specific message template as receipt for auto payments
-    my $msgnum = $conf->config('payment_receipt_msgnum_auto', $cust_main->agentnum);
+
+  }
+
+  warn "send_receipt: $error\n" if $error;
+}
+
+=item send_message_receipt
+
+sends out a message receipt.
+send_message_receipt($cust_main, $msgnum);
+
+=cut
+
+sub send_message_receipt {
+  my ($self, %opt) = @_;
+  my $cust_main = $opt{'cust_main'};
+  my $cust_bill = $opt{'cust_bill'};
+  my $msgnum = $opt{'msgnum'};
+  my $error = '';
+
     if ( $msgnum ) {
 
       my %substitutions = ();
-      $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
+      $substitutions{invnum} = $cust_bill->invnum if $cust_bill;
+#      $substitutions{invnum} = $opt->{cust_bill}->invnum if $opt->{cust_bill};
 
       my $msg_template = qsearchs('msg_template',{ msgnum => $msgnum});
       unless ($msg_template) {
@@ -726,7 +745,7 @@ sub send_receipt {
       $error = $cust_msg ? $cust_msg->insert : 'error preparing msg_template';
       if ($error) {
         warn "send_receipt: $error";
-        return;
+        return $error;
       }
 
       my $queue = new FS::queue {
@@ -736,36 +755,12 @@ sub send_receipt {
       };
       $error = $queue->insert( $cust_msg->custmsgnum );
 
-    }
-    else {
-      my $queue = new FS::queue {
-        'job'     => 'FS::cust_bill::queueable_email',
-        'paynum'  => $self->paynum,
-        'custnum' => $cust_main->custnum,
-      };
-
-      my %opt = (
-        'invnum'      => $cust_bill->invnum,
-        'no_coupon'   => 1,
-      );
-
-      if ( my $mode = $conf->config('payment_receipt_statement_mode') ) {
-        $opt{'mode'} = $mode;
-      } else {
-        # backward compatibility, no good fix for this yet as some people may
-        # still have "invoice_latex_statement" and such options
-        $opt{'template'} = 'statement';
-        $opt{'notice_name'} = 'Statement';
-      }
-
-      $error = $queue->insert(%opt);
+    } else {
+      warn "payment_receipt is on, but no payment_receipt_msgnum\n";
+      $error = "payment_receipt is on, but no payment_receipt_msgnum";
     }
 
-
-
-  }
-  
-  warn "send_receipt: $error\n" if $error;
+  return $error;
 }
 
 =item cust_bill_pay

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_pay.pm | 120 +++++++++++++++++++++++++++---------------------------
 1 file changed, 59 insertions(+), 61 deletions(-)




More information about the freeside-commits mailing list