Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / bin / mozilla / bp.pl
index d8180a6..439709e 100644 (file)
@@ -24,7 +24,8 @@
 # GNU General Public License for more details.
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
 #======================================================================
 #
 # Batch printing
@@ -32,6 +33,7 @@
 #======================================================================
 
 use SL::BP;
+use SL::Locale::String qw(t8);
 use Data::Dumper;
 use List::Util qw(first);
 
@@ -68,9 +70,6 @@ sub search {
 
   assert_bp_access();
 
-  # setup customer/vendor selection
-  BP->get_vc(\%::myconfig, $::form);
-
   my %label = (
        invoice           => { title => $::locale->text('Sales Invoices'),  invnumber => 1, ordnumber => 1 },
        sales_order       => { title => $::locale->text('Sales Orders'),    ordnumber => 1, },
@@ -85,6 +84,8 @@ sub search {
   my $bp_accounts = $::form->{type} =~ /check|receipt/
                  && BP->payment_accounts(\%::myconfig, $::form);
 
+  setup_bp_search_action_bar();
+
   $::form->header;
   print $::form->parse_html_template('bp/search', {
     label         => \%label,
@@ -135,7 +136,7 @@ sub print {
         print $::locale->text('done');
         $::form->redirect($::locale->text('Marked entries printed!'));
       }
-      ::end_of_request();
+      $::dispatcher->end_request;
     }
   }
 
@@ -185,9 +186,10 @@ sub list_spool {
 
   $::form->get_lists(printers => "ALL_PRINTERS");
 
+  setup_bp_list_spool_action_bar();
+
   $::form->header;
   print $::form->parse_html_template('bp/list_spool', {
-     spool        => $::lx_office_conf{paths}->{spool},
      href         => build_std_url('bp.pl', @href_options),
      is_invoice   => scalar ($::form->{type} =~ /^invoice$/),
      is_order     => scalar ($::form->{type} =~ /_order$/),
@@ -198,5 +200,36 @@ sub list_spool {
   $::lxdebug->leave_sub;
 }
 
-sub continue { call_sub($::form->{"nextsub"}); }
+sub setup_bp_search_action_bar {
+  my %params = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        t8('Show'),
+        submit    => [ '#form', { action => "list_spool" } ],
+        accesskey => 'enter',
+      ],
+    );
+  }
+}
 
+sub setup_bp_list_spool_action_bar {
+  my %params = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        t8('Remove'),
+        submit  => [ '#form', { action => "remove" } ],
+        checks  => [ [ 'kivi.check_if_entries_selected', '.check_all' ] ],
+        confirm => t8('Are you sure you want to remove the marked entries from the queue?'),
+      ],
+      action => [
+        t8('Print'),
+        submit => [ '#form', { action => "print" } ],
+        checks => [ [ 'kivi.check_if_entries_selected', '.check_all' ] ],
+      ],
+    );
+  }
+}