From 80e9d9da6ec5a16d222910a97ca5b79d30a1da8f Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 19 Jan 2015 00:50:43 +0100 Subject: Inital commit --- Kernel/Config/Files/ResponseChangeDefaultTo.xml | 18 ++++++ Kernel/Output/HTML/ResponseChangeDefaultTo.pm | 75 +++++++++++++++++++++++++ Kernel/System/ResponseChangeDefaultTo.pm | 25 +++++++++ ResponseChangeDefaultTo.sopm | 54 ++++++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 Kernel/Config/Files/ResponseChangeDefaultTo.xml create mode 100644 Kernel/Output/HTML/ResponseChangeDefaultTo.pm create mode 100644 Kernel/System/ResponseChangeDefaultTo.pm create mode 100644 ResponseChangeDefaultTo.sopm diff --git a/Kernel/Config/Files/ResponseChangeDefaultTo.xml b/Kernel/Config/Files/ResponseChangeDefaultTo.xml new file mode 100644 index 0000000..0018b85 --- /dev/null +++ b/Kernel/Config/Files/ResponseChangeDefaultTo.xml @@ -0,0 +1,18 @@ + + + + Change the default To address, based on the response template. + Ticket + Frontend::Agent::Ticket::ViewCompose + + + Kernel::Output::HTML::ResponseChangeDefaultTo + + + 1 + + + + + + diff --git a/Kernel/Output/HTML/ResponseChangeDefaultTo.pm b/Kernel/Output/HTML/ResponseChangeDefaultTo.pm new file mode 100644 index 0000000..df583fe --- /dev/null +++ b/Kernel/Output/HTML/ResponseChangeDefaultTo.pm @@ -0,0 +1,75 @@ +# -- +# Kernel/Output/HTML/ResponseChangeDefaultTo.pm +# Copyright (C) 2015 Alexander Sulfrian +# -- + +package Kernel::Output::HTML::ResponseChangeDefaultTo; + +use strict; +use warnings; + +our @ObjectDependencies = qw( + Kernel::Config + Kernel::System::DB + Kernel::System::Encode + Kernel::System::Log + Kernel::System::Main + Kernel::System::ResponseChangeDefaultTo +); + +sub new { + my ( $Type, %Param ) = @_; + + # allocate new hash for object + my $Self = {}; + $Self->{LayoutObject} = $Param{$_} || die "Got no $_!"; + $Self->{ConfigObject} = $Kernel::OM->Get('Kernel::Config'); + $Self->{DBObject} = $Kernel::OM->Get('Kernel::System::DB'); + $Self->{EncodeObject} = $Kernel::OM->Get('Kernel::System::Encode'); + $Self->{LogObject} = $Kernel::OM->Get('Kernel::System::Log'); + $Self->{MainObject} = $Kernel::OM->Get('Kernel::System::Main'); + $Self->{ResponseChangeDefaultToObject} = + $Kernel::OM->Get('Kernel::System::ResponseChangeDefaultTo'); + bless( $Self, $Type ); + + return $Self; +} + +sub Run { + my ( $Self, %Param ) = @_; + return if !$Self->{LayoutObject}; + + for (qw(DBObject EncodeObject ConfigObject LogObject MainObject + LayoutObject ResponseChangeDefaultToObject)) { + return if !$Self->{$_}; + } + + # check needed stuff + if ( !defined $Param{Data} ) { + $Self->{LogObject}->Log( + Priority => 'error', + Message => 'Need Data!' + ); + $Self->{LayoutObject}->FatalDie(); + } + + my @BlockData = $Self->{LayoutObject}->{BlockData}; + + # get ticket data + my %Ticket = (); + BLOCK: + for my $block ( @BlockData ) { + if ( $block->{Name} eq 'TicketBack' ) { + %Ticket = $block->{Data}; + last BLOCK; + } + } + + # remove preselected "To" address + $Self->{LayoutObject}->{BlockData} = + grep { $_->{Name} ne 'PreFilledToRow' } @BlockData; + + return $Param{Data}; +} + +1; diff --git a/Kernel/System/ResponseChangeDefaultTo.pm b/Kernel/System/ResponseChangeDefaultTo.pm new file mode 100644 index 0000000..7ba02a9 --- /dev/null +++ b/Kernel/System/ResponseChangeDefaultTo.pm @@ -0,0 +1,25 @@ +# -- +# Kernel/System/ResponseChangeDefaultTo.pm - core module +# Copyright (C) 2015 Alexander Sulfrian +# -- +# This software comes with ABSOLUTELY NO WARRANTY. For details, see +# the enclosed file COPYING for license information (AGPL). If you +# did not receive this file, see http://www.gnu.org/licenses/agpl.txt. +# -- + +package Kernel::System::ResponseChangeDefaultTo; + +use strict; +use warnings; + +sub new { + my ( $Type, %Param ) = @_; + + # allocate new hash for object + my $Self = {}; + bless ($Self, $Type); + + return $Self; +} + +1; diff --git a/ResponseChangeDefaultTo.sopm b/ResponseChangeDefaultTo.sopm new file mode 100644 index 0000000..9fc48dc --- /dev/null +++ b/ResponseChangeDefaultTo.sopm @@ -0,0 +1,54 @@ + + + + 1.0.0 + 4.0.x + spline.de + http://www.spline.de/ + GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 + + + ? + ? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3-1-g7c22