
######
Ticket
######


****
NAME
****


Kernel::System::LinkObject::Ticket


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


Ticket backend for the ticket link object.


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


new()
=====


Don't use the constructor directly, use the ObjectManager instead:


.. code-block:: perl

     my $LinkObjectTicketObject = $Kernel::OM->Get('Kernel::System::LinkObject::Ticket');



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


fill up the link list with data


.. code-block:: perl

     $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

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



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


return a hash of object descriptions

Returns:


.. code-block:: perl

     %Description = (
         Normal => "Ticket# 1234455",
         Long   => "Ticket# 1234455: The Ticket Title",
     );
 
     %Description = $LinkObject->ObjectDescriptionGet(
         Key     => 123,
         Mode    => 'Temporary',  # (optional)
         UserID  => 1,
     );



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 => 'Ticket',
         SourceKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );
 
     or
 
     $True = $LinkObject->LinkAddPre(
         Key          => 123,
         TargetObject => 'Ticket',
         TargetKey    => 321,
         Type         => 'Normal',
         State        => 'Valid',
         UserID       => 1,
     );



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


link add pre event module


.. code-block:: perl

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



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


link delete pre event module


.. code-block:: perl

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



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


link delete post event module


.. code-block:: perl

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





