LastViews#
NAME#
Kernel::System::LastViews - LastViews lib
PUBLIC INTERFACE#
new()#
Don't use the constructor directly, use the ObjectManager instead:
my $LastViewsObject = $Kernel::OM->Get('Kernel::System::LastViews');
Get()#
Returns data of LastView (Request).
my %LastView = $LastViewsObject->Get(
%{ $Param{Request} },
);
Returns:
my %LastView = (
Type => 'TicketOverview',
Name => 'Queue',
Frontend => 'Agent',
Icon => 'fa fa-table',
PopUp => 0, # 0 or 1
Params => {
Title => 'Raw',
},
FrontendIcon => 'fa fa-user',
URL => 'Action=AgentTicketQueue;QueueID=2;View=;Filter=Unlocked',
Action => 'AgentTicketQueue',
TimeStamp => '2020-04-16 23:59:59',
);
_LastViewParameters()#
Returns additional LastView parameters for specific Modules.
my $LastViewParams = $Self->_LastViewParameters(
Param => \%Param,
LastView => \%LastView,
);
Returns:
$LastViewParams = {
'LastView' => {
'Name' => 'Znuny says hi!'
},
'Params' => {
'Nummer' => '2021012710123456',
'Besitzer' => 'root@localhost'
}
};
GetList()#
Returns a list of all last views from session
my @LastViews = $LastViewsObject->GetList(
SessionID => 123,
Types => ['Ticket', 'Admin'], # optional
);
Returns:
my @LastViews = 1;
GetActionMapping()#
returns action mappings.
my %ActionMapping = $LastViewsObject->GetActionMapping();
Returns:
my %ActionMapping = (
AgentTicketPhone => {
Type => 'TicketCreate',
Frontend => 'Agent',
Icon => 'Phone',
Name => 'Phone',
},
);
GetPopUpActions()#
returns all popup actions.
my %PopUpActions = $LastViewsObject->GetPopUpActions();
Returns:
my %PopUpActions = (
'AgentTicketMerge' => 'TicketAction',
'AgentTicketCustomer' => 'TicketAction',
'AgentTicketPriority' => 'TicketAction',
'AgentTicketNote' => 'TicketAction',
'AgentLinkObject' => 'TicketAction',
);
GetActionIgnore()#
returns all actions to skip.
my @ActionIgnore = $LastViewsObject->GetActionIgnore();
Returns:
my @ActionIgnore = (
'AgentTicketArticleContent'
);
GetSubactionIgnore()#
returns all sub-actions to skip.
my @SubactionIgnore = $LastViewsObject->GetSubactionIgnore();
Returns:
my @SubactionIgnore = (
'AgentTicketArticleContent'
);
Update()#
Updates the last view list - added latest view to list.
my $Success = $LastViewsObject->Update(
SessionID => $Self->{SessionID},
Request => \%Request,
);
Returns:
my $Success = 1;
Delete()#
Deletes the last view list.
my $Success = $LastViewsObject->Delete(
SessionID => $Param{SessionID},
Count => 20, # option - deletes all views but the latest n
);
Returns:
my $Success = 1;
IsValidRequest()#
Checks if request is valid. Request is valid if
- RequestedURL has an Action
- LastScreenView is not equal to RequestedURL
- Action is not one of 'ActionIgnore'
- Subaction is not one of 'SubactionIgnore'
my $IsValidRequest = $LastViewsObject->IsValidRequest(
%Request
);
Returns:
my $IsValidRequest = 1;