[pkg-nagios-changes] [Git][nagios-team/pkg-icingaweb2][upstream] New upstream version 2.10.2

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Wed Jun 15 16:10:31 BST 2022



Bas Couwenberg pushed to branch upstream at Debian Nagios Maintainer Group / pkg-icingaweb2


Commits:
800d348b by Bas Couwenberg at 2022-06-15T17:02:31+02:00
New upstream version 2.10.2
- - - - -


12 changed files:

- VERSION
- application/VERSION
- application/forms/PreferenceForm.php
- library/Icinga/Application/Version.php
- library/Icinga/Web/StyleSheet.php
- modules/doc/module.info
- modules/migrate/module.info
- modules/monitoring/module.info
- modules/setup/module.info
- modules/test/module.info
- modules/translation/module.info
- public/js/icinga/loader.js


Changes:

=====================================
VERSION
=====================================
@@ -1 +1 @@
-v2.10.1
+v2.10.2


=====================================
application/VERSION
=====================================
@@ -1 +1 @@
-974729a6421c17fdb8bb1931623107cf6a90fc7e 2022-04-06 09:30:05 +0200
+22eab0352777e6564c7b40baa473c6d432faa88b 2022-06-15 15:24:25 +0200


=====================================
application/forms/PreferenceForm.php
=====================================
@@ -211,7 +211,7 @@ class PreferenceForm extends Form
             }
         }
 
