Kernel::WebApp::Util::BusinessObject::WebNotification

NAME

Kernel::WebApp::Util::BusinessObject::WebNotification

DESCRIPTION

Handles the business object web notification stuff.

PUBLIC INTERFACE

Type()

Holds the type name of the current business object.

IdentifierKey()

Holds the identifier key for the web notification list entries.

Label()

Holds the label of the business object.

DefaultSorting()

Holds the default sorting for the web notification lists.

ColumnTitles()

Holds the column title for the web notification list columns.

SortableColumns()

Holds the sort-able columns for the table.

ClickableColumns()

Holds the columns which should the truncated in the frontend.

TextTruncatableColumns()

Holds the columns which should the truncated in the frontend.

TranslatableColumns()

Holds the columns which should the translated in the frontend.

ItemDetailDataGet()

Collects the detail data for the item with the given ItemID.

ItemUpdateCheck()

Checks for updated and/or new web notifications, based on given notification id's, change times and additional parameters.

    my $UpdateCheckResult = $BusinessObjectTypeObject->ItemUpdateCheck(
        Parameters => {         # required, contains the list of notification id's and change times to be checked.
            ItemIDs => [
                {
                    NotificationID => 123,
                    ChangeTime     => "2019-05-09 09:13:23",
                },
                ...
            ],
        },
        SortBy => [         # optional, sorting parameters for the notification search. Default of NotificationSearch().
            {
                Column    => 'CreateTime',
                Direction => 'Up',
            }
        ],
        ItemLimit       => 25,
        FetchDetailData => 1,   # optional, returns detailed data of updated and/or removed notifications.
        UserID          => 123, # required, the user id to be used for the notification search.
    );

Returns:

    {
        List => {
            Added   => [2],
            Removed => [3],
            RemovedDetail => {
                3 => {
                    Data => {
                        Body            => "Hi Agent,<br />ticket [Ticket#2019032254000022] has been updated[...]",
                        ChangeTime      => "2019-05-13 14:08:01",
                        Comment         => "",
                        CreateTime      => "2019-05-09 09:13:21",
                        Name            => "Ticket queue update notification",
                        NotificationID  => 3,
                        ObjectID        => 3,
                        ObjectReference => "2019032254000022",
                        ObjectType      => "Ticket",
                        ObjectTypeLabel => "Ticket#2019032254000022",
                        Seen            => 1,
                        Subject         => "Ticket Queue Update to Postmaster: Why am I here?",
                        UserID          => "2",
                        UserType        => "Agent"
                    },
                    Permission => 'rw',
                }
            },
            Updated       => [],
            UpdatedDetail => {}
        },
        ListUpdate    => 1,
        SortingUpdate => 1,
        TotalItems    => 9,
    }

PRIVATE INTERFACE

_ProvideFilters()

Holds the available filter information (e.g. which form field type).

Scroll to Top