quiet warnings about CGI::param in list context
[freeside.git] / httemplate / search / report_future_autobill.html
index ff2f857..28f589e 100644 (file)
@@ -1,6 +1,9 @@
 <%doc>
 
-Display date selector for the future_autobill.html report
+Display pre-report page for the Future Auto Bill Transactions report
+
+Report runs in the queue.  Once the report is generated, user is
+redirected to the report results.
 
 </%doc>
 <% include('/elements/header.html', $report_title ) %>
@@ -14,53 +17,57 @@ Display date selector for the future_autobill.html report
 
 % } else {
 
-  <FORM ACTION="future_autobill.html" METHOD="GET">
-  <TABLE>
-  <& /elements/tr-input-date-field.html,
-    {
-      name     => 'target_date',
-      value    => $target_date,
-      label    => emt('Target billing date').': ',
-      required => 1
-    }
-  &>
-
-  </TABLE>
-
-  <BR>
-
-  <INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
-
+  <FORM NAME="future_autobill" ID="future_autobill">
+    <TABLE>
+    <& /elements/tr-input-date-field.html,
+      {
+        name     => 'target_date',
+        value    => $target_date,
+        label    => emt('Target billing date').': ',
+        required => 1
+      }
+    &>
+
+    <% include('/elements/tr-select-agent.html',
+                'label'         => 'For agent: ',
+                'disable_empty' => 0,
+              )
+    %>
+    </TABLE>
+    <BR>
+
+    <INPUT ID="future_autobill_submit" TYPE="submit" VALUE="<% mt('Get Report') |h %>">
   </FORM>
 
+  <% include( '/elements/progress-init.html',
+              'future_autobill',
+              [ qw( agentnum target_date ) ],
+              'report_future_autobill-queued_job.html',
+            )
+  %>
+
+  <script type="text/javascript">
+    $('#future_autobill').submit( function( event ) {
+      $('#future_autobill').prop( 'disabled', true );
+      $('#future_autobill_submit').prop( 'disabled', true );
+      event.preventDefault();
+      process();
+    });
+  </script>
+
 % }
 
 <% include('/elements/footer.html') %>
 
 <%init>
 use FS::cust_payby;
+use FS::CurrentUser;
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
 
 my $target_date = DateTime->now->add(days => 1)->mdy('/');
-
-# Dynamic report title
-my $title_types = '';
-my $card_count = FS::cust_payby->count_autobill_cards;
-my $check_count = FS::cust_payby->count_autobill_checks;
-if ( $card_count && $check_count ) {
-  $title_types = 'Card and Check';
-} elsif ( $card_count ) {
-  $title_types = 'Card';
-} elsif ( $check_count ) {
-  $title_types = 'Check';
-}
-
-my $report_title = sprintf(
-  'Upcoming Auto Bill %s Transactions',
-  $title_types,
-);
+my $report_title = FS::cust_payby->future_autobill_report_title;
 
 </%init>