RT#23598: Feature Request - Email notice to A/R Report Results [now uses checkboxes...
[freeside.git] / httemplate / misc / email-customers.html
index d26e402..83e8615 100644 (file)
@@ -1,4 +1,9 @@
+% if ($popup) {
+<% include('/elements/header-popup.html', $title) %>
+% } else {
 <% include('/elements/header.html', $title) %>
+% }
+
 
 <FORM NAME="OneTrueForm" ACTION="email-customers.html" METHOD="POST">
 <INPUT TYPE="hidden" NAME="table" VALUE="<% $table %>">
@@ -7,6 +12,8 @@
 %# multi-valued search params.  We are no longer in search context, so we 
 %# pack the search into a Storable string for later use.
 <INPUT TYPE="hidden" NAME="search" VALUE="<% encode_base64(nfreeze(\%search)) %>">
+<INPUT TYPE="hidden" NAME="popup" VALUE="<% $popup %>">
+<INPUT TYPE="hidden" NAME="url" VALUE="<% $url | h %>">
 
 % if ( $cgi->param('action') eq 'send' ) { 
 
@@ -16,7 +23,7 @@
                  'OneTrueForm',
                  [ qw( search table from subject html_body text_body msgnum ) ],
                  'process/email-customers.html',
-                 { 'message' => "Notice sent" }, #would be nice to show #, but..
+                 $pdest,
               )
     %>
 
@@ -95,22 +102,25 @@ function toggle(obj) {
 
 </SCRIPT>
 Template: 
-    <% include('/elements/select-table.html',
-                  'label'         => 'Template:',
-                  'table'         => 'msg_template',
-                  'name_col'      => 'msgname',
-                  'empty_label'   => '(none)',
-                  'onchange'      => 'toggle(this)',
-              )
-    %><BR>
+    <& /elements/select-msg_template.html,
+         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:',
-                 'size'  => 50,
-              )
-    %>
-
+    <& /elements/tr-td-label.html, 'label' => 'From:' &>
+      <TD><& /elements/input-text.html,
+              'field' => 'from_name',
+              'value' => $conf->config('invoice_from_name', $agent_virt_agentnum) ||
+                         $conf->config('company_name', $agent_virt_agentnum), #?
+              'size'  => 20,
+          &>&nbsp;&lt;\
+          <& /elements/input-text.html,
+              'field' => 'from_addr',
+              'type'  => 'email', # HTML5, woot
+              'value' => $conf->config('invoice_from', $agent_virt_agentnum),
+              'size'  => 20,
+          &>&gt;</TD>
     <% include('/elements/tr-input-text.html',
                  'field' => 'subject',
                  'label' => 'Subject:',
@@ -120,9 +130,11 @@ Template:
 
     <TR>
       <TD ALIGN="right" VALIGN="top" STYLE="padding-top:3px">Message: </TD>
-      <TD><& '/elements/htmlarea.html', 
-              'field' => 'html_body',
-              'width' => 600 &></TD>
+      <TD><& /elements/htmlarea.html, 
+               'field' => 'html_body',
+               'width' => 763,
+          &>
+      </TD>
     </TR>
 
   </TABLE>
@@ -149,14 +161,23 @@ 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 $agent_virt_agentnum = $cgi->param('agent_virt_agentnum') || '';
+
+my $popup = $cgi->param('popup');
+my $url   = $cgi->param('url');
+my $pdest = { 'message' => "Notice sent" };
+$pdest->{'url'} = $cgi->param('url') if $url;
+
 my %search;
 if ( $cgi->param('search') ) {
   %search = %{ thaw(decode_base64($cgi->param('search'))) };
 }
 else {
   %search = $cgi->Vars;
-  delete $search{$_} for qw( action table from subject html_body text_body );
+  delete $search{$_} for qw( action table from subject html_body text_body popup url );
   # FS::$table->search is expected to know which parameters might be 
   # multi-valued, and to accept scalar values for them also.  No good 
   # solution to this since CGI can't tell whether a parameter _might_
@@ -167,7 +188,15 @@ else {
 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') || '';