summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2015-01-19 23:18:55 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2015-01-19 23:29:24 +0100
commit6d72797b466929192a82292be31debaaa745e795 (patch)
treeb951e1b1db6ce585824cece8d3ad4058197d4600
parentf249fd0169461488bb531970dafc20ddc6345eca (diff)
downloadDefaultRecipient-6d72797b466929192a82292be31debaaa745e795.tar.gz
DefaultRecipient-6d72797b466929192a82292be31debaaa745e795.tar.bz2
DefaultRecipient-6d72797b466929192a82292be31debaaa745e795.zip
FilterElementPre: handle data from backend module
-rw-r--r--Kernel/Output/HTML/ResponseChangeDefaultTo.pm42
1 files changed, 39 insertions, 3 deletions
diff --git a/Kernel/Output/HTML/ResponseChangeDefaultTo.pm b/Kernel/Output/HTML/ResponseChangeDefaultTo.pm
index e9b7676..42b6704 100644
--- a/Kernel/Output/HTML/ResponseChangeDefaultTo.pm
+++ b/Kernel/Output/HTML/ResponseChangeDefaultTo.pm
@@ -56,9 +56,45 @@ sub Run {
}
}
- # remove preselected "To" address
- $Self->{LayoutObject}->{BlockData} =
- grep { $_->{Name} ne 'PreFilledToRow' } @BlockData;
+ # return if not generated from template
+ return unless $Ticket{ResponseID};
+
+ # get all ResponseChangeDefaultTo
+ my %MappedResponseChangeDefaultTo =
+ $Self->{ResponseChangeDefaultToObject}->MappingList(
+ ResponseID => $Ticket{ResponseID},
+ );
+
+ my $RemoveDefault = 0;
+ my @Addresses = ();
+ foreach ( values %MappedResponseChangeDefaultTo ) {
+ my $ID = $_->{MappingID};
+ my %ResponseChangeDefaultTo =
+ $Self->{ResponseChangeDefaultToObject}->Get(
+ ID => $ID,
+ );
+
+ $RemoveDefault = 1 if $ResponseChangeDefaultTo{RemoveDefault};
+ if ( $ResponseChangeDefaultTo{AddNew} ) {
+ push @Addresses, $ResponseChangeDefaultTo{NewAddress};
+ }
+ }
+
+ if ( $RemoveDefault ) {
+ # remove preselected "To" address
+ $Self->{LayoutObject}->{BlockData} =
+ grep { $_->{Name} ne 'PreFilledToRow' } @BlockData;
+ }
+
+ # add new addresses
+ foreach my $Address ( @Addresses ) {
+ $Self->{LayoutObject}->Block(
+ Name => 'PreFilledToRow',
+ Data => {
+ Email => $Address,
+ },
+ );
+ }
return $Param{Data};
}