Merge branch 'master' of https://github.com/rvandam/Freeside
[freeside.git] / httemplate / misc / email-customers.html
index 759c8bf..3b2ac3c 100644 (file)
@@ -76,7 +76,7 @@
 
       <SCRIPT>
         function areyousure(href) {
-          return confirm("Send this notice to <% $num_cust %> customers?");
+          return confirm("Send this notice to <% ($num_cust > 1) ? "$num_cust customers" : '1 customer' %> ?");
         }
       </SCRIPT>
 
@@ -98,27 +98,40 @@ Template:
     <% include('/elements/select-table.html',
                   'label'         => 'Template:',
                   'table'         => 'msg_template',
+                  'hashref'       => { disabled => '' },
                   'name_col'      => 'msgname',
                   'empty_label'   => '(none)',
                   'onchange'      => 'toggle(this)',
               )
     %><BR>
   <TABLE BGCOLOR="#cccccc" CELLSPACING=0 WIDTH="100%" id="table_no_template">
-    <% include('/elements/tr-input-text.html',
-                 'field' => 'from',
-                 'label' => 'From:',
-              )
-    %>
-
+    <& /elements/tr-td-label.html, 'label' => 'From:' &>
+      <TD><& /elements/input-text.html,
+              'field' => 'from_name',
+              'value' => $conf->config('company_name'), #?
+              'size'  => 20,
+          &>&nbsp;&lt;\
+          <& /elements/input-text.html,
+              'field' => 'from_addr',
+              'type'  => 'email', # HTML5, woot
+              'value' => $conf->config('invoice_from'),
+              'size'  => 20,
+          &>&gt;</TD>
     <% include('/elements/tr-input-text.html',
                  'field' => 'subject',
                  'label' => 'Subject:',
+                 'size'  => 50,
               )
     %>
 
     <TR>
-      <TD ALIGN="right" VALIGN="top">Message: </TD>
-      <TD><% include('/elements/htmlarea.html', 'field'=>'html_body') %></TD>
+      <TD ALIGN="right" VALIGN="top" STYLE="padding-top:3px">Message: </TD>
+      <TD><& /elements/htmlarea.html, 
+               'field' => 'html_body',
+               'width' => 763,
+          &>
+      </TD>
     </TR>
 
   </TABLE>
@@ -145,6 +158,7 @@ Template:
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Bulk send customer notices');
 
+my $conf = FS::Conf->new;
 my $table = $cgi->param('table') or die "'table' required";
 my %search;
 if ( $cgi->param('search') ) {
@@ -160,10 +174,18 @@ else {
   @search{keys %search} = map { /\0/ ? [ split /\0/, $_ ] : $_ } values %search;
 } 
 
-my $title = 'Send bulk customer notices';
+my $title = 'Send customer notices';
 
 my $num_cust;
-my $from = $cgi->param('from') || '';
+my $from = '';
+if ( $cgi->param('from') ) {
+  $from = $cgi->param('from');
+} elsif ( $cgi->param('from_name') ) {
+  $from = ($cgi->param('from_name') . ' <' . $cgi->param('from_addr') . '>');
+} elsif ( $cgi->param('from_addr') ) {
+  $from = $cgi->param('from_addr');
+}
+
 my $subject = $cgi->param('subject') || '';
 my $html_body = $cgi->param('html_body') || '';
 
@@ -184,9 +206,14 @@ if ( $cgi->param('action') eq 'preview' ) {
                              { msgnum => $cgi->param('msgnum') } )
         or die "template not found: ".$cgi->param('msgnum');
     $sql_query->{'extra_sql'} .= ' LIMIT 1';
+    $sql_query->{'select'} = "$table.*";
     $sql_query->{'order_by'} = '';
-    my $cust = qsearchs($sql_query)->cust_main;
-    my %message = $msg_template->prepare( 'cust_main' => $cust );
+    my $object = qsearchs($sql_query);
+    my $cust = $object->cust_main;
+    my %message = $msg_template->prepare(
+      'cust_main' => $cust,
+      'object' => $object
+    );
     ($from, $subject, $html_body) = @message{'from', 'subject', 'html_body'};
   }
 }