Kernel::WebApp::Util::BusinessObject

NAME

Kernel::WebApp::Util::BusinessObject

DESCRIPTION

Handles all the business object operations for the different business object types.

PUBLIC INTERFACE

has UserID

Attribute that holds the record user id.

has BusinessObjectTypes

Attribute that holds all the business object types which are available in the system.

BusinessObjectTypeObject()

The /BusinessObjectTypeObject() method loads the object for the given business object type.

CreateConfigGet()

Add some config values form the business object type perspective to the create config.

my %Config = $BusinessObject->CreateConfigGet( Type => 'Ticket', Config => { … }, );

Returns the business object create config.

ViewConfigGet()

Add some config values form the business object type perspective to the view config.

my %Config = $BusinessObject->ViewConfigGet( Type => 'Ticket', Config => { … }, );

Returns the business object view config.

ListConfigGet()

my %Config = $BusinessObject->ListConfigGet( Type => 'WebNotification', UserConfig => { … }, DefaultConfig => { … }, );

Returns the business object list config.

TransformActiveFilters()

This function transform the active filters for the search backends.

my $TransformedActiveFilters = $BusinessObject->TransformActiveFilters( Type => 'WebNotification', ActiveFilters => { Seen => { Value => [ 0, 1 ], }, CreateTime => { DateStart => '2019-02-02 00:00:00', DateEnd => '2019-02-02 00:00:00', }, }, );

Returns the transformed active filters.

    {
        Seen => [ 0, 1 ],
    }

FormSchemaPermanentConfigurationGet()

Get permanent configuration form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaPermanentConfigurationGet(
        Type   => 'WebNotification', # (required)
        Config => {                     # (required)
            HideAvailableFilters => [
                "ObjectReference",
            ],
        },
        ContextType => 'Organizer', # (optional)
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'VisibleColumns',
                    ...
                },
                ...
            ],
        },
    };

FormSchemaPermanentConfigurationDetailViewGet()

get permanent configuration form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaPermanentConfigurationDetailViewGet(
        Type   => 'WebNotification', # (required)
        Config => {                     # (required)
             "AvailableFilters" => [
                "Name",
                "ObjectType",
                "ObjectReference",
            ],
        },
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'VisibleColumns',
                    ...
                },
                ...
            ],
        },
    };

FormSchemaPermanentConfigurationOverviewGet()

Get permanent configuration form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaPermanentConfigurationOverviewGet(
        Type   => 'Dashboard', # (required)
        Config => {                     # (required)
             "AvailableFilters" => [
                "Name",
                "ObjectType",
                "ObjectReference",
            ],
        },
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'VisibleColumns',
                    ...
                },
                ...
            ],
        },
    };

FormSchemaPermanentConfigurationCreateScreenGet()

Get permanent configuration form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaPermanentConfigurationCreateScreenGet(
        Type   => 'Ticket',             # (required)
        Config => {                     # (required)
             "AvailableFilters" => [
                "Name",
                "ObjectType",
                "ObjectReference",
            ],
        },
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'VisibleColumns',
                    ...
                },
                ...
            ],
        },
    };

FormSchemaFilterConfigurationGet()

Get non-permanent configuration form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaFilterConfigurationGet(
        Type   => 'WebNotification', # (required)
        Config => {                     # (required)
            HideAvailableFilters => [
                "ObjectReference",
            ],
        },
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'SortBy',
                    ...
                },
                ...
            ],
        },
    };

FormSchemaExportListActionGet()

Get export list action form schema.

    my $FormSchema = $BusinessObjectTypeObject->FormSchemaExportListActionGet(
        Type   => 'KnowledgeBaseArticle', # (required)
        Config => { ... },  # (required)
    );

Returns:

    $FormSchema = {
        {
            Fields => [
                {
                    Name => 'ExportFormat',
                    ...
                },
                ...
            ],
        },
    };

PRIVATE INTERFACE

has _LookupBusinessObjectTypeObjects

Attribute that holds the business object type objects (Kernel::WebApp::Util::BusinessObject::/BusinessObjectType()).

_BuildBusinessObjectTypes()

Returns the available business object types in the system.

    {
        TypeName => {
            Module => '...',
        }
    }
Scroll to Top