Skip to content

Instantly share code, notes, and snippets.

@reneeb
Last active November 6, 2018 08:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reneeb/a9301f3e39caad2c8feaecce1c6dd15b to your computer and use it in GitHub Desktop.
Save reneeb/a9301f3e39caad2c8feaecce1c6dd15b to your computer and use it in GitHub Desktop.
# --
# Kernel/System/PostMaster/Filter/ReAssign.pm - the global PostMaster module for OTRS
# Copyright (C) 2018 Perl-Services.de, http://perl-services.de
# --
# 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::PostMaster::Filter::ReAssign;
use strict;
our @ObjectDependencies = qw(
Kernel::System::Log
Kernel::System::CustomerUser
);
sub new {
my $Type = shift;
my %Param = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
my $LogObject = $Kernel::OM->Get('Kernel::System::Log');
my $UserObject = $Kernel::OM->Get('Kernel::System::User');
my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
for my $Needed (qw(TicketID JobConfig GetParam)) {
if ( !$Param{$Needed} ) {
$LogObject->Log(
Priority => 'error',
Message => "Need $Needed!",
);
return;
}
}
my %Ticket = $TicketObject->TicketGet( TicketID => $Param{TicketID} );
my %Preferences = $UserObject->GetPreferences( User => $Ticket{OwnerID} );
my $IsOutOfOffice = $Preferences{OutOfOffice};
if ( $IsOutOfOffice ) {
# Funktionen siehe http://doc.otrs.com/doc/api/otrs/5.0/Perl/Kernel/System/Ticket.pm.html
# Neuen Besitzer setzen
my $Success = $TicketObject->TicketOwnerSet(
TicketID => $Param{TicketID},
NewUserID => 1,
UserID => 1,
);
# Sperre aufheben
my $SuccessLock = $TicketObject->TicketLockSet(
Lock => 'unlock',
TicketID => $Param{TicketID},
UserID => 1,
);
}
return 1;
}
1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment