SimpleSystemSetting: Umstellung von »Projekttypen« und »Projekstatus«
[kivitendo-erp.git] / SL / Controller / EmailJournal.pm
index 7c40a0d..a4ffc62 100644 (file)
@@ -27,6 +27,11 @@ __PACKAGE__->run_before('add_stylesheet');
 sub action_list {
   my ($self) = @_;
 
+  $::auth->assert('email_journal');
+
+  if ( $::instance_conf->get_email_journal == 0 ) {
+    flash('info',  $::locale->text('Storing the emails in the journal is currently disabled in the client configuration.'));
+  }
   $self->render('email_journal/list',
                 title   => $::locale->text('Email journal'),
                 ENTRIES => $self->models->get,
@@ -36,11 +41,13 @@ sub action_list {
 sub action_show {
   my ($self) = @_;
 
+  $::auth->assert('email_journal');
+
   my $back_to = $::form->{back_to} || $self->url_for(action => 'list');
 
   $self->entry(SL::DB::EmailJournal->new(id => $::form->{id})->load);
 
-  if (!$self->can_view_all && ($self->entry->sender_id != SL::DB::Manager::Emplyee->current->id)) {
+  if (!$self->can_view_all && ($self->entry->sender_id != SL::DB::Manager::Employee->current->id)) {
     $::form->error(t8('You do not have permission to access this entry.'));
   }
 
@@ -52,13 +59,19 @@ sub action_show {
 sub action_download_attachment {
   my ($self) = @_;
 
+  $::auth->assert('email_journal');
+
   my $attachment = SL::DB::EmailJournalAttachment->new(id => $::form->{id})->load;
 
-  if (!$self->can_view_all && ($attachment->email_journal->sender_id != SL::DB::Manager::Emplyee->current->id)) {
+  if (!$self->can_view_all && ($attachment->email_journal->sender_id != SL::DB::Manager::Employee->current->id)) {
     $::form->error(t8('You do not have permission to access this entry.'));
   }
-
-  $self->send_file(\$attachment->content, name => $attachment->name, type => $attachment->mime_type);
+  my $ref = \$attachment->content;
+  if ( $attachment->file_id > 0 ) {
+    my $file = SL::File->get(id => $attachment->file_id );
+    $ref = SL::File->get_content(dbfile => $file) if $file;
+  }
+  $self->send_file($ref, name => $attachment->name, type => $attachment->mime_type);
 }
 
 #
@@ -73,7 +86,7 @@ sub add_stylesheet {
 # helpers
 #
 
-sub init_can_view_all { $::auth->assert('admin', 1) }
+sub init_can_view_all { $::auth->assert('email_employee_readall', 1) }
 
 sub init_models {
   my ($self) = @_;