-        if (isset($formData['theme']) && $formData['theme'] !== StyleSheet::DEFAULT_THEME) {
+        if (isset($formData['theme'])) {
             $themeFile = StyleSheet::getThemeFile($formData['theme']);
         }
 


=====================================
library/Icinga/Application/Version.php
=====================================
@@ -8,7 +8,7 @@ namespace Icinga\Application;
  */
 class Version
 {
-    const VERSION = '2.10.1';
+    const VERSION = '2.10.2';
 
     /**
      * Get the version of this instance of Icinga Web 2


=====================================
library/Icinga/Web/StyleSheet.php
=====================================
@@ -89,6 +89,9 @@ class StyleSheet
      */
     protected $app;
 
+    /** @var string[] Pre-compiled CSS files */
+    protected $cssFiles = [];
+
     /**
      * Less compiler
      *
@@ -125,7 +128,11 @@ class StyleSheet
     {
         foreach ($this->app->getLibraries() as $library) {
             foreach ($library->getCssAssets() as $lessFile) {
-                $this->lessCompiler->addLessFile($lessFile);
+                if (substr($lessFile, -4) === '.css') {
+                    $this->cssFiles[] = $lessFile;
+                } else {
+                    $this->lessCompiler->addLessFile($lessFile);
+                }
             }
         }
 
@@ -188,6 +195,16 @@ class StyleSheet
         $this->lessCompiler->setThemeMode($this->pubPath . '/css/modes/'. $mode . '.less');
     }
 
+    /**
+     * Get all collected files
+     *
+     * @return string[]
+     */
+    protected function getFiles(): array
+    {
+        return array_merge($this->cssFiles, $this->lessCompiler->getLessFiles());
+    }
+
     /**
      * Get the stylesheet for PDF export
      *
@@ -215,7 +232,13 @@ class StyleSheet
         if ($minified) {
             $this->lessCompiler->compress();
         }
-        return $this->lessCompiler->render();
+
+        $css = '';
+        foreach ($this->cssFiles as $cssFile) {
+            $css .= file_get_contents($cssFile);
+        }
+
+        return $css . $this->lessCompiler->render();
     }
 
     /**
@@ -237,14 +260,15 @@ class StyleSheet
 
         $noCache = $request->getHeader('Cache-Control') === 'no-cache' || $request->getHeader('Pragma') === 'no-cache';
 
-        if (! $noCache && FileCache::etagMatchesFiles($styleSheet->lessCompiler->getLessFiles())) {
+        $collectedFiles = $styleSheet->getFiles();
+        if (! $noCache && FileCache::etagMatchesFiles($collectedFiles)) {
             $response
                 ->setHttpResponseCode(304)
                 ->sendHeaders();
             return;
         }
 
-        $etag = FileCache::etagForFiles($styleSheet->lessCompiler->getLessFiles());
+        $etag = FileCache::etagForFiles($collectedFiles);
 
         $response->setHeader('ETag', $etag, true)
             ->setHeader('Content-Type', 'text/css', true);


=====================================
modules/doc/module.info
=====================================
@@ -1,4 +1,4 @@
 Module: doc
-Version: 2.10.1
+Version: 2.10.2
 Description: Documentation module
  Extracts, shows and exports documentation for Icinga Web 2 and its modules.


=====================================
modules/migrate/module.info
=====================================
@@ -1,5 +1,5 @@
 Module: migrate
-Version: 2.10.1
+Version: 2.10.2
 Description: Migrate module
  This module was introduced with the domain-aware authentication feature in version 2.5.0.
  It helps you migrating users and user configurations according to a given domain.


=====================================
modules/monitoring/module.info
=====================================
@@ -1,5 +1,5 @@
 Module: monitoring
-Version: 2.10.1
+Version: 2.10.2
 Description: Icinga monitoring module
  IDO accessor and UI for your monitoring. This is the initial instalment for a
  graphical presentation of Icinga environments. The predecessor of Icinga DB.


=====================================
modules/setup/module.info
=====================================
@@ -1,5 +1,5 @@
 Module: setup
-Version: 2.10.1
+Version: 2.10.2
 Description: Setup module
  Web based wizard for setting up Icinga Web 2 and its modules.
  This includes the data backends (e.g. relational database, LDAP),


=====================================
modules/test/module.info
=====================================
@@ -1,5 +1,5 @@
 Module: test
-Version: 2.10.1
+Version: 2.10.2
 Description: Translation module
  This module allows developers to run (unit) tests against Icinga Web 2 and
  any of its modules. Usually you do not need to enable this.


=====================================
modules/translation/module.info
=====================================
@@ -1,5 +1,5 @@
 Module: translation
-Version: 2.10.1
+Version: 2.10.2
 Description: Translation module
  This module allows developers and translators to translate modules for multiple
  languages. You do not need this module to run an internationalized web frontend.


=====================================
public/js/icinga/loader.js
=====================================
@@ -806,9 +806,9 @@
             }
 
             var autoSubmit = false;
+            var currentUrl = this.icinga.utils.parseUrl(req.$target.data('icingaUrl'));
             if (referrer.method === 'POST') {
                 var newUrl = this.icinga.utils.parseUrl(req.url);
-                var currentUrl = this.icinga.utils.parseUrl(req.$target.data('icingaUrl'));
                 if (newUrl.path === currentUrl.path && this.icinga.utils.arraysEqual(newUrl.params, currentUrl.params)) {
                     autoSubmit = true;
                 }
@@ -828,9 +828,7 @@
             if (!! contentSeparator) {
                 var locationQuery = req.getResponseHeader('X-Icinga-Location-Query');
                 if (locationQuery !== null) {
-                    var a = this.icinga.utils.getUrlHelper().cloneNode(true);
-                    a.search = locationQuery ? '?' + locationQuery : '';
-
+                    let url = currentUrl.path + (locationQuery ? '?' + locationQuery : '');
                     if (req.autosubmit || autoSubmit) {
                         // Also update a form's action if it doesn't differ from the container's url
                         var $form = $(referrer.forceFocus).closest('form');
@@ -840,12 +838,12 @@
                             if (formAction.path === currentUrl.path
                                 && this.icinga.utils.arraysEqual(formAction.params, currentUrl.params)
                             ) {
-                                $form.attr('action', a.href);
+                                $form.attr('action', url);
                             }
                         }
                     }
 
-                    req.$target.data('icingaUrl', a.href);
+                    req.$target.data('icingaUrl', url);
                     this.icinga.history.replaceCurrentState();
                 }
 



View it on GitLab: https://salsa.debian.org/nagios-team/pkg-icingaweb2/-/commit/800d348beac662000147f6314c48205d1c58325f

-- 
View it on GitLab: https://salsa.debian.org/nagios-team/pkg-icingaweb2/-/commit/800d348beac662000147f6314c48205d1c58325f
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-nagios-changes/attachments/20220615/70de2d74/attachment-0001.htm>


More information about the pkg-nagios-changes mailing list