GDPDU: customer, vendor und chart auf einige wenige Spalten beschränken
[kivitendo-erp.git] / SL / Controller / Draft.pm
index 33da3bd..41c8c16 100644 (file)
@@ -19,7 +19,7 @@ use Rose::Object::MakeMethods::Generic (
 
 __PACKAGE__->run_before('check_auth');
 
-my %allowed_modules = map { $_ => "bin/mozilla/$_.pl" } qw(is ir ar ap);
+my %allowed_modules = map { $_ => "bin/mozilla/$_.pl" } qw(is ir ar ap gl);
 
 #
 # actions
@@ -82,10 +82,16 @@ sub action_load {
     require $allowed_modules{ $self->draft->module };
   }
 
+
+  my $params = delete $::form->{form};
   my $new_form = YAML::Load($self->draft->form);
   $::form->{$_} = $new_form->{$_} for keys %$new_form;
   $::form->{"draft_$_"} = $self->draft->$_ for qw(id description);
 
+  if ($params && 'HASH' eq ref $params) {
+    $::form->{$_} = $params->{$_} for keys %$params;
+  }
+
   $::form->{script} = $self->draft->module . '.pl';
   ::update();
 }
@@ -158,7 +164,7 @@ sub init_draft {
 }
 
 sub check_auth {
-  $::auth->assert('vendor_invoice_edit | invoice_edit | general_ledger');
+  $::auth->assert('vendor_invoice_edit | invoice_edit | ap_transactions | ar_transactions');
 }
 
 1;