+sub assert_bp_access {
+ my $form = $main::form;
+
+ my %access_map = (
+ 'invoice' => 'invoice_edit',
+ 'sales_order' => 'sales_order_edit',
+ 'sales_quotation' => 'sales_quotation_edit',
+ 'purchase_order' => 'purchase_order_edit',
+ 'request_quotation' => 'request_quotation_edit',
+ 'check' => 'cash',
+ 'receipt' => 'cash',
+ );
+
+ if ($form->{type} && $access_map{$form->{type}}) {
+ $main::auth->assert($access_map{$form->{type}});
+
+ } elsif ($form->{type} eq 'packing_list') {
+ $main::lxdebug->message(0, "1");
+ if (!$main::auth->assert('sales_order_edit', 1)) {
+ $main::lxdebug->message(0, "2");
+ $main::auth->assert('invoice_edit') ;
+ }
+ $main::lxdebug->message(0, "3");
+
+ } else {
+ $main::auth->assert('DOES_NOT_EXIST');
+ }
+}
+