init III
This commit is contained in:
684
Perl OTRS/Kernel/Modules/AdminRegistration.pm
Normal file
684
Perl OTRS/Kernel/Modules/AdminRegistration.pm
Normal file
@@ -0,0 +1,684 @@
|
||||
# --
|
||||
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
|
||||
# --
|
||||
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
|
||||
# the enclosed file COPYING for license information (GPL). If you
|
||||
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
|
||||
# --
|
||||
|
||||
package Kernel::Modules::AdminRegistration;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Kernel::Language qw(Translatable);
|
||||
|
||||
our $ObjectManagerDisabled = 1;
|
||||
|
||||
sub new {
|
||||
my ( $Type, %Param ) = @_;
|
||||
|
||||
# allocate new hash for object
|
||||
my $Self = {%Param};
|
||||
bless( $Self, $Type );
|
||||
|
||||
return $Self;
|
||||
}
|
||||
|
||||
sub Run {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
# get needed objects
|
||||
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
|
||||
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
|
||||
|
||||
# check if cloud services are disabled
|
||||
my $CloudServicesDisabled = $ConfigObject->Get('CloudServices::Disabled') || 0;
|
||||
|
||||
# define parameter for breadcrumb during system registration
|
||||
my $WithoutBreadcrumb;
|
||||
|
||||
if ($CloudServicesDisabled) {
|
||||
|
||||
my $Output = $LayoutObject->Header(
|
||||
Title => Translatable('Error'),
|
||||
);
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'CloudServicesDisabled',
|
||||
Data => \%Param
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
return $Output;
|
||||
}
|
||||
|
||||
my $RegistrationState = $Kernel::OM->Get('Kernel::System::SystemData')->SystemDataGet(
|
||||
Key => 'Registration::State',
|
||||
) || '';
|
||||
|
||||
# if system is not yet registered, sub-action should be 'register'
|
||||
if ( $RegistrationState ne 'registered' ) {
|
||||
|
||||
$Self->{Subaction} ||= 'OTRSIDValidate';
|
||||
|
||||
# sub-action can't be 'Deregister' or UpdateNow
|
||||
if ( $Self->{Subaction} eq 'Deregister' || $Self->{Subaction} eq 'UpdateNow' ) {
|
||||
$Self->{Subaction} = 'OTRSIDValidate';
|
||||
}
|
||||
|
||||
# during system registration, don't create breadcrumb item 'Validate OTRS-ID'
|
||||
$WithoutBreadcrumb = 1 if $Self->{Subaction} eq 'OTRSIDValidate';
|
||||
}
|
||||
|
||||
# get needed objects
|
||||
my $ParamObject = $Kernel::OM->Get('Kernel::System::Web::Request');
|
||||
my $RegistrationObject = $Kernel::OM->Get('Kernel::System::Registration');
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# Daemon not running screen
|
||||
# ------------------------------------------------------------ #
|
||||
if (
|
||||
$Self->{Subaction} ne 'OTRSIDValidate'
|
||||
&& $RegistrationState ne 'registered'
|
||||
&& !$Self->_DaemonRunning()
|
||||
)
|
||||
{
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'DaemonNotRunning',
|
||||
);
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# check OTRS ID
|
||||
# ------------------------------------------------------------ #
|
||||
|
||||
elsif ( $Self->{Subaction} eq 'CheckOTRSID' ) {
|
||||
|
||||
my $OTRSID = $ParamObject->GetParam( Param => 'OTRSID' ) || '';
|
||||
my $Password = $ParamObject->GetParam( Param => 'Password' ) || '';
|
||||
|
||||
my %Response = $RegistrationObject->TokenGet(
|
||||
OTRSID => $OTRSID,
|
||||
Password => $Password,
|
||||
);
|
||||
|
||||
# redirect to next page on success
|
||||
if ( $Response{Token} ) {
|
||||
my $NextAction = $RegistrationState ne 'registered' ? 'Register' : 'Deregister';
|
||||
return $LayoutObject->Redirect(
|
||||
OP => "Action=AdminRegistration;Subaction=$NextAction;Token="
|
||||
. $LayoutObject->LinkEncode( $Response{Token} )
|
||||
. ';OTRSID='
|
||||
. $LayoutObject->LinkEncode($OTRSID),
|
||||
);
|
||||
}
|
||||
|
||||
# redirect to current screen with error message
|
||||
my %Result = (
|
||||
Success => $Response{Success} ? 'OK' : 'False',
|
||||
Message => $Response{Reason} || '',
|
||||
Token => $Response{Token} || '',
|
||||
);
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $Response{Reason}
|
||||
? $LayoutObject->Notify(
|
||||
Priority => 'Error',
|
||||
Info => $Response{Reason},
|
||||
)
|
||||
: '';
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDValidation',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDValidationForm',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
my $Block = $RegistrationState ne 'registered'
|
||||
? 'OTRSIDRegistration'
|
||||
: 'OTRSIDDeregistration';
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => $Block,
|
||||
);
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# OTRS ID validation
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'OTRSIDValidate' ) {
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => {
|
||||
%Param,
|
||||
Subaction => $WithoutBreadcrumb ? '' : $Self->{Subaction},
|
||||
},
|
||||
);
|
||||
|
||||
my $EntitlementStatus = 'forbidden';
|
||||
my $OTRSBusinessObject = $Kernel::OM->Get('Kernel::System::OTRSBusiness');
|
||||
|
||||
if ( $RegistrationState eq 'registered' ) {
|
||||
|
||||
# Only call cloud service for a registered system
|
||||
$EntitlementStatus = $OTRSBusinessObject->OTRSBusinessEntitlementStatus(
|
||||
CallCloudService => 1,
|
||||
);
|
||||
}
|
||||
|
||||
# users should not be able to deregister their system if they either have
|
||||
# OTRS Business Solution installed or are entitled to use it (by having a valid contract).
|
||||
if (
|
||||
$RegistrationState eq 'registered'
|
||||
&& ( $OTRSBusinessObject->OTRSBusinessIsInstalled() || $EntitlementStatus ne 'forbidden' )
|
||||
)
|
||||
{
|
||||
|
||||
$LayoutObject->Block( Name => 'ActionList' );
|
||||
$LayoutObject->Block( Name => 'ActionOverview' );
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDDeregistrationNotPossible',
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDValidation',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
# check if the daemon is not running
|
||||
if ( $RegistrationState ne 'registered' && !$Self->_DaemonRunning() ) {
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDValidationDaemonNotRunning',
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OTRSIDValidationForm',
|
||||
Data => \%Param,
|
||||
);
|
||||
}
|
||||
|
||||
my $Block = $RegistrationState ne 'registered' ? 'OTRSIDRegistration' : 'OTRSIDDeregistration';
|
||||
$LayoutObject->Block(
|
||||
Name => $Block,
|
||||
);
|
||||
}
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => {
|
||||
%Param,
|
||||
OTRSSTORMIsInstalled => $OTRSBusinessObject->OTRSSTORMIsInstalled(),
|
||||
OTRSCONTROLIsInstalled => $OTRSBusinessObject->OTRSCONTROLIsInstalled(),
|
||||
},
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# registration
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'Register' ) {
|
||||
|
||||
my %GetParam;
|
||||
$GetParam{Token} = $ParamObject->GetParam( Param => 'Token' );
|
||||
$GetParam{OTRSID} = $ParamObject->GetParam( Param => 'OTRSID' );
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => {
|
||||
%Param,
|
||||
Subaction => $Self->{Subaction},
|
||||
},
|
||||
);
|
||||
|
||||
$Param{SystemTypeOption} = $LayoutObject->BuildSelection(
|
||||
Data => {
|
||||
Production => Translatable('Production'),
|
||||
Test => Translatable('Test'),
|
||||
Training => Translatable('Training'),
|
||||
Development => Translatable('Development'),
|
||||
},
|
||||
PossibleNone => 1,
|
||||
Name => 'Type',
|
||||
SelectedValue => $Param{SystemType},
|
||||
Class => 'Modernize Validate_Required ' . ( $Param{Errors}->{'TypeIDInvalid'} || '' ),
|
||||
);
|
||||
|
||||
my $EnvironmentObject = $Kernel::OM->Get('Kernel::System::Environment');
|
||||
my %OSInfo = $EnvironmentObject->OSInfoGet();
|
||||
my %DBInfo = $EnvironmentObject->DBInfoGet();
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Registration',
|
||||
Data => {
|
||||
FQDN => $ConfigObject->Get('FQDN'),
|
||||
OTRSVersion => $ConfigObject->Get('Version'),
|
||||
PerlVersion => sprintf( "%vd", $^V ),
|
||||
%Param,
|
||||
%GetParam,
|
||||
%OSInfo,
|
||||
%DBInfo,
|
||||
},
|
||||
);
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# deregistration
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'Deregister' ) {
|
||||
|
||||
my %GetParam;
|
||||
$GetParam{Token} = $ParamObject->GetParam( Param => 'Token' );
|
||||
$GetParam{OTRSID} = $ParamObject->GetParam( Param => 'OTRSID' );
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => {
|
||||
%Param,
|
||||
Subaction => $Self->{Subaction},
|
||||
}
|
||||
);
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Deregistration',
|
||||
Data => \%GetParam,
|
||||
);
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# add action
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'AddAction' ) {
|
||||
|
||||
# challenge token check for write action
|
||||
$LayoutObject->ChallengeTokenCheck();
|
||||
|
||||
my ( %GetParam, %Errors );
|
||||
for my $Parameter (qw(SupportDataSending Type Description OTRSID Token)) {
|
||||
$GetParam{$Parameter} = $ParamObject->GetParam( Param => $Parameter ) || '';
|
||||
}
|
||||
|
||||
# check needed data
|
||||
for my $Needed (qw(Type)) {
|
||||
if ( !$GetParam{$Needed} ) {
|
||||
$Errors{ $Needed . 'Invalid' } = 'ServerError';
|
||||
}
|
||||
}
|
||||
|
||||
# if no errors occurred
|
||||
if ( !%Errors ) {
|
||||
|
||||
$RegistrationObject->Register(
|
||||
Token => $GetParam{Token},
|
||||
OTRSID => $GetParam{OTRSID},
|
||||
SupportDataSending => $GetParam{SupportDataSending} || 'No',
|
||||
Type => $GetParam{Type},
|
||||
Description => $GetParam{Description},
|
||||
);
|
||||
|
||||
return $LayoutObject->Redirect(
|
||||
OP => 'Action=AdminRegistration',
|
||||
);
|
||||
}
|
||||
|
||||
# something has gone wrong
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$Output .= $LayoutObject->Notify( Priority => 'Error' );
|
||||
|
||||
$Self->_Edit(
|
||||
Action => 'Add',
|
||||
Errors => \%Errors,
|
||||
%GetParam,
|
||||
);
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# edit screen
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'Edit' ) {
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => {
|
||||
%Param,
|
||||
Subaction => $Self->{Subaction},
|
||||
}
|
||||
);
|
||||
|
||||
my %RegistrationData = $RegistrationObject->RegistrationDataGet();
|
||||
|
||||
$Param{Description} //= $RegistrationData{Description};
|
||||
|
||||
$Param{SystemTypeOption} = $LayoutObject->BuildSelection(
|
||||
Data => {
|
||||
Production => Translatable('Production'),
|
||||
Test => Translatable('Test'),
|
||||
Training => Translatable('Training'),
|
||||
Development => Translatable('Development'),
|
||||
},
|
||||
PossibleNone => 1,
|
||||
Name => 'Type',
|
||||
SelectedValue => $Param{Type} // $RegistrationData{Type},
|
||||
Class => 'Modernize Validate_Required ' . ( $Param{Errors}->{'TypeIDInvalid'} || '' ),
|
||||
);
|
||||
|
||||
# fall-back for support data sending switch
|
||||
if ( !defined $RegistrationData{SupportDataSending} ) {
|
||||
$RegistrationData{SupportDataSending} = 'No';
|
||||
}
|
||||
|
||||
# check SupportDataSending if it is enable
|
||||
$Param{SupportDataSendingChecked} = '';
|
||||
if ( $RegistrationData{SupportDataSending} eq 'Yes' ) {
|
||||
$Param{SupportDataSendingChecked} = 'checked="checked"';
|
||||
}
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Edit',
|
||||
Data => {
|
||||
FQDN => $ConfigObject->Get('FQDN'),
|
||||
OTRSVersion => $ConfigObject->Get('Version'),
|
||||
PerlVersion => sprintf( "%vd", $^V ),
|
||||
%Param,
|
||||
},
|
||||
);
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# edit action
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'EditAction' ) {
|
||||
|
||||
# challenge token check for write action
|
||||
$LayoutObject->ChallengeTokenCheck();
|
||||
|
||||
my $RegistrationType = $ParamObject->GetParam( Param => 'Type' );
|
||||
my $Description = $ParamObject->GetParam( Param => 'Description' );
|
||||
my $SupportDataSending = $ParamObject->GetParam( Param => 'SupportDataSending' ) || 'No';
|
||||
|
||||
my %Result = $RegistrationObject->RegistrationUpdateSend(
|
||||
Type => $RegistrationType,
|
||||
Description => $Description,
|
||||
SupportDataSending => $SupportDataSending,
|
||||
);
|
||||
|
||||
# log change
|
||||
if ( $Result{Success} ) {
|
||||
$Kernel::OM->Get('Kernel::System::Log')->Log(
|
||||
Priority => 'notice',
|
||||
Message =>
|
||||
"System Registration: User $Self->{UserID} changed Description: '$Description', Type: '$RegistrationType'.",
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
return $LayoutObject->Redirect(
|
||||
OP => 'Action=AdminRegistration',
|
||||
);
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# deregister action
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'DeregisterAction' ) {
|
||||
|
||||
# challenge token check for write action
|
||||
$LayoutObject->ChallengeTokenCheck();
|
||||
|
||||
$RegistrationObject->Deregister(
|
||||
OTRSID => $ParamObject->GetParam( Param => 'OTRSID' ),
|
||||
Token => $ParamObject->GetParam( Param => 'Token' ),
|
||||
);
|
||||
|
||||
return $LayoutObject->Redirect(
|
||||
OP => 'Action=Admin',
|
||||
);
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------ #
|
||||
# sent data overview
|
||||
# ------------------------------------------------------------ #
|
||||
elsif ( $Self->{Subaction} eq 'SentDataOverview' ) {
|
||||
return $Self->_SentDataOverview();
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# overview
|
||||
# ------------------------------------------------------------
|
||||
else {
|
||||
my %RegistrationData = $RegistrationObject->RegistrationDataGet();
|
||||
|
||||
$Self->_Overview(
|
||||
%RegistrationData,
|
||||
);
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
}
|
||||
|
||||
sub _Edit {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
$LayoutObject->Block( Name => 'ActionList' );
|
||||
$LayoutObject->Block( Name => 'ActionOverview' );
|
||||
|
||||
# shows header
|
||||
if ( $Param{Action} eq 'Change' ) {
|
||||
$LayoutObject->Block( Name => 'HeaderEdit' );
|
||||
}
|
||||
else {
|
||||
$LayoutObject->Block( Name => 'HeaderNew' );
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub _Overview {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
$LayoutObject->Block( Name => 'ActionList' );
|
||||
$LayoutObject->Block( Name => 'ActionUpdate' );
|
||||
$LayoutObject->Block( Name => 'ActionSentDataOverview' );
|
||||
$LayoutObject->Block( Name => 'ActionDeregister' );
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'OverviewRegistered',
|
||||
Data => \%Param,
|
||||
);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub _SentDataOverview {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
|
||||
|
||||
my $Output = $LayoutObject->Header();
|
||||
$Output .= $LayoutObject->NavigationBar();
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'Overview',
|
||||
Data => {
|
||||
%Param,
|
||||
Subaction => 'SentDataOverview',
|
||||
}
|
||||
);
|
||||
|
||||
$LayoutObject->Block( Name => 'ActionList' );
|
||||
$LayoutObject->Block( Name => 'ActionOverview' );
|
||||
|
||||
my %RegistrationData = $Kernel::OM->Get('Kernel::System::Registration')->RegistrationDataGet();
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'SentDataOverview',
|
||||
);
|
||||
|
||||
my $RegistrationState = $Kernel::OM->Get('Kernel::System::SystemData')->SystemDataGet(
|
||||
Key => 'Registration::State',
|
||||
) || '';
|
||||
|
||||
if ( $RegistrationState ne 'registered' ) {
|
||||
$LayoutObject->Block( Name => 'SentDataOverviewNoData' );
|
||||
}
|
||||
else {
|
||||
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
|
||||
my %OSInfo = $Kernel::OM->Get('Kernel::System::Environment')->OSInfoGet();
|
||||
my %System = (
|
||||
PerlVersion => sprintf( "%vd", $^V ),
|
||||
OSType => $OSInfo{OS},
|
||||
OSVersion => $OSInfo{OSName},
|
||||
OTRSVersion => $ConfigObject->Get('Version'),
|
||||
FQDN => $ConfigObject->Get('FQDN'),
|
||||
DatabaseVersion => $Kernel::OM->Get('Kernel::System::DB')->Version(),
|
||||
SupportDataSending => $Param{SupportDataSending} || $RegistrationData{SupportDataSending} || 'No',
|
||||
);
|
||||
my $RegistrationUpdateDataDump = $Kernel::OM->Get('Kernel::System::Main')->Dump( \%System );
|
||||
|
||||
my $SupportDataDump;
|
||||
if ( $System{SupportDataSending} eq 'Yes' ) {
|
||||
my %SupportData = $Kernel::OM->Get('Kernel::System::SupportDataCollector')->Collect();
|
||||
$SupportDataDump = $Kernel::OM->Get('Kernel::System::Main')->Dump( $SupportData{Result} );
|
||||
}
|
||||
|
||||
$LayoutObject->Block(
|
||||
Name => 'SentDataOverviewData',
|
||||
Data => {
|
||||
RegistrationUpdate => $RegistrationUpdateDataDump,
|
||||
SupportData => $SupportDataDump,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
$Output .= $LayoutObject->Output(
|
||||
TemplateFile => 'AdminRegistration',
|
||||
Data => \%Param,
|
||||
);
|
||||
$Output .= $LayoutObject->Footer();
|
||||
|
||||
return $Output;
|
||||
}
|
||||
|
||||
sub _DaemonRunning {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
# get config object
|
||||
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
|
||||
|
||||
# get the NodeID from the SysConfig settings, this is used on High Availability systems.
|
||||
my $NodeID = $ConfigObject->Get('NodeID') || 1;
|
||||
|
||||
# get running daemon cache
|
||||
my $Running = $Kernel::OM->Get('Kernel::System::Cache')->Get(
|
||||
Type => 'DaemonRunning',
|
||||
Key => $NodeID,
|
||||
);
|
||||
|
||||
return $Running;
|
||||
}
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user