RT# 82094 - updated UI for bulk emailing from advanced customer reports
[freeside.git] / httemplate / misc / email-customers.html
index 3f8816c..cf3ab1b 100644 (file)
@@ -184,7 +184,7 @@ Template:
        },
      &>
    </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>
@@ -326,6 +326,15 @@ else {
   @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,
@@ -363,6 +372,15 @@ if ( !$cgi->param('preview') ) {
     $body ||= $content->body;
   }
 
+  my $sql_query = "FS::$table"->search(\%search);
+  my $count_query = delete($sql_query->{'count_query'});
+  my $count_sth = dbh->prepare($count_query)
+    or die "Error preparing $count_query: ". dbh->errstr;
+  $count_sth->execute
+    or die "Error executing $count_query: ". $count_sth->errstr;
+  my $count_arrayref = $count_sth->fetchrow_arrayref;
+  $num_cust = $count_arrayref->[0];
+
 } else {
 
   my @checked_email_dest;
@@ -511,8 +529,8 @@ if ( my @in_classnums = $cgi->param('classnums') ) {
 $dest_ischecked{message} = 1 unless %dest_ischecked;
 
 my @optin_checkboxes = (
-  [ 'message' => { label => 'Message recipients' } ],
-  [ 'invoice' => { label => 'Invoice recipients' } ],
+  [ 'message' => { label => 'Message recipients', desc => 'send this notice to all message recipients for the '.$num_cust.' selected customers.' } ],
+  [ 'invoice' => { label => 'Invoice recipients', desc => 'send this notice to all invoice recipients for the '.$num_cust.' selected customers.' } ],
 );
 my @classnum_checkboxes = (
   [ '0' => { label => '(None)' }],