RT 81913 - fixed error with batch email from advanced customer reports and contacts...
authorChristopher Burger <burgerc@freeside.biz>
Thu, 3 Jan 2019 17:38:32 +0000 (12:38 -0500)
committerChristopher Burger <burgerc@freeside.biz>
Thu, 3 Jan 2019 17:38:32 +0000 (12:38 -0500)
httemplate/misc/email-customers.html
httemplate/search/contact.html
httemplate/search/cust_main.html

index 3f8816c..b631165 100644 (file)
@@ -184,7 +184,7 @@ Template:
        },
      &>
    </div>
        },
      &>
    </div>
-% if ($send_to_domain) {
+% if ($send_to_domain && $cgi->param('custnum')) {
    <div>
      <INPUT TYPE="checkbox" NAME="emailtovoice"  ID="emailtovoice" VALUE="ON" onclick="toggleDiv(this)">Email to voice
    </div>
    <div>
      <INPUT TYPE="checkbox" NAME="emailtovoice"  ID="emailtovoice" VALUE="ON" onclick="toggleDiv(this)">Email to voice
    </div>
@@ -326,6 +326,15 @@ else {
   @search{keys %search} = map { /\0/ ? [ split /\0/, $_ ] : $_ } values %search;
 }
 
   @search{keys %search} = map { /\0/ ? [ split /\0/, $_ ] : $_ } values %search;
 }
 
+# rebuild contacts hash
+delete $search{contacts}
+    if exists $search{contacts} && ref $search{contacts};
+$search{'contacts'} = {
+  map { $_ => $search{$_}, }
+    grep { /^(contacts_*)/ && $search{$_} }
+      keys %search
+};
+
 &{$opt{'post_search_hook'}}(
   'conf'   => $conf,
   'search' => \%search,
 &{$opt{'post_search_hook'}}(
   'conf'   => $conf,
   'search' => \%search,
index 4b3fe83..24cb237 100644 (file)
@@ -243,10 +243,15 @@ for my $col (@report) {
 
 my $classnum_url_part;
 if (@classnum) {
 
 my $classnum_url_part;
 if (@classnum) {
-  $classnum_url_part = join '', map{ "&classnums=$_" } @classnum, @dest;
+  $classnum_url_part = join '', map{ "&classnums=$_" } @classnum;
   $classnum_url_part .= '&classnums=0' if $classnum_null;
 }
 
   $classnum_url_part .= '&classnums=0' if $classnum_null;
 }
 
+my $dest_url_part;
+if (@dest) {
+  $dest_url_part = join '', map{ "&dest=$_" } @dest;
+}
+
 # E-mail pipeline, from email-customers.html through to email queue job,
 # doesn't support cust_prospect table
 my $send_email_link = undef;
 # E-mail pipeline, from email-customers.html through to email queue job,
 # doesn't support cust_prospect table
 my $send_email_link = undef;
@@ -262,6 +267,7 @@ if ($link eq 'cust_main') {
       '&refnum=1'.
       '&with_email=on'.
       $classnum_url_part.
       '&refnum=1'.
       '&with_email=on'.
       $classnum_url_part.
+      $dest_url_part.
     "\">Email a notice to these customers</a>";
 }
 
     "\">Email a notice to these customers</a>";
 }
 
index 0a43a82..1cc44d6 100755 (executable)
@@ -143,6 +143,8 @@ if ( $FS::CurrentUser::CurrentUser->access_right('Bulk send customer notices') )
   # URI::query_from does not support hashref
   #   results in: ...&contacts=HASH(0x55e16cb81da8)&...
   my %query_hash = %search_hash;
   # URI::query_from does not support hashref
   #   results in: ...&contacts=HASH(0x55e16cb81da8)&...
   my %query_hash = %search_hash;
+  foreach (keys %{$query_hash{contacts}}) { $query_hash{$_} = $query_hash{contacts}{$_}; }
+
   delete $query_hash{contacts}
     if exists $query_hash{contacts} && ref $query_hash{contacts};
 
   delete $query_hash{contacts}
     if exists $query_hash{contacts} && ref $query_hash{contacts};