summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DefaultRecipient.sopm8
-rw-r--r--Kernel/Language/de_AgentDefaultRecipient.pm1
-rw-r--r--Kernel/Modules/AdminDefaultRecipient.pm18
-rw-r--r--Kernel/Output/HTML/ArticleCompose/DefaultRecipient.pm15
-rw-r--r--Kernel/Output/HTML/Templates/Standard/AdminDefaultRecipient.tt8
-rw-r--r--Kernel/System/DefaultRecipient.pm39
6 files changed, 58 insertions, 31 deletions
diff --git a/DefaultRecipient.sopm b/DefaultRecipient.sopm
index 7e3cd73..6d5dabf 100644
--- a/DefaultRecipient.sopm
+++ b/DefaultRecipient.sopm
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.0">
<Name>DefaultRecipient</Name>
- <Version>1.0.2</Version>
+ <Version>1.0.3</Version>
<Framework>5.0.x</Framework>
<Vendor>spline.de</Vendor>
<URL>https://github.com/AlexanderS/OTRS-DefaultRecipient</URL>
@@ -25,6 +25,7 @@
<Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
<Column Name="title" Required="true" Size="250" Type="VARCHAR"/>
<Column Name="remove_to" Required="true" Type="SMALLINT"/>
+ <Column Name="remove_cc" Required="true" Type="SMALLINT"/>
<Column Name="to_addr" Required="false" Size="255" Type="VARCHAR"/>
<Column Name="cc_addr" Required="false" Size="255" Type="VARCHAR"/>
<Column Name="bcc_addr" Required="false" Size="255" Type="VARCHAR"/>
@@ -66,4 +67,9 @@
<TableDrop Name="default_recipient_response"/>
<TableDrop Name="default_recipient"/>
</DatabaseUninstall>
+ <DatabaseUpgrade>
+ <TableAlter Name="default_recipient" Version="1.0.3">
+ <ColumnAdd Name="remove_cc" Required="true" Type="SMALLINT"/>
+ </TableAlter>
+ </DatabaseUpgrade>
</otrs_package>
diff --git a/Kernel/Language/de_AgentDefaultRecipient.pm b/Kernel/Language/de_AgentDefaultRecipient.pm
index 654dab3..892a55a 100644
--- a/Kernel/Language/de_AgentDefaultRecipient.pm
+++ b/Kernel/Language/de_AgentDefaultRecipient.pm
@@ -20,6 +20,7 @@ sub Data {
$Self->{Translation}->{"Don't forget to add new DefaultRecipients to templates."} =
'Vergessen Sie nicht, die Standardempfänger den Vorlagen zuzuordnern.';
$Self->{Translation}->{"Remove 'To'"} = "'An' entfernen";
+ $Self->{Translation}->{"Remove 'Cc'"} = "'Cc' entfernen";
$Self->{Translation}->{'Manage Template-DefaultRecipient Relations'} = 'Standardempfänger-Vorlagenzuordnungen verwalten';
$Self->{Translation}->{'Default Recipients'} = 'Standardempfänger';
diff --git a/Kernel/Modules/AdminDefaultRecipient.pm b/Kernel/Modules/AdminDefaultRecipient.pm
index 5269c75..1b8d6c3 100644
--- a/Kernel/Modules/AdminDefaultRecipient.pm
+++ b/Kernel/Modules/AdminDefaultRecipient.pm
@@ -67,7 +67,7 @@ sub Run {
my $DefaultRecipientObject = $Kernel::OM->Get('Kernel::System::DefaultRecipient');
my @NewIDs = $ParamObject->GetArray( Param => 'IDs' );
my ( %GetParam, %Errors );
- for my $Parameter (qw(ID Title RemoveTo To Cc Bcc Comment)) {
+ for my $Parameter (qw(ID Title RemoveTo RemoveCc To Cc Bcc Comment)) {
$GetParam{$Parameter} = $ParamObject->GetParam(
Param => $Parameter
);
@@ -161,7 +161,7 @@ sub Run {
my @NewIDs = $ParamObject->GetArray( Param => 'IDs' );
my ( %GetParam, %Errors );
- for my $Parameter (qw(ID Title RemoveTo To Cc Bcc Comment)) {
+ for my $Parameter (qw(ID Title RemoveTo RemoveCc To Cc Bcc Comment)) {
$GetParam{$Parameter} = $ParamObject->GetParam( Param => $Parameter );
}
@@ -265,11 +265,14 @@ sub _Edit {
$LayoutObject->Block( Name => 'ActionList' );
$LayoutObject->Block( Name => 'ActionOverview' );
- $Param{DefaultRecipientRemoveToOption} = $LayoutObject->BuildSelection(
- Data => $ConfigObject->Get('YesNoOptions'),
- Name => 'RemoveTo',
- SelectedID => $Param{RemoveTo} || 0,
- );
+ for my $addr (qw(To Cc)) {
+ $Param{'DefaultRecipientRemove' . $addr . 'Option'} =
+ $LayoutObject->BuildSelection(
+ Data => $ConfigObject->Get('YesNoOptions'),
+ Name => 'Remove' . $addr,
+ SelectedID => $Param{'Remove' . $addr} || 0,
+ );
+ }
$LayoutObject->Block(
Name => 'OverviewUpdate',
@@ -329,6 +332,7 @@ sub _Overview {
Name => 'OverviewResultRow',
Data => {
RemoveToYesNo => $YesNo{ $DefaultRecipient{RemoveTo} },
+ RemoveCcYesNo => $YesNo{ $DefaultRecipient{RemoveCc} },
%DefaultRecipient,
},
);
diff --git a/Kernel/Output/HTML/ArticleCompose/DefaultRecipient.pm b/Kernel/Output/HTML/ArticleCompose/DefaultRecipient.pm
index 2a8a9a9..6b92ea4 100644
--- a/Kernel/Output/HTML/ArticleCompose/DefaultRecipient.pm
+++ b/Kernel/Output/HTML/ArticleCompose/DefaultRecipient.pm
@@ -51,14 +51,16 @@ sub Run {
TemplateID => $Self->{ResponseID},
);
- my $RemoveTo = 0;
+ my %Remove = ( To => 0, Cc => 0 );
my %Addresses = ( To => [], Cc => [], Bcc => [] );
foreach my $ID ( values %MappedDefaultRecipient ) {
my %DefaultRecipient = $DefaultRecipientObject->Get(
ID => $ID,
);
- $RemoveTo = 1 if $DefaultRecipient{RemoveTo};
+ for my $addr (qw(To Cc)) {
+ $Remove{$addr} = 1 if $DefaultRecipient{'Remove' . $addr};
+ }
for my $addr (qw(To Cc Bcc)) {
if ( $DefaultRecipient{ $addr } ne '' ) {
@@ -67,13 +69,16 @@ sub Run {
}
}
- if ( $RemoveTo ) {
- # remove preselected "To" address
+ if ( $Remove{To} || $Remove{Cc} ) {
+ # remove preselected addresses
my @blocks = ();
BLOCK:
for my $block (@{$Self->{LayoutObject}{_JSOnDocumentComplete}}) {
- next BLOCK if $block =~ m/Core\.Agent\.CustomerSearch\.AddTicketCustomer\(\s*'ToCustomer'/;
+ for my $addr (qw(To Cc)) {
+ next BLOCK if $Remove{$addr} &&
+ $block =~ qr/Core\.Agent\.CustomerSearch\.AddTicketCustomer\(\s*'${addr}Customer'/;
+ }
push @blocks, $block;
}
diff --git a/Kernel/Output/HTML/Templates/Standard/AdminDefaultRecipient.tt b/Kernel/Output/HTML/Templates/Standard/AdminDefaultRecipient.tt
index 1d54bb7..f6f268c 100644
--- a/Kernel/Output/HTML/Templates/Standard/AdminDefaultRecipient.tt
+++ b/Kernel/Output/HTML/Templates/Standard/AdminDefaultRecipient.tt
@@ -71,6 +71,7 @@
<tr>
<th>[% Translate("Title") | html %]</th>
<th>[% Translate("Remove 'To'") | html %]</th>
+ <th>[% Translate("Remove 'Cc'") | html %]</th>
<th>[% Translate("To") | html %]</th>
<th>[% Translate("Cc") | html %]</th>
<th>[% Translate("Bcc") | html %]</th>
@@ -97,6 +98,7 @@
<a class="AsBlock" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=Change;ID=[% Data.ID | uri %]">[% Data.Title | html %]</a>
</td>
<td>[% Translate(Data.RemoveToYesNo) | html %]</td>
+ <td>[% Translate(Data.RemoveCcYesNo) | html %]</td>
<td>[% Data.To | html %]</td>
<td>[% Data.Cc | html %]</td>
<td>[% Data.Bcc | html %]</td>
@@ -161,6 +163,12 @@
</div>
<div class="Clear"></div>
+ <label for="RemoveCc">[% Translate("Remove 'Cc'") | html %]:</label>
+ <div class="Field">
+ [% Data.DefaultRecipientRemoveCcOption %]
+ </div>
+ <div class="Clear"></div>
+
<label for="To">[% Translate("To") | html %]:</label>
<div class="Field">
<input type="text" name="To" id="To" value="[% Data.To | html %]" class="W50pc" maxlength="200"/>
diff --git a/Kernel/System/DefaultRecipient.pm b/Kernel/System/DefaultRecipient.pm
index 1c052cf..8fe818e 100644
--- a/Kernel/System/DefaultRecipient.pm
+++ b/Kernel/System/DefaultRecipient.pm
@@ -31,7 +31,7 @@ sub Add {
my ( $Self, %Param ) = @_;
# check needed stuff
- for my $Needed (qw(Title RemoveTo To Cc Bcc Comment UserID)) {
+ for my $Needed (qw(Title RemoveTo RemoveCc To Cc Bcc Comment UserID)) {
if ( ! defined $Param{$Needed} ) {
my $LogObject = $Kernel::OM->Get('Kernel::System::Log');
$LogObject->Log(
@@ -47,13 +47,14 @@ sub Add {
# insert new DefaultRecipient
return if !$DBObject->Do(
SQL => 'INSERT INTO default_recipient '
- . '(title, remove_to, to_addr, cc_addr, bcc_addr, comments, '
- . ' create_time, create_by, change_time, change_by) '
+ . '(title, remove_to, remove_cc, to_addr, cc_addr, bcc_addr, '
+ . 'comments, create_time, create_by, change_time, change_by) '
. 'VALUES (?, ?, ?, ?, ?, ?, '
. 'current_timestamp, ?, current_timestamp, ?)',
Bind => [
\$Param{Title},
\$Param{RemoveTo},
+ \$Param{RemoveCc},
\$Param{To},
\$Param{Cc},
\$Param{Bcc},
@@ -89,7 +90,7 @@ sub Update {
my ( $Self, %Param ) = @_;
# check needed stuff
- for my $Needed (qw(ID Title RemoveTo To Cc Bcc Comment UserID)) {
+ for my $Needed (qw(ID Title RemoveTo RemoveCc To Cc Bcc Comment UserID)) {
if ( ! defined $Param{$Needed} ) {
my $LogObject = $Kernel::OM->Get('Kernel::System::Log');
$LogObject->Log(
@@ -105,12 +106,13 @@ sub Update {
# insert new DefaultRecipient
return if !$DBObject->Do(
SQL => 'UPDATE default_recipient SET title = ?, remove_to = ?, '
- . 'to_addr = ?, cc_addr = ?, bcc_addr = ?, comments = ?, '
- . 'change_by = ?, change_time = current_timestamp '
- . 'WHERE id = ?',
+ . 'remove_cc = ?, to_addr = ?, cc_addr = ?, bcc_addr = ?, '
+ . 'comments = ?, change_by = ?, '
+ . 'change_time = current_timestamp WHERE id = ?',
Bind => [
\$Param{Title},
\$Param{RemoveTo},
+ \$Param{RemoveCc},
\$Param{To},
\$Param{Cc},
\$Param{Bcc},
@@ -140,9 +142,9 @@ sub Get {
# get RrsponseChangeDefaultTO obejct
return if !$DBObject->Prepare(
- SQL => 'SELECT id, title, remove_to, to_addr, cc_addr, bcc_addr, '
- . 'comments, create_time, create_by, change_time, change_by '
- . 'FROM default_recipient WHERE id = ?',
+ SQL => 'SELECT id, title, remove_to, remove_cc, to_addr, cc_addr, '
+ . 'bcc_addr, comments, create_time, create_by, change_time, '
+ . 'change_by FROM default_recipient WHERE id = ?',
Bind => [ \$Param{ID} ],
Limit => 1,
);
@@ -153,14 +155,15 @@ sub Get {
ID => $Data[0],
Title => $Data[1],
RemoveTo => $Data[2],
- To => $Data[3],
- Cc => $Data[4],
- Bcc => $Data[5],
- Comment => $Data[6],
- CreateTime => $Data[7],
- CreateBy => $Data[8],
- ChangeTime => $Data[9],
- ChangeBy => $Data[10],
+ RemoveCc => $Data[3],
+ To => $Data[4],
+ Cc => $Data[5],
+ Bcc => $Data[6],
+ Comment => $Data[7],
+ CreateTime => $Data[8],
+ CreateBy => $Data[9],
+ ChangeTime => $Data[10],
+ ChangeBy => $Data[11],
);
}