Layout::Base: git_commit_reload_resources config parameter
authorSven Schöling <s.schoeling@googlemail.com>
Wed, 20 Jan 2021 10:21:22 +0000 (11:21 +0100)
committerSven Schöling <s.schoeling@googlemail.com>
Fri, 25 Jun 2021 13:51:32 +0000 (15:51 +0200)
Ermöglicht das Ausschalten von git commit Resourcesversionierung das
bisher immer an war.

SL/Layout/Base.pm
config/kivitendo.conf.default

index 813db73..aa78812 100644 (file)
@@ -44,21 +44,27 @@ sub get {
 }
 
 sub init_auto_reload_resources_param {
-  return sprintf('?rand=%d-%d-%d', Time::HiRes::gettimeofday(), int(rand 1000000000000)) if $::lx_office_conf{debug}->{auto_reload_resources};
+  if ($::lx_office_conf{debug}->{auto_reload_resources}) {
+    return sprintf('?rand=%d-%d-%d', Time::HiRes::gettimeofday(), int(rand 1000000000000));
+  }
+
+  if ($::lx_office_conf{debug}{git_commit_reload_resources}) {
+    my $git_dir = SL::System::Process::exe_dir() . '/.git';
 
-  my $git_dir = SL::System::Process::exe_dir() . '/.git';
+    return '' unless -d $git_dir;
 
-  return '' unless -d $git_dir;
+    my $content = eval { scalar(read_file($git_dir . '/HEAD')) };
 
-  my $content = eval { scalar(read_file($git_dir . '/HEAD')) };
+    return '' unless ($content // '') =~ m{\Aref: ([^\r\n]+)};
 
-  return '' unless ($content // '') =~ m{\Aref: ([^\r\n]+)};
+    $content = eval { scalar(read_file($git_dir . '/' . $1)) };
 
-  $content = eval { scalar(read_file($git_dir . '/' . $1)) };
+    return '' unless ($content // '') =~ m{\A([0-9a-fA-F]+)};
 
-  return '' unless ($content // '') =~ m{\A([0-9a-fA-F]+)};
+    return '?rand=' . $1;
+  }
 
-  return '?rand=' . $1;
+  return '';
 }
 
 ##########################################
index de9366e..07ae59d 100644 (file)
@@ -374,6 +374,11 @@ keep_installation_unlocked = 0
 # the web browser to always reload the resources.
 auto_reload_resources = 0
 
+# Alternative to auto_reload_resources. If the installation dir is under git
+# version control, this will use the HEAD commit sha1 as the random GET
+# parameter, so that resources are reloaded if the installed version charnges.
+git_commit_reload_recources = 0
+
 # If set to 1 each exception will include a full stack backtrace.
 backtrace_on_die = 0