From be09282711eb7f45d99da3b1b663ff6569064df7 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Mon, 16 Sep 2024 15:35:05 -0400 Subject: [PATCH 1/2] Added filter to getPeopleWithMultivaluedAttributes caching (#2850) --- .../portal/utils/cache/PersonDirectoryCacheKeyGenerator.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/uPortal-events/src/main/java/org/apereo/portal/utils/cache/PersonDirectoryCacheKeyGenerator.java b/uPortal-events/src/main/java/org/apereo/portal/utils/cache/PersonDirectoryCacheKeyGenerator.java index 9c80b44e9dc..6ac71bc8d51 100644 --- a/uPortal-events/src/main/java/org/apereo/portal/utils/cache/PersonDirectoryCacheKeyGenerator.java +++ b/uPortal-events/src/main/java/org/apereo/portal/utils/cache/PersonDirectoryCacheKeyGenerator.java @@ -78,6 +78,7 @@ public Serializable generateKey(MethodInvocation methodInvocation) { // Both methods that take a Map argument can just have the first argument returned case PEOPLE_MAP: case PEOPLE_MULTIVALUED_MAP: + case PEOPLE_MULTIVALUED_MAP_FILTER: case MULTIVALUED_USER_ATTRIBUTES__MAP: case USER_ATTRIBUTES__MAP: { @@ -250,6 +251,10 @@ public enum CachableMethod { PERSON_STR("getPerson", String.class), PEOPLE_MAP("getPeople", Map.class), PEOPLE_MULTIVALUED_MAP("getPeopleWithMultivaluedAttributes", Map.class), + PEOPLE_MULTIVALUED_MAP_FILTER( + "getPeopleWithMultivaluedAttributes", + Map.class, + org.apereo.services.persondir.IPersonAttributeDaoFilter.class), POSSIBLE_USER_ATTRIBUTE_NAMES("getPossibleUserAttributeNames"), AVAILABLE_QUERY_ATTRIBUTES("getAvailableQueryAttributes"); From d6bb8f537a51137eee8e915f53e2031ff5e318f7 Mon Sep 17 00:00:00 2001 From: Benito Gonzalez Date: Mon, 16 Sep 2024 17:04:26 -0700 Subject: [PATCH 2/2] chore: update less files for compatibility with less v4 (#2851) --- package-lock.json | 85 ++++++++++++++----- uPortal-webapp/package.json | 2 +- .../skins/respondr/common/less/content.less | 8 +- .../skins/respondr/common/less/grids.less | 2 +- 4 files changed, 69 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1b7ab5230b..22f4aab7658 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2018,6 +2018,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -2372,13 +2385,14 @@ "license": "MIT" }, "node_modules/less": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", - "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", "dev": true, "dependencies": { "copy-anything": "^2.0.1", - "tslib": "^1.10.0" + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" }, "bin": { "lessc": "bin/lessc" @@ -2392,7 +2406,7 @@ "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", - "native-request": "^1.0.5", + "needle": "^3.1.0", "source-map": "~0.6.0" } }, @@ -3511,19 +3525,29 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/native-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", - "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", - "dev": true, - "optional": true - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -3691,6 +3715,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8848,6 +8881,20 @@ } ] }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "optional": true + }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -9380,12 +9427,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/synckit/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, "node_modules/table": { "version": "6.8.2", "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", @@ -9467,9 +9508,9 @@ } }, "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true }, "node_modules/type-check": { @@ -10436,7 +10477,7 @@ "uPortal-webapp": { "name": "uportal-webapp", "devDependencies": { - "less": "^3.13.0" + "less": "^4.2.0" } } } diff --git a/uPortal-webapp/package.json b/uPortal-webapp/package.json index 3cd33ab9534..8c59fc288bd 100644 --- a/uPortal-webapp/package.json +++ b/uPortal-webapp/package.json @@ -5,6 +5,6 @@ "compile-less": "lessc build/generated-sources/skin/main/webapp/media/skins/respondr/defaultSkin.less build/generated-sources/skin/main/webapp/media/skins/respondr/defaultSkin.css" }, "devDependencies": { - "less": "^3.13.0" + "less": "^4.2.0" } } diff --git a/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/content.less b/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/content.less index b91895ab78c..f70677b3427 100644 --- a/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/content.less +++ b/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/content.less @@ -326,7 +326,7 @@ section.emergency-alert { /* large screens show all 6 columns. */ @media only screen and (min-width: @screen-sm-min) { .portal-page-column.col-md-2 { - width: percentage(1 / 6); + width: percentage( (1/6) ); float: left; } } @@ -334,7 +334,7 @@ section.emergency-alert { @media only screen and (max-width: @screen-xs-max) { /* collapse from 6 to 3 columns */ .portal-page-column.col-md-2 { - width: percentage(1 / 3); + width: percentage( (1/3) ); float: left; } } @@ -343,7 +343,7 @@ section.emergency-alert { @media only screen and (max-width: (@screen-xs-max + @screen-xs-min) / 2) { /* collapse from 6 to 2 columns */ .portal-page-column.col-md-2 { - width: percentage(1 / 2); + width: percentage( (1/2) ); float: left; } } @@ -351,6 +351,6 @@ section.emergency-alert { @media only screen and (max-width: @screen-xs-min / 2) { /* on really small screen collapse to a single column */ .portal-page-column.col-md-2 { - width: percentage(1 / 1); + width: percentage( (1/1) ); } } diff --git a/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/grids.less b/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/grids.less index 2c0e1d8b75a..79afb37420a 100644 --- a/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/grids.less +++ b/uPortal-webapp/src/main/webapp/media/skins/respondr/common/less/grids.less @@ -36,7 +36,7 @@ .fl-reorderer-dropMarker { // required for drag and drop styling to work @media (min-width: @@interpolate-media-query) { - width: percentage(1 / @number-of-columns); + width: percentage( (1/@number-of-columns) ); } } }