Base#

NAME#

Kernel::System::Calendar::Event::Transport::Base - common notification event transport functions

PUBLIC INTERFACE#

SendNotification()#

send a notification using an specified transport

my $Success = $TransportObject->SendNotification(
    TicketID     => $Param{Data}->{TicketID},
    UserID       => $Param{UserID},
    Notification => \%Notification,
    Recipient    => {
        UserID        => 123,
        UserLogin     => 'some login',
        UserTitle     => 'some title',
        UserFirstname => 'some first name',
        UserLastname  => 'some last name',
        # ...
    },
    Event                 => $Param{Event},
    Attachments           => \@Attachments,         # optional
);

returns

$Success = 1;       # or false in case of an error

GetTransportRecipients()#

generates a list of recipients exclusive for a determined transport, the content of the list is usually an attribute of an Agent or Customer and it depends on each transport

my @TransportRecipients = $TransportObject->GetTransportRecipients(
    Notification => \%Notification,
);

returns:

@TransportRecipents = (
    {
        UserEmail     => 'some email',       # optional
        UserFirstname => 'some name',        # optional
        # ...                                # optional
    }
);
or

@TransportRecipients = undef; in case of an error

TransportSettingsDisplayGet()#

generates and returns the HTML code to display exclusive settings for each transport.

my $HTMLOutput = $TransportObject->TransportSettingsDisplayGet(
    Data => $NotificationDataAttribute,           # as retrieved from Kernel::System::NotificationEvent::NotificationGet()
);

returns

$HTMLOutput = 'some HTML code';

TransportParamSettingsGet()#

gets specific parameters from the web request and put them back in the GetParam attribute to be saved in the notification as the standard parameters

my $Success = $TransportObject->TransportParamSettingsGet(
    GetParam => $ParmHashRef,
);

returns

$Success = 1;       # or false in case of a failure

IsUsable();#

returns if the transport can be used in the system environment,

my $Success = $TransportObject->IsUsable();

returns

$Success = 1;       # or false

GetTransportEventData()#

returns the needed event information after a notification has been sent

my $EventData = $TransportObject-> GetTransportEventData();

returns:

$EventData = {
    Event => 'ArticleAgentNotification',    # or 'ArticleCustomerNotification'
    Data  => {
        TicketID  => 123,
        ArticleID => 123,                   # optional
    },
    UserID => 123,
);