Skip to content

Made system configuration settings available for user modification#5224

Open
urbalazs wants to merge 1 commit intoRotherOSS:rel-11_1from
urbalazs:feature-sysconfig-user-modification
Open

Made system configuration settings available for user modification#5224
urbalazs wants to merge 1 commit intoRotherOSS:rel-11_1from
urbalazs:feature-sysconfig-user-modification

Conversation

@urbalazs
Copy link
Copy Markdown
Contributor

@urbalazs urbalazs commented Mar 3, 2026

This PR is based on #5218 so please merge that first.

We checked all system configuration settings and modified them to allow agents configure user settings in their personal preferences. This PR handles only the system configurations.

Some settings require modification in Kernel/Output/HTML/Layout.pm. We tried to use this code, but we cannot decide if this is the best solution. Please review:

--- Kernel/Output/HTML/Layout.pm	2026-03-02 17:41:58.002542885 +0100
+++ Kernel/Output/HTML/Layout.pm	2026-03-01 09:53:12.000000000 +0100
@@ -158,6 +158,16 @@
         $Self->{LanguageObject} = $Kernel::OM->Get('Kernel::Language');
     }
 
+    # get user advanced settings
+    for my $ConfigKey (qw(TimeInputFormat TimeShowAlwaysLong TimeShowCompleteDescription)) {
+        if ( defined $Self->{"User$ConfigKey"} ) {
+            $ConfigObject->Set(
+                Key   => $ConfigKey,
+                Value => $Self->{"User$ConfigKey"},
+            );
+        }
+    }
+
     # only utf-8 is supported and it is used directly by frontend modules
     $Self->{UserCharset} = 'utf-8';
     $Self->{Charset}     = $Self->{UserCharset};    # just for compatibility, used directly by frontend modules
@@ -1804,7 +1814,7 @@
     my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
 
     # send data to JS if NewTicketInNewWindow is enabled
-    if ( $ConfigObject->Get('NewTicketInNewWindow::Enabled') ) {
+    if ( $Self->{UserNewTicketInNewWindow} // $ConfigObject->Get('NewTicketInNewWindow::Enabled') ) {
         $Self->AddJSData(
             Key   => 'NewTicketInNewWindow',
             Value => 1,
@@ -3649,7 +3659,7 @@
 
     my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
 
-    my $DateInputStyle = $ConfigObject->Get('TimeInputFormat');
+    my $DateInputStyle = $Self->{UserTimeInputFormat} // $ConfigObject->Get('TimeInputFormat');
     my $MinuteStep     = $ConfigObject->Get('TimeInputMinutesStep');
     my $Prefix         = $Param{Prefix}   || '';
     my $Suffix         = $Param{Suffix}   || '';

I will send separate pull request with the same changes to:

  • AgentTicketFormDraftReview
  • FAQ
  • ITSMConfigurationManagement
  • ITSMIncidentProblemManagement
  • MasterSlave

These packages contain also user related settings. I will create the separate pull request when this feature is done in framework.

Thanks to László Gyaraki for checking and validating the settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant