use Rose::Object::MakeMethods::Generic
 (
  scalar                  => [ qw(type profile file all_profiles all_charsets sep_char all_sep_chars quote_char all_quote_chars escape_char all_escape_chars all_buchungsgruppen all_units
-                                 csv_import_access
                                  import_status errors headers raw_data_headers info_headers data num_importable displayable_columns file all_taxzones) ],
  'scalar --get_set_init' => [ qw(worker task_server num_imported mappings) ],
  'array'                 => [
  ],
 );
 
-__PACKAGE__->run_before('check_auth');
+__PACKAGE__->run_before('check_auth', except => [ qw(report) ]);
 __PACKAGE__->run_before('ensure_form_structure');
 __PACKAGE__->run_before('check_type', except => [ qw(report) ]);
 __PACKAGE__->run_before('load_all_profiles');
 #
 
 sub check_auth {
-  my ($self) = @_;
-  if ( $::form->{csv_import_access} ) {
-    $self->csv_import_access($::form->{csv_import_access});
-    return $::auth->assert($self->csv_import_access);
-  } else {
-    return $::auth->assert('config');
-  }
+  $_[0]->check_type;
+  $_[0]->worker->check_auth;
 }
 
 sub check_type {
 
   $object->remote_name($remote_name);
 }
 
+sub check_auth {
+  $::auth->assert('config') if ! $::auth->assert('bank_transaction',1);
+}
+
 1;
 
 sub check_duplicates {
 }
 
+sub check_auth {
+  $::auth->assert('config');
+}
+
 sub check_std_duplicates {
   my $self = shift;
 
 
 
   $(document).ready(function(){
     [%- IF SELF.background_job.data_as_hash.report_id %]
-      get_report('#csv_import_report', 'controller.pl', { action: 'CsvImport/report', 'no_layout': 1, 'id': [% SELF.background_job.data_as_hash.report_id %], 'csv_import_access' : '[% SELF.csv_import_access %]' });
+      get_report('#csv_import_report', 'controller.pl', { action: 'CsvImport/report', 'no_layout': 1, 'id': [% SELF.background_job.data_as_hash.report_id %] });
     [%- END %]
   });
 
 
       data: {
         action: 'CsvImport/result',
         'profile.type': '[% SELF.profile.type %]',
-        'csv_import_access' : '[% SELF.csv_import_access %]',
         job: '[% SELF.background_job.id %]'
       },
       success: function(data) { $('#results').html(data) },
 
   [% L.hidden_tag('form_sent', '1') %]
   [% L.hidden_tag('action', 'CsvImport/dispatch') %]
   [% L.hidden_tag('profile.type', SELF.profile.type) %]
-  [% L.hidden_tag('csv_import_access', SELF.csv_import_access) %]
 
- [%- IF SELF.csv_import_access %]
+ [%- IF SELF.profile.get('dont_edit_profile') %]
   [% L.hidden_tag('force_profile', 1) %]
   [% L.hidden_tag('profile.id', SELF.profile.id) %]
  [%- ELSE %]