Base#
NAME#
Kernel::System::Calendar::Plugin::Base - Base plugin
DESCRIPTION#
Ticket appointment plugin.
PUBLIC INTERFACE#
new()#
create an object. Do not use it directly, instead use:
use Kernel::System::ObjectManager;
local $Kernel::OM = Kernel::System::ObjectManager->new();
my $BasePluginObject = $Kernel::OM->Get('Kernel::System::Calendar::Plugin::Base');
RenderOutput()#
renders the output as html.
my $HTML = $BasePluginObject->RenderOutput(
Param => \%Param,
GetParam => \%GetParam,
Appointment => \%Appointment,
Plugin => \%Plugin,
PermissionLevel => $PermissionLevel{$Permissions},
UserID => $Self->{UserID},
);
Returns:
my $HTML = 'HTML';
Update()#
updated accordingly as needed.
variant 1: parent appointment with children (parent)
param:
Recurring = 1
ParentID = undef
tasks:
- update current appointment (parent)
- delete children (should have happened before)
- add new children
variant 2: single appointment (single)
param:
Recurring = 0
ParentID = undef
tasks:
- update current appointment (single)
variant 3: single child appointment is a child of a parent (single child)
param:
Recurring = 0
ParentID = 123
tasks:
- update current appointment (single child)
my $Success = $BasePluginObject->Update(
GetParam => \%GetParam,
Appointment => \%Appointment,
Plugin => \%Plugin,
UserID => $Self->{UserID},
);
Returns:
my $Success = 1;
Delete()#
delete all plugin information.
my $Success = $BasePluginObject->Delete(
GetParam => \%GetParam,
Appointment => \%Appointment,
Plugin => \%Plugin,
UserID => $Self->{UserID},
);
Returns:
my $Success = 1;
Get()#
Get all plugin information.
my $Data = $BasePluginObject->Get(
GetParam => \%GetParam,
Appointment => \%Appointment,
Plugin => \%Plugin,
UserID => $Self->{UserID},
);
Returns:
my $Data = {};
AJAXUpdate()#
Return an array with all plugin ajax update informations to build the layoutobject selection JSON.
my @PluginAJAX = $BasePluginObject->AJAXUpdate(
GetParam => \%GetParam,
Appointment => \%Appointment,
Plugin => \%Plugin,
UserID => $Self->{UserID},
);
Returns:
my @PluginAJAX = (
{
Data => \%Data,
Name => 'Plugin_HTML_Field',
ID => 'Plugin_HTML_Field',
SelectedID => 1,
PossibleNone => 1,
Translation => 1,
Class => 'Modernize',
},
);