]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/BankImport.pm
ActionBar: Border von ActionBar buttons nicht in common.css clobbern
[mfinanz.git] / SL / Controller / BankImport.pm
index 58faf85a19c7d7f384f71ee6ea33c4a2e0d861a8..6204e736aa44367e6cae1c3f4d3724d041d46c89 100644 (file)
@@ -7,13 +7,18 @@ use SL::Locale::String qw(t8);
 use SL::DB::CsvImportProfile;
 use SL::Helper::MT940;
 
+__PACKAGE__->run_before('check_auth');
 
 sub action_upload_mt940 {
   my ($self, %params) = @_;
 
   my $profile = SL::DB::Manager::CsvImportProfile->find_by(name => 'MT940', login => $::myconfig{login});
-  $self->render('bankimport/form', title => $::locale->text('MT940 import'), profile => $profile ? 1 : 0);
+  if ( ! $profile ) {
+    $profile = SL::DB::Manager::CsvImportProfile->find_by(name => 'MT940', login => 'default');
+  }
 
+  $self->setup_upload_mt940_action_bar;
+  $self->render('bankimport/form', title => $::locale->text('MT940 import'), profile => $profile ? 1 : 0);
 }
 
 sub action_import_mt940 {
@@ -29,11 +34,30 @@ sub action_import_mt940 {
   $file->fh->close;
 
   my $profile = SL::DB::Manager::CsvImportProfile->find_by(name => 'MT940', login => $::myconfig{login});
+  if ( ! $profile ) {
+    $profile = SL::DB::Manager::CsvImportProfile->find_by(name => 'MT940', login => 'default');
+  }
   die t8("The MT940 import needs an import profile called MT940") unless $profile;
 
   $self->redirect_to(controller => 'controller.pl', action => 'CsvImport/test', 'profile.type' => 'bank_transactions', 'profile.id' => $profile->id, force_profile => 1);
+}
 
-};
+sub check_auth {
+  $::auth->assert('bank_transaction');
+}
 
-1;
+sub setup_upload_mt940_action_bar {
+  my ($self) = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        $::locale->text('Preview'),
+        submit    => [ '#form', { action => 'BankImport/import_mt940' } ],
+        accesskey => 'enter',
+      ],
+    );
+  }
+}
 
+1;