WebshopApi: File upload Übersetzungen
[kivitendo-erp.git] / bin / mozilla / bp.pl
index 1d9d79f..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);
 
@@ -49,6 +51,7 @@ sub assert_bp_access {
     'sales_order'       => 'sales_order_edit',
     'sales_quotation'   => 'sales_quotation_edit',
     'purchase_order'    => 'purchase_order_edit',
+    'packing_list'      => 'sales_delivery_order_edit|purchase_delivery_order_edit',
     'request_quotation' => 'request_quotation_edit',
     'check'             => 'cash',
     'receipt'           => 'cash',
@@ -67,15 +70,13 @@ 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, },
        purchase_order    => { title => $::locale->text('Purchase Orders'), ordnumber => 1, },
        sales_quotation   => { title => $::locale->text('Quotations'),      quonumber => 1, },
        request_quotation => { title => $::locale->text('RFQs'),            quonumber => 1, },
+       packing_list      => { title => $::locale->text('Delivery Orders'), donumber  => 1, ordnumber => 1 },
        check             => { title => $::locale->text('Checks'),          chknumber => 1, },
        receipt           => { title => $::locale->text('Receipts'),        rctnumber => 1, },
   );
@@ -83,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,
@@ -133,7 +136,7 @@ sub print {
         print $::locale->text('done');
         $::form->redirect($::locale->text('Marked entries printed!'));
       }
-      ::end_of_request();
+      $::dispatcher->end_request;
     }
   }
 
@@ -161,12 +164,13 @@ sub list_spool {
     invnumber     => sub { $::locale->text('Invoice Number')   . " : $::form->{invnumber}" },
     ordnumber     => sub { $::locale->text('Order Number')     . " : $::form->{ordnumber}" },
     quonumber     => sub { $::locale->text('Quotation Number') . " : $::form->{quonumber}" },
+    donumber      => sub { $::locale->text('Delivery Order Number') . " : $::form->{donumber}" },
     transdatefrom => sub { $::locale->text('From') . " " . $::locale->date(\%::myconfig, $::form->{transdatefrom}, 1) },
     transdateto   => sub { $::locale->text('To')   . " " . $::locale->date(\%::myconfig, $::form->{transdateto}, 1) },
   );
 
   my @options;
-  for my $key ($::form->{vc}, qw(account invnumber ordnumber quonumber transdatefrom transdateto)) {
+  for my $key ($::form->{vc}, qw(account invnumber ordnumber quonumber donumber transdatefrom transdateto)) {
     next unless $::form->{$key};
     push @href_options, $key;
     push @options, $option_texts{$key} ? $option_texts{$key}->() : '';
@@ -182,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$/),
@@ -195,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' ] ],
+      ],
+    );
+  }
+}