
###########
Appointment
###########


****
NAME
****


Kernel::System::LinkObject::Appointment


***********
DESCRIPTION
***********


Appointment backend for the appointment link object.


****************
PUBLIC INTERFACE
****************


new()
=====


create an object. Do not use it directly, instead use:


.. code-block:: perl

     use Kernel::System::ObjectManager;
     local $Kernel::OM = Kernel::System::ObjectManager->new();
     my $LinkObjectAppointmentObject = $Kernel::OM->Get('Kernel::System::LinkObject::Appointment');



LinkListWithData()
==================


fill up the link list with data


.. code-block:: perl

     my $Success = $LinkObject->LinkListWithData(
         LinkList                     => $HashRef,
         IgnoreLinkedTicketStateTypes => 0|1,        # (optional) default 0
         UserID                       => 1,
     );



ObjectPermission()
==================


checks read permission for a given object and UserID.


.. code-block:: perl

     my $Permission = $LinkObject->ObjectPermission(
         Object  => 'Appointment',
         Key     => 123,
         UserID  => 1,
     );



ObjectDescriptionGet()
======================


return a hash of object descriptions


.. code-block:: perl

     my %Description = $LinkObject->ObjectDescriptionGet(
         Key     => 123,
         Mode    => 'Temporary',  # (optional)
         UserID  => 1,
     );


Returns:


.. code-block:: perl

     %Description = (
         Normal => 123,
         Long   => "The Appointment Title",
     );



ObjectSearch()
==============


Return a hash list of the search results.


.. code-block:: perl

     my $SearchList = $LinkObject->ObjectSearch(
         SubObject    => 'Bla',     # (optional)
         SearchParams => $HashRef,  # (optional)
         UserID       => 1,
     );


Returns:


.. code-block:: perl

     $SearchList = {
         NOTLINKED => {
             Source => {
                 12  => $DataOfItem12,
                 212 => $DataOfItem212,
                 332 => $DataOfItem332,
             },
         },
     };



LinkAddPre()
============


link add pre event module


.. code-block:: perl

     $True = $LinkObject->LinkAddPre(
         Key          => 123,
         SourceObject => 'Appointment',
         SourceKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );
 
     or
 
     $True = $LinkObject->LinkAddPre(
         Key          => 123,
         TargetObject => 'Appointment',
         TargetKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );



LinkAddPost()
=============


link add pre event module


.. code-block:: perl

     $True = $LinkObject->LinkAddPost(
         Key          => 123,
         SourceObject => 'Appointment',
         SourceKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );
 
     or
 
     $True = $LinkObject->LinkAddPost(
         Key          => 123,
         TargetObject => 'Appointment',
         TargetKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );



LinkDeletePre()
===============


link delete pre event module


.. code-block:: perl

     $True = $LinkObject->LinkDeletePre(
         Key          => 123,
         SourceObject => 'Appointment',
         SourceKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );
 
     or
 
     $True = $LinkObject->LinkDeletePre(
         Key          => 123,
         TargetObject => 'Appointment',
         TargetKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );



LinkDeletePost()
================


link delete post event module


.. code-block:: perl

     $True = $LinkObject->LinkDeletePost(
         Key          => 123,
         SourceObject => 'Appointment',
         SourceKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );
 
     or
 
     $True = $LinkObject->LinkDeletePost(
         Key          => 123,
         TargetObject => 'Appointment',
         TargetKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );





