NAME
Kernel::WebApp::Util::ScreenConfig
DESCRIPTION
Handles all the screen config operations for the different screens.
PUBLIC INTERFACE
has UserID
Attribute that holds the record user id.
has User
Attribute that holds all user information.
has ScreenType
Attribute that holds to the screen type to handle.
has ScreenDefaultConfig
Attribute that holds to the screen default config.
has BusinessObject
This attribute contains the business object.
has GroupAccess
This attribute contains the groups of the authenticated user.
has GroupROAccess
This attribute contains the groups (read-only) of the authenticated user.
has WidgetObject
This attribute contains the widget object.
Get()
Returns the screen config.
UserConfigUpdate()
Updates the user screen config.
my $Success = $ScreenConfigObject->UserConfigUpdate(
Config => {
...
},
);
Returns
C<undef> - in case any error occurs.
1 - in case of success.
UserConfigDelete()
Deletes the user screen config.
my $Success = $ScreenConfigObject->UserConfigDelete();
Returns
C<undef> - in case any error occurs.
1 - in case of success.
UserConfigGet()
Get the user config for the current screen.
PRIVATE INTERFACE
_ScreenColumnLayoutMerger
This attribute contains the merger object for the screen column layout config.
_BuildScreenConfig()
Build the screen config from the current user config or the default config.
my $ScreenConfig = $ScreenConfigObject->_BuildScreenConfig();
Returns the screen config.
_BuildUser()
Initializes the attribute User
.
_BuildScreenDefaultConfig()
Initializes the attribute ScreenDefaultConfig
.
_BuildBusinessObject()
Initializes the attribute BusinessObject
.
_BuildWidgetObject()
Initializes the attribute WidgetObject
.
_BuildGroupAccess()
Retrieves all user specific read write groups.
_BuildGroupROAccess()
Retrieves all user specific read only groups.
_GetGroupAccess()
Retrieves all user specific groups (for a given type).
_PrepareColumnLayoutViewConfig()
Processes the default configuration and a saved user configuration. Saved known widgets and known widgets, coming from the default configuration, as well as the column layouts will be validated and stripped if needed.
my %ScreenConfig = $ScreenConfigObject->_PrepareColumnLayoutViewConfig(
DefaultConfig => $DefaultConfig,
UserConfig => $UserConfig,
);
_BuildScreenColumnLayoutMerger
Builds the merger object to use in the column layout merging.