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->setup_list_action_bar;
$self->render('email_journal/list',
title => $::locale->text('Email journal'),
ENTRIES => $self->models->get,
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);
$::form->error(t8('You do not have permission to access this entry.'));
}
+ $self->setup_show_action_bar;
$self->render('email_journal/show',
title => $::locale->text('View sent email'),
back_to => $back_to);
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::Employee->current->id)) {
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;
+ $ref = $file->get_content if $file;
}
$self->send_file($ref, name => $attachment->name, type => $attachment->mime_type);
}
# 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) = @_;
return join ', ', @filter_strings;
}
+sub setup_list_action_bar {
+ my ($self) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Filter'),
+ submit => [ '#filter_form', { action => 'EmailJournal/list' } ],
+ accesskey => 'enter',
+ ],
+ );
+ }
+}
+
+sub setup_show_action_bar {
+ my ($self) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Back'),
+ call => [ 'kivi.history_back' ],
+ ],
+ );
+ }
+}
+
1;