From 44fd242d88c95a50cd917694ce903711e72bbc6f Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Sat, 24 Jan 2015 17:03:19 +0100 Subject: Get the required objects only on demand from the OM. --- Kernel/Modules/AdminDefaultTo.pm | 36 +++++++----- Kernel/Modules/AdminDefaultToTemplates.pm | 55 ++++++++++-------- Kernel/System/DefaultTo.pm | 93 +++++++++++++++++++------------ 3 files changed, 110 insertions(+), 74 deletions(-) diff --git a/Kernel/Modules/AdminDefaultTo.pm b/Kernel/Modules/AdminDefaultTo.pm index 448bb2f..485cd13 100644 --- a/Kernel/Modules/AdminDefaultTo.pm +++ b/Kernel/Modules/AdminDefaultTo.pm @@ -12,7 +12,13 @@ package Kernel::Modules::AdminDefaultTo; use strict; use warnings; -use Kernel::System::DefaultTo; +our @ObjectDependencies = qw( + Kernel::Config + Kernel::Output::HTML::Layout + Kernel::System::DB + Kernel::System::Web::Request + Kernel::System::DefaultTo +); sub new { my ( $Type, %Param ) = @_; @@ -22,12 +28,11 @@ sub new { bless( $Self, $Type ); # check all needed objects - for my $Needed (qw(ParamObject DBObject LayoutObject ConfigObject LogObject)) { + for my $Needed (qw(ParamObject DBObject LayoutObject ConfigObject)) { if ( !$Self->{$Needed} ) { $Self->{LayoutObject}->FatalError( Message => "Got no $Needed!" ); } } - $Self->{DefaultToObject} = Kernel::System::DefaultTo->new(%Param); return $Self; } @@ -40,7 +45,8 @@ sub Run { # ------------------------------------------------------------ # if ( $Self->{Subaction} eq 'Change' ) { my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ) || ''; - my %Data = $Self->{DefaultToObject}->Get( + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %Data = $DefaultToObject->Get( ID => $ID, ); @@ -62,10 +68,10 @@ sub Run { # change action # ------------------------------------------------------------ # elsif ( $Self->{Subaction} eq 'ChangeAction' ) { - # challenge token check for write action $Self->{LayoutObject}->ChallengeTokenCheck(); + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); my @NewIDs = $Self->{ParamObject}->GetArray( Param => 'IDs' ); my ( %GetParam, %Errors ); for my $Parameter (qw(ID Title RemoveDefault AddNew NewAddress @@ -79,7 +85,7 @@ sub Run { $Errors{TitleInvalid} = 'ServerError' if !$GetParam{Title}; # check if a DefaultTo entry exist with this title - my $TitleExists = $Self->{DefaultToObject}->TitleExistsCheck( + my $TitleExists = $DefaultToObject->TitleExistsCheck( Title => $GetParam{Title}, ID => $GetParam{ID} ); @@ -92,7 +98,7 @@ sub Run { # if no errors occurred if ( !%Errors ) { - if ( $Self->{DefaultToObject}->Update( + if ( $DefaultToObject->Update( %GetParam, UserID => $Self->{UserID}, ) @@ -153,10 +159,10 @@ sub Run { # add action # ------------------------------------------------------------ # elsif ( $Self->{Subaction} eq 'AddAction' ) { - # challenge token check for write action $Self->{LayoutObject}->ChallengeTokenCheck(); + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); my @NewIDs = $Self->{ParamObject}->GetArray( Param => 'IDs' ); my ( %GetParam, %Errors ); @@ -169,7 +175,7 @@ sub Run { $Errors{TitleInvalid} = 'ServerError' if !$GetParam{Title}; # check if a DefaultTo entry exists with this title - my $TitleExists = $Self->{DefaultToObject}->TitleExistsCheck( Title => $GetParam{Title} ); + my $TitleExists = $DefaultToObject->TitleExistsCheck( Title => $GetParam{Title} ); if ($TitleExists) { $Errors{TitleExists} = 1; $Errors{TitleInvalid} = 'ServerError'; @@ -179,7 +185,7 @@ sub Run { if ( !%Errors ) { # add DefaultTo entry - my $ID = $Self->{DefaultToObject}->Add( + my $ID = $DefaultToObject->Add( %GetParam, UserID => $Self->{UserID}, ); @@ -219,13 +225,13 @@ sub Run { # delete action # ------------------------------------------------------------ # elsif ( $Self->{Subaction} eq 'Delete' ) { - # challenge token check for write action $Self->{LayoutObject}->ChallengeTokenCheck(); + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ); - my $Delete = $Self->{DefaultToObject}->Delete( + my $Delete = $DefaultToObject->Delete( ID => $ID, ); if ( !$Delete ) { @@ -321,11 +327,13 @@ sub _Overview { Name => 'OverviewResult', Data => \%Param, ); - my %List = $Self->{DefaultToObject}->List(); + + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %List = $DefaultToObject->List(); for my $ID ( sort { $List{$a} cmp $List{$b} } keys %List ) { - my %DefaultTo = $Self->{DefaultToObject}->Get( + my %DefaultTo = $DefaultToObject->Get( ID => $ID, ); diff --git a/Kernel/Modules/AdminDefaultToTemplates.pm b/Kernel/Modules/AdminDefaultToTemplates.pm index 12c5826..af49b00 100644 --- a/Kernel/Modules/AdminDefaultToTemplates.pm +++ b/Kernel/Modules/AdminDefaultToTemplates.pm @@ -12,8 +12,13 @@ package Kernel::Modules::AdminDefaultToTemplates; use strict; use warnings; -use Kernel::System::DefaultTo; -use Kernel::System::StandardTemplate; +our @ObjectDependencies = qw( + Kernel::Output::HTML::Layout + Kernel::System::DB + Kernel::System::DefaultTo + Kernel::System::StandardTemplate + Kernel::System::Web::Request +); sub new { my ( $Type, %Param ) = @_; @@ -23,16 +28,12 @@ sub new { bless( $Self, $Type ); # check all needed objects - for (qw(ParamObject DBObject QueueObject LayoutObject ConfigObject LogObject)) { + for (qw(ParamObject DBObject LayoutObject)) { if ( !$Self->{$_} ) { $Self->{LayoutObject}->FatalError( Message => "Got no $_!" ); } } - $Self->{DefaultToObject} = Kernel::System::DefaultTo->new(%Param); - $Self->{StandardTemplateObject} = - Kernel::System::StandardTemplate->new(%Param); - return $Self; } @@ -46,15 +47,17 @@ sub Run { # get template data my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ); - my %StandardTemplateData = $Self->{StandardTemplateObject}->StandardTemplateGet( ID => $ID ); + my $StandardTemplateObject = $Kernel::OM->Get('Kernel::System::StandardTemplate'); + my %StandardTemplateData = $StandardTemplateObject->StandardTemplateGet( ID => $ID ); my $StandardTemplateType = $Self->{LayoutObject}->{LanguageObject}->Translate( $StandardTemplateData{TemplateType}, ); my $Name = $StandardTemplateType . ' - ' . $StandardTemplateData{Name}; # get DefaultTo data - my %DefaultToData = $Self->{DefaultToObject}->List(); - my %Member = $Self->{DefaultToObject}->MappingList( + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %DefaultToData = $DefaultToObject->List(); + my %Member = $DefaultToObject->MappingList( TemplateID => $ID, ); @@ -77,16 +80,18 @@ sub Run { elsif ( $Self->{Subaction} eq 'DefaultTo' ) { my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ); - my %DefaultToData = $Self->{DefaultToObject}->Get( ID => $ID ); + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %DefaultToData = $DefaultToObject->Get( ID => $ID ); # get templates - my %StandardTemplateData = $Self->{StandardTemplateObject}->StandardTemplateList( + my $StandardTemplateObject = $Kernel::OM->Get('Kernel::System::StandardTemplate'); + my %StandardTemplateData = $StandardTemplateObject->StandardTemplateList( Valid => 1, ); if (%StandardTemplateData) { for my $StandardTemplateID ( sort keys %StandardTemplateData ) { - my %Data = $Self->{StandardTemplateObject}->StandardTemplateGet( + my %Data = $StandardTemplateObject->StandardTemplateGet( ID => $StandardTemplateID ); $StandardTemplateData{$StandardTemplateID} @@ -97,7 +102,7 @@ sub Run { } # get assigned templates - my %Member = $Self->{DefaultToObject}->MappingList( + my %Member = $DefaultToObject->MappingList( DefaultToID => $ID, ); @@ -124,7 +129,8 @@ sub Run { # get current mapping my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ); - my %Mapping = $Self->{DefaultToObject}->MappingList( + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %Mapping = $DefaultToObject->MappingList( DefaultToID => $ID, ); @@ -139,7 +145,7 @@ sub Run { for my $TemplateID (@TemplatesAll) { if ( $TemplatesSelected{$TemplateID} ) { if ( ! $Mapping{$TemplateID} ) { - $Self->{DefaultToObject}->MappingAdd( + $DefaultToObject->MappingAdd( TemplateID => $TemplateID, DefaultToID => $ID, ); @@ -147,7 +153,7 @@ sub Run { } else { if ( $Mapping{$TemplateID} ) { - $Self->{DefaultToObject}->MappingDelete( + $DefaultToObject->MappingDelete( ID => $Mapping{$TemplateID}, ); } @@ -167,7 +173,8 @@ sub Run { # get current mapping my $ID = $Self->{ParamObject}->GetParam( Param => 'ID' ); - my %Mapping = $Self->{DefaultToObject}->MappingList( + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %Mapping = $DefaultToObject->MappingList( TemplateID => $ID, ); @@ -182,7 +189,7 @@ sub Run { for my $DefaultToID (@All) { if ( $Selected{$DefaultToID} ) { if ( ! $Mapping{$DefaultToID} ) { - $Self->{DefaultToObject}->MappingAdd( + $DefaultToObject->MappingAdd( TemplateID => $ID, DefaultToID => $DefaultToID, ); @@ -190,7 +197,7 @@ sub Run { } else { if ( $Mapping{$DefaultToID} ) { - $Self->{DefaultToObject}->MappingDelete( + $DefaultToObject->MappingDelete( ID => $Mapping{$DefaultToID}, ); } @@ -273,14 +280,15 @@ sub _Overview { $Self->{LayoutObject}->Block( Name => 'OverviewResult' ); # get std template list - my %StandardTemplateData = $Self->{StandardTemplateObject}->StandardTemplateList( + my $StandardTemplateObject = $Kernel::OM->Get('Kernel::System::StandardTemplate'); + my %StandardTemplateData = $StandardTemplateObject->StandardTemplateList( Valid => 1, ); # if there are results to show if (%StandardTemplateData) { for my $StandardTemplateID ( sort keys %StandardTemplateData ) { - my %Data = $Self->{StandardTemplateObject}->StandardTemplateGet( + my %Data = $StandardTemplateObject->StandardTemplateGet( ID => $StandardTemplateID, ); $StandardTemplateData{$StandardTemplateID} @@ -315,7 +323,8 @@ sub _Overview { } # get queue data - my %DefaultToData = $Self->{DefaultToObject}->List(); + my $DefaultToObject = $Kernel::OM->Get('Kernel::System::DefaultTo'); + my %DefaultToData = $DefaultToObject->List(); # if there are results to show if (%DefaultToData) { diff --git a/Kernel/System/DefaultTo.pm b/Kernel/System/DefaultTo.pm index 62c8acd..9e8acdb 100644 --- a/Kernel/System/DefaultTo.pm +++ b/Kernel/System/DefaultTo.pm @@ -15,7 +15,6 @@ use warnings; our @ObjectDependencies = qw( Kernel::System::DB Kernel::System::Log - Kernel::System::StandardTemplate ); sub new { @@ -23,10 +22,6 @@ sub new { # allocate new hash for object my $Self = {}; - $Self->{DBObject} = $Kernel::OM->Get('Kernel::System::DB'); - $Self->{LogObject} = $Kernel::OM->Get('Kernel::System::Log'); - $Self->{StandardTemplateObject} = - $Kernel::OM->Get('Kernel::System::StandardTemplate'); bless ($Self, $Type); return $Self; @@ -36,10 +31,10 @@ sub Add { my ( $Self, %Param ) = @_; # check needed stuff - for my $Needed (qw(Title RemoveDefault AddNew NewAddress Comment - UserID)) { - if ( !$Param{$Needed} ) { - $Self->{LogObject}->Log( + for my $Needed (qw(Title RemoveDefault AddNew NewAddress Comment UserID)) { + if ( ! defined $Param{$Needed} ) { + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => "Need $Needed!", ); @@ -47,8 +42,10 @@ sub Add { } } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # insert new DefaultTo - return if !$Self->{DBObject}->Do( + return if !$DBObject->Do( SQL => 'INSERT INTO default_to ' . '(title, remove_default, add_new, new_address, comments, ' . ' create_time, create_by, change_time, change_by) ' @@ -65,19 +62,20 @@ sub Add { ); # get new id - return if !$Self->{DBObject}->Prepare( + return if !$DBObject->Prepare( SQL => 'SELECT MAX(id) FROM default_to WHERE title = ?', Bind => [ \$Param{Title}, ], Limit => 1, ); my $ID; - while ( my @Row = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Row = $DBObject->FetchrowArray() ) { $ID = $Row[0]; } # log notice - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'notice', Message => "DefaultTo '$ID' created successfully!", ); @@ -91,8 +89,9 @@ sub Update { # check needed stuff for my $Needed (qw(ID Title RemoveDefault AddNew NewAddress Comment UserID)) { - if ( !$Param{$Needed} ) { - $Self->{LogObject}->Log( + if ( ! defined $Param{$Needed} ) { + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => "Need $Needed!", ); @@ -100,8 +99,10 @@ sub Update { } } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # insert new DefaultTo - return if !$Self->{DBObject}->Do( + return if !$DBObject->Do( SQL => 'UPDATE default_to SET title = ?, remove_default = ?, ' . 'add_new = ?, new_address = ?, comments = ?, change_by = ?, ' . 'change_time = current_timestamp ' @@ -125,15 +126,18 @@ sub Get { # check needed stuff if ( !$Param{ID} ) { - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => 'Need ID!', ); return; } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # get RrsponseChangeDefaultTO obejct - return if !$Self->{DBObject}->Prepare( + return if !$DBObject->Prepare( SQL => 'SELECT id, title, remove_default, add_new, new_address, ' . 'comments, create_time, create_by, change_time, change_by ' . 'FROM default_to WHERE id = ?', @@ -142,7 +146,7 @@ sub Get { ); my %DefaultTo; - while ( my @Data = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Data = $DBObject->FetchrowArray() ) { %DefaultTo = ( ID => $Data[0], Title => $Data[1], @@ -165,22 +169,25 @@ sub Delete { # check needed stuff if ( !$Param{ID} ) { - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => 'Need ID!', ); return; } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # delete mapping - return if !$Self->{DBObject}->Do( + return if !$DBObject->Do( SQL => 'DELETE FROM default_to_response ' . 'WHERE default_to_id = ?', Bind => [ \$Param{ID} ], ); # delete entry - return $Self->{DBObject}->Do( + return $DBObject->Do( SQL => 'DELETE FROM default_to WHERE id = ?', Bind => [ \$Param{ID} ], ); @@ -188,13 +195,14 @@ sub Delete { sub List { my ( $Self, %Param ) = @_; + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); - $Self->{DBObject}->Prepare( + $DBObject->Prepare( SQL => 'SELECT id, title FROM default_to', ); my %DefaultTo; - while ( my @Data = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Data = $DBObject->FetchrowArray() ) { $DefaultTo{ $Data[0] } = $Data[1]; } @@ -203,15 +211,16 @@ sub List { sub TitleExistsCheck { my ( $Self, %Param ) = @_; + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); - return if !$Self->{DBObject}->Prepare( + return if !$DBObject->Prepare( SQL => 'SELECT id FROM default_to WHERE title = ?', Bind => [ \$Param{Title} ], ); # fetch the result my $Flag; - while ( my @Row = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Row = $DBObject->FetchrowArray() ) { if ( !$Param{ID} || $Param{ID} ne $Row[0] ) { $Flag = 1; } @@ -228,7 +237,8 @@ sub MappingAdd { # check needed stuff for my $Needed (qw(TemplateID DefaultToID)) { if ( !$Param{$Needed} ) { - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => "Need $Needed!", ); @@ -236,8 +246,10 @@ sub MappingAdd { } } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # insert new mapping - return if !$Self->{DBObject}->Do( + return if !$DBObject->Do( SQL => 'INSERT INTO default_to_response ' . '(template_id, default_to_id) VALUES (?, ?)', Bind => [ @@ -247,7 +259,7 @@ sub MappingAdd { ); # get new id - return if !$Self->{DBObject}->Prepare( + return if !$DBObject->Prepare( SQL => 'SELECT MAX(id) FROM default_to_response ' . 'WHERE template_id = ? AND default_to_id = ?', Bind => [ @@ -257,12 +269,13 @@ sub MappingAdd { ); my $ID; - while ( my @Row = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Row = $DBObject->FetchrowArray() ) { $ID = $Row[0]; } # log notice - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'notice', Message => "DefaultTo mapping '$ID' " . "created successfully!", @@ -276,15 +289,18 @@ sub MappingDelete { # check needed stuff if ( !$Param{ID} ) { - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => 'Need ID!', ); return; } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # delete mapping - return $Self->{DBObject}->Do( + return $DBObject->Do( SQL => 'DELETE FROM default_to_response ' . 'WHERE id = ?', Bind => [ \$Param{ID} ], @@ -296,16 +312,19 @@ sub MappingList { # check needed stuff if ( !$Param{TemplateID} && !$Param{DefaultToID} ) { - $Self->{LogObject}->Log( + my $LogObject = $Kernel::OM->Get('Kernel::System::Log'); + $LogObject->Log( Priority => 'error', Message => 'Got no TemplateID or DefaultToID!' ); return; } + my $DBObject = $Kernel::OM->Get('Kernel::System::DB'); + # find mapped objects if ( $Param{TemplateID} ) { - $Self->{DBObject}->Prepare( + $DBObject->Prepare( SQL => 'SELECT id, default_to_id ' . 'FROM default_to_response ' . 'WHERE template_id = ?', @@ -313,7 +332,7 @@ sub MappingList { ); } else { - $Self->{DBObject}->Prepare( + $DBObject->Prepare( SQL => 'SELECT id, template_id ' . 'FROM default_to_response ' . 'WHERE default_to_id = ?', @@ -322,7 +341,7 @@ sub MappingList { } my %Mapping; - while ( my @Data = $Self->{DBObject}->FetchrowArray() ) { + while ( my @Data = $DBObject->FetchrowArray() ) { $Mapping{ $Data[0] } = $Data[1]; } -- cgit v1.2.3-1-g7c22