From 4328c06060c885f3e17d5e9ed0f9e14d10cdf2c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 23:20:53 +0000 Subject: [PATCH 01/13] Bump less-loader from 4.1.0 to 12.2.0 Bumps [less-loader](https://github.com/webpack-contrib/less-loader) from 4.1.0 to 12.2.0. - [Release notes](https://github.com/webpack-contrib/less-loader/releases) - [Changelog](https://github.com/webpack-contrib/less-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/less-loader/compare/v4.1.0...v12.2.0) --- updated-dependencies: - dependency-name: less-loader dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .../ClientSide/AdminLogs.Web/package.json | 2 +- .../ClientSide/Bundle.Web/package.json | 2 +- .../ClientSide/Dnn.React.Common/package.json | 2 +- .../ClientSide/Extensions.Web/package.json | 2 +- .../ClientSide/Licensing.Web/package.json | 2 +- .../ClientSide/Pages.Web/package.json | 2 +- .../ClientSide/Prompt.Web/package.json | 2 +- .../ClientSide/Roles.Web/package.json | 2 +- .../ClientSide/Security.Web/package.json | 2 +- .../ClientSide/Seo.Web/package.json | 2 +- .../ClientSide/Servers.Web/package.json | 2 +- .../ClientSide/SiteGroups.Web/package.json | 2 +- .../SiteImportExport.Web/package.json | 2 +- .../ClientSide/SiteSettings.Web/package.json | 2 +- .../ClientSide/Sites.Web/package.json | 2 +- .../Sites.Web/src/_exportables/package.json | 2 +- .../ClientSide/TaskScheduler.Web/package.json | 2 +- .../ClientSide/Themes.Web/package.json | 2 +- .../ClientSide/Users.Web/package.json | 2 +- .../Users.Web/src/_exportables/package.json | 2 +- .../ClientSide/Vocabularies.Web/package.json | 2 +- yarn.lock | 85 +++++++------------ 22 files changed, 54 insertions(+), 73 deletions(-) diff --git a/Dnn.AdminExperience/ClientSide/AdminLogs.Web/package.json b/Dnn.AdminExperience/ClientSide/AdminLogs.Web/package.json index 072ab444017..43768e32d68 100644 --- a/Dnn.AdminExperience/ClientSide/AdminLogs.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/AdminLogs.Web/package.json @@ -31,7 +31,7 @@ "i18n-webpack-plugin": "1.0.0", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Bundle.Web/package.json b/Dnn.AdminExperience/ClientSide/Bundle.Web/package.json index 308cda14890..1ea736627c3 100644 --- a/Dnn.AdminExperience/ClientSide/Bundle.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Bundle.Web/package.json @@ -34,7 +34,7 @@ "json-loader": "^0.5.7", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "moment": "^2.29.4", "prop-types": "^15.8.1", "raw-loader": "2.0.0", diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/package.json b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/package.json index 5cde338ba75..4c88ce8dbc7 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/package.json +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/package.json @@ -73,7 +73,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json b/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json index 53240352cdc..b791d6cb7f6 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json @@ -26,7 +26,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json b/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json index 56856559a16..63d39f9ce94 100644 --- a/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json @@ -29,7 +29,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react-hot-loader": "4.13.1", diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/package.json b/Dnn.AdminExperience/ClientSide/Pages.Web/package.json index d376cb503fc..cc1b49ed542 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/package.json @@ -47,7 +47,7 @@ "file-loader": "3.0.1", "jest": "^28.1.3", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "lodash": "4.17.21", "raw-loader": "2.0.0", "react-custom-scrollbars": "4.2.1", diff --git a/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json b/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json index bc9a5d303dd..d84da60f96b 100644 --- a/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json @@ -44,7 +44,7 @@ "jest": "^28.1.3", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "localization": "^1.0.2", "object-assign": "*", "optimize-css-assets-webpack-plugin": "^5.0.8", diff --git a/Dnn.AdminExperience/ClientSide/Roles.Web/package.json b/Dnn.AdminExperience/ClientSide/Roles.Web/package.json index 83bb7f0912c..c6ff180dae4 100644 --- a/Dnn.AdminExperience/ClientSide/Roles.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Roles.Web/package.json @@ -31,7 +31,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/package.json b/Dnn.AdminExperience/ClientSide/Security.Web/package.json index e57af888100..9255aa24116 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Security.Web/package.json @@ -27,7 +27,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Seo.Web/package.json b/Dnn.AdminExperience/ClientSide/Seo.Web/package.json index 6aeb7df2fc1..4bfdabf7945 100644 --- a/Dnn.AdminExperience/ClientSide/Seo.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Seo.Web/package.json @@ -32,7 +32,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Servers.Web/package.json b/Dnn.AdminExperience/ClientSide/Servers.Web/package.json index b9e9947bf6d..27a1fd0cbe6 100644 --- a/Dnn.AdminExperience/ClientSide/Servers.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Servers.Web/package.json @@ -30,7 +30,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "null-loader": "^4.0.1", "prop-types": "^15.8.1", "raw-loader": "2.0.0", diff --git a/Dnn.AdminExperience/ClientSide/SiteGroups.Web/package.json b/Dnn.AdminExperience/ClientSide/SiteGroups.Web/package.json index a3c973d8af6..96c68656f1d 100644 --- a/Dnn.AdminExperience/ClientSide/SiteGroups.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/SiteGroups.Web/package.json @@ -27,7 +27,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/SiteImportExport.Web/package.json b/Dnn.AdminExperience/ClientSide/SiteImportExport.Web/package.json index ea4f401d75e..03b5980212d 100644 --- a/Dnn.AdminExperience/ClientSide/SiteImportExport.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/SiteImportExport.Web/package.json @@ -32,7 +32,7 @@ "i18n-webpack-plugin": "1.0.0", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "localization": "^1.0.2", "prop-types": "^15.8.1", "raw-loader": "^2.0.0", diff --git a/Dnn.AdminExperience/ClientSide/SiteSettings.Web/package.json b/Dnn.AdminExperience/ClientSide/SiteSettings.Web/package.json index 373a9437324..a2bac279dd3 100644 --- a/Dnn.AdminExperience/ClientSide/SiteSettings.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/SiteSettings.Web/package.json @@ -33,7 +33,7 @@ "jest": "^28.1.3", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Sites.Web/package.json b/Dnn.AdminExperience/ClientSide/Sites.Web/package.json index 9a0923fb573..02bc014a76a 100644 --- a/Dnn.AdminExperience/ClientSide/Sites.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Sites.Web/package.json @@ -27,7 +27,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Sites.Web/src/_exportables/package.json b/Dnn.AdminExperience/ClientSide/Sites.Web/src/_exportables/package.json index 0a49d0c2b9f..88ddff563a0 100644 --- a/Dnn.AdminExperience/ClientSide/Sites.Web/src/_exportables/package.json +++ b/Dnn.AdminExperience/ClientSide/Sites.Web/src/_exportables/package.json @@ -29,7 +29,7 @@ "eslint-plugin-react": "7.33.0", "eslint-plugin-spellcheck": "0.0.11", "less": "4.1.3", - "less-loader": "4.1.0", + "less-loader": "12.2.0", "null-loader": "^4.0.1", "prop-types": "^15.8.1", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/TaskScheduler.Web/package.json b/Dnn.AdminExperience/ClientSide/TaskScheduler.Web/package.json index aa8e6315dea..a386beb1556 100644 --- a/Dnn.AdminExperience/ClientSide/TaskScheduler.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/TaskScheduler.Web/package.json @@ -32,7 +32,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Themes.Web/package.json b/Dnn.AdminExperience/ClientSide/Themes.Web/package.json index 82ad1299144..a038c6a2068 100644 --- a/Dnn.AdminExperience/ClientSide/Themes.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Themes.Web/package.json @@ -28,7 +28,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "prop-types": "^15.8.1", "raw-loader": "2.0.0", "react": "^16.14.0", diff --git a/Dnn.AdminExperience/ClientSide/Users.Web/package.json b/Dnn.AdminExperience/ClientSide/Users.Web/package.json index c5ff8366ca7..7fe28204ff7 100644 --- a/Dnn.AdminExperience/ClientSide/Users.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Users.Web/package.json @@ -27,7 +27,7 @@ "file-loader": "3.0.1", "jest": "^28.1.3", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "null-loader": "^4.0.1", "prop-types": "^15.8.1", "raw-loader": "2.0.0", diff --git a/Dnn.AdminExperience/ClientSide/Users.Web/src/_exportables/package.json b/Dnn.AdminExperience/ClientSide/Users.Web/src/_exportables/package.json index ac8761db30e..5f621282c25 100644 --- a/Dnn.AdminExperience/ClientSide/Users.Web/src/_exportables/package.json +++ b/Dnn.AdminExperience/ClientSide/Users.Web/src/_exportables/package.json @@ -29,7 +29,7 @@ "eslint-plugin-react": "7.33.0", "eslint-plugin-spellcheck": "0.0.11", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "localization": "^1.0.2", "null-loader": "^4.0.1", "prop-types": "15.8.1", diff --git a/Dnn.AdminExperience/ClientSide/Vocabularies.Web/package.json b/Dnn.AdminExperience/ClientSide/Vocabularies.Web/package.json index 4228bdadbc1..25f7a8180b3 100644 --- a/Dnn.AdminExperience/ClientSide/Vocabularies.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Vocabularies.Web/package.json @@ -32,7 +32,7 @@ "file-loader": "3.0.1", "jwt-decode": "2.2.0", "less": "4.1.3", - "less-loader": "5.0.0", + "less-loader": "12.2.0", "object-path": "0.11.8", "prop-types": "^15.8.1", "raw-loader": "2.0.0", diff --git a/yarn.lock b/yarn.lock index 333688c1d49..ff67f78d983 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1688,7 +1688,7 @@ __metadata: file-loader: "npm:3.0.1" interact.js: "npm:^1.2.8" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -4948,7 +4948,7 @@ __metadata: i18n-webpack-plugin: "npm:1.0.0" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -8052,13 +8052,6 @@ __metadata: languageName: node linkType: hard -"clone@npm:^2.1.1": - version: 2.1.2 - resolution: "clone@npm:2.1.2" - checksum: d9c79efba655f0bf601ab299c57eb54cbaa9860fb011aee9d89ed5ac0d12df1660ab7642fddaabb9a26b7eff0e117d4520512cb70798319ff5d30a111b5310c2 - languageName: node - linkType: hard - "clsx@npm:^1.1.0, clsx@npm:^1.1.1": version: 1.2.1 resolution: "clsx@npm:1.2.1" @@ -9609,7 +9602,7 @@ __metadata: eslint-plugin-spellcheck: "npm:0.0.11" file-loader: "npm:3.0.1" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -9648,7 +9641,7 @@ __metadata: eslint-plugin-react: "npm:7.33.0" eslint-plugin-spellcheck: "npm:0.0.11" less: "npm:4.1.3" - less-loader: "npm:4.1.0" + less-loader: "npm:12.2.0" null-loader: "npm:^4.0.1" prop-types: "npm:^15.8.1" react: "npm:^16.14.0" @@ -9683,7 +9676,7 @@ __metadata: eslint-plugin-react: "npm:7.33.0" eslint-plugin-spellcheck: "npm:0.0.11" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" localization: "npm:^1.0.2" null-loader: "npm:^4.0.1" prop-types: "npm:15.8.1" @@ -10992,7 +10985,7 @@ __metadata: json-loader: "npm:^0.5.7" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" moment: "npm:^2.29.4" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" @@ -11127,7 +11120,7 @@ __metadata: eslint-plugin-spellcheck: "npm:0.0.11" file-loader: "npm:3.0.1" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -15200,31 +15193,19 @@ __metadata: languageName: node linkType: hard -"less-loader@npm:4.1.0": - version: 4.1.0 - resolution: "less-loader@npm:4.1.0" - dependencies: - clone: "npm:^2.1.1" - loader-utils: "npm:^1.1.0" - pify: "npm:^3.0.0" - peerDependencies: - less: ^2.3.1 || ^3.0.0 - webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 - checksum: a5b4664b1006b796c6668ef88e62edc53dec24a1e0072acc69d2430a54b562d4150d98a18066b077092414505d6f056eb4bdecacd22f5b1c4a5d087a79dfbebc - languageName: node - linkType: hard - -"less-loader@npm:5.0.0": - version: 5.0.0 - resolution: "less-loader@npm:5.0.0" - dependencies: - clone: "npm:^2.1.1" - loader-utils: "npm:^1.1.0" - pify: "npm:^4.0.1" +"less-loader@npm:12.2.0": + version: 12.2.0 + resolution: "less-loader@npm:12.2.0" peerDependencies: - less: ^2.3.1 || ^3.0.0 - webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 - checksum: 0dabdfb2e4d961b3fcbfe3e124dee6c63e10f8b0d9903b07bbc3c2d0eb61bcb2ae2cc7b9c94269d0a05b570d536ec571db2be66f625cd547db4b5a7c2bf770b5 + "@rspack/core": 0.x || 1.x + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: b9527053460aa82668f33bfbcfc23dbcb9023a9cd55f2f04fa9620e020acc3f032eb2dcb3625a1c3dd8852782c41490e6fde342e3185a477fa41d2f5eb35ca6f languageName: node linkType: hard @@ -15332,7 +15313,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react-hot-loader: "npm:4.13.1" @@ -17875,7 +17856,7 @@ __metadata: file-loader: "npm:3.0.1" jest: "npm:^28.1.3" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" lodash: "npm:4.17.21" promise: "npm:^8.3.0" prop-types: "npm:^15.8.1" @@ -19054,7 +19035,7 @@ __metadata: jest: "npm:^28.1.3" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" localization: "npm:^1.0.2" object-assign: "npm:*" optimize-css-assets-webpack-plugin: "npm:^5.0.8" @@ -20979,7 +20960,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -21243,7 +21224,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -21393,7 +21374,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -21498,7 +21479,7 @@ __metadata: eslint-plugin-spellcheck: "npm:0.0.11" file-loader: "npm:3.0.1" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" null-loader: "npm:^4.0.1" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" @@ -21811,7 +21792,7 @@ __metadata: i18n-webpack-plugin: "npm:1.0.0" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" localization: "npm:^1.0.2" prop-types: "npm:^15.8.1" raw-loader: "npm:^2.0.0" @@ -21865,7 +21846,7 @@ __metadata: jest: "npm:^28.1.3" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -21908,7 +21889,7 @@ __metadata: eslint-plugin-spellcheck: "npm:0.0.11" file-loader: "npm:3.0.1" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -22946,7 +22927,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -22988,7 +22969,7 @@ __metadata: file-loader: "npm:3.0.1" jwt-decode: "npm:2.2.0" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" object-path: "npm:0.11.8" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" @@ -23226,7 +23207,7 @@ __metadata: eslint-plugin-spellcheck: "npm:0.0.11" file-loader: "npm:3.0.1" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" prop-types: "npm:^15.8.1" raw-loader: "npm:2.0.0" react: "npm:^16.14.0" @@ -24179,7 +24160,7 @@ __metadata: file-loader: "npm:3.0.1" jest: "npm:^28.1.3" less: "npm:4.1.3" - less-loader: "npm:5.0.0" + less-loader: "npm:12.2.0" localization: "npm:^1.0.2" null-loader: "npm:^4.0.1" prop-types: "npm:^15.8.1" From b71174be624f2b6a9b7743e3f8eec0e205e08b84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 22:16:43 +0000 Subject: [PATCH 02/13] Bump Moq from 4.18.4 to 4.20.70 Bumps [Moq](https://github.com/moq/moq) from 4.18.4 to 4.20.70. - [Release notes](https://github.com/moq/moq/releases) - [Changelog](https://github.com/devlooped/moq/blob/main/CHANGELOG.md) - [Commits](https://github.com/moq/moq/compare/v4.18.4...v4.20.70) --- updated-dependencies: - dependency-name: Moq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Platform/Tests/DNN.Integration.Test.Framework/DNN.Integration.Test.Framework.csproj Platform/Tests/DotNetNuke.Tests.AspNetCCP/DotNetNuke.Tests.AspNetCCP.csproj Platform/Tests/DotNetNuke.Tests.Authentication/DotNetNuke.Tests.Authentication.csproj Platform/Tests/DotNetNuke.Tests.Integration/DotNetNuke.Tests.Integration.csproj Platform/Tests/DotNetNuke.Tests.Utilities/DotNetNuke.Tests.Utilities.csproj Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/Dnn.PersonaBar.ConfigConsole.Tests.csproj Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/Dnn.PersonaBar.Pages.Tests.csproj Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/Dnn.PersonaBar.Security.Tests.csproj Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/Dnn.PersonaBar.Users.Tests.csproj --- .../DNN.Integration.Test.Framework.csproj | 4 ++-- .../Tests/DNN.Integration.Test.Framework/packages.config | 2 +- .../DotNetNuke.Tests.AspNetCCP.csproj | 4 ++-- .../Tests/DotNetNuke.Tests.AspNetCCP/packages.config | 2 +- .../DotNetNuke.Tests.Authentication.csproj | 4 ++-- .../Tests/DotNetNuke.Tests.Authentication/packages.config | 2 +- .../DotNetNuke.Tests.Content/DotNetNuke.Tests.Content.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Content/packages.config | 2 +- .../Tests/DotNetNuke.Tests.Core/DotNetNuke.Tests.Core.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Core/packages.config | 2 +- .../Tests/DotNetNuke.Tests.Data/DotNetNuke.Tests.Data.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Data/packages.config | 2 +- .../DotNetNuke.Tests.Integration.csproj | 4 ++-- .../Tests/DotNetNuke.Tests.Integration/packages.config | 2 +- .../Tests/DotNetNuke.Tests.Mail/DotNetNuke.Tests.Mail.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Mail/packages.config | 2 +- .../DotNetNuke.Tests.Modules/DotNetNuke.Tests.Modules.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Modules/packages.config | 2 +- .../Tests/DotNetNuke.Tests.UI/DotNetNuke.Tests.UI.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.UI/packages.config | 2 +- .../Tests/DotNetNuke.Tests.Urls/DotNetNuke.Tests.Urls.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Urls/packages.config | 2 +- .../DotNetNuke.Tests.Utilities.csproj | 4 ++-- .../Tests/DotNetNuke.Tests.Utilities/packages.config | 2 +- .../DotNetNuke.Tests.Web.Mvc/DotNetNuke.Tests.Web.Mvc.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/packages.config | 2 +- .../Tests/DotNetNuke.Tests.Web/DotNetNuke.Tests.Web.csproj | 4 ++-- DNN Platform/Tests/DotNetNuke.Tests.Web/packages.config | 2 +- .../Dnn.PersonaBar.ConfigConsole.Tests.csproj | 5 +++-- .../Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config | 2 +- .../Dnn.PersonaBar.Pages.Tests.csproj | 5 +++-- .../Tests/Dnn.PersonaBar.Pages.Tests/packages.config | 2 +- .../Dnn.PersonaBar.Security.Tests.csproj | 5 +++-- .../Tests/Dnn.PersonaBar.Security.Tests/packages.config | 2 +- .../Dnn.PersonaBar.Users.Tests.csproj | 5 +++-- .../Tests/Dnn.PersonaBar.Users.Tests/packages.config | 2 +- 36 files changed, 58 insertions(+), 54 deletions(-) diff --git a/DNN Platform/Tests/DNN.Integration.Test.Framework/DNN.Integration.Test.Framework.csproj b/DNN Platform/Tests/DNN.Integration.Test.Framework/DNN.Integration.Test.Framework.csproj index 7fe724c1e75..7e531cacb6a 100644 --- a/DNN Platform/Tests/DNN.Integration.Test.Framework/DNN.Integration.Test.Framework.csproj +++ b/DNN Platform/Tests/DNN.Integration.Test.Framework/DNN.Integration.Test.Framework.csproj @@ -50,8 +50,8 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/DNN Platform/Tests/DNN.Integration.Test.Framework/packages.config b/DNN Platform/Tests/DNN.Integration.Test.Framework/packages.config index 58d62943ea9..cd0a5c42111 100644 --- a/DNN Platform/Tests/DNN.Integration.Test.Framework/packages.config +++ b/DNN Platform/Tests/DNN.Integration.Test.Framework/packages.config @@ -6,7 +6,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/DotNetNuke.Tests.AspNetCCP.csproj b/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/DotNetNuke.Tests.AspNetCCP.csproj index a3b07e96264..0e900b28927 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/DotNetNuke.Tests.AspNetCCP.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/DotNetNuke.Tests.AspNetCCP.csproj @@ -50,8 +50,8 @@ ..\..\..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll True - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/packages.config index 50be2a31776..097dba9884d 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.AspNetCCP/packages.config @@ -1,7 +1,7 @@  - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Authentication/DotNetNuke.Tests.Authentication.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Authentication/DotNetNuke.Tests.Authentication.csproj index 8529f044fa7..0ba6b0c9eab 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Authentication/DotNetNuke.Tests.Authentication.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Authentication/DotNetNuke.Tests.Authentication.csproj @@ -70,8 +70,8 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Authentication/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Authentication/packages.config index 50be2a31776..097dba9884d 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Authentication/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Authentication/packages.config @@ -1,7 +1,7 @@  - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Content/DotNetNuke.Tests.Content.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Content/DotNetNuke.Tests.Content.csproj index 92a088262ec..f5d21c80c41 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Content/DotNetNuke.Tests.Content.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Content/DotNetNuke.Tests.Content.csproj @@ -75,8 +75,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Content/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Content/packages.config index 7f67eb789df..7dcc4841562 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Content/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Content/packages.config @@ -3,7 +3,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Core/DotNetNuke.Tests.Core.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Core/DotNetNuke.Tests.Core.csproj index eef43699581..c7cb3b9a914 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Core/DotNetNuke.Tests.Core.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Core/DotNetNuke.Tests.Core.csproj @@ -97,8 +97,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Core/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Core/packages.config index 65402d60430..f610885a9cc 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Core/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Core/packages.config @@ -3,7 +3,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Data/DotNetNuke.Tests.Data.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Data/DotNetNuke.Tests.Data.csproj index 6c1918079ca..bc87faf6551 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Data/DotNetNuke.Tests.Data.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Data/DotNetNuke.Tests.Data.csproj @@ -83,8 +83,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll True - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Data/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Data/packages.config index 0014c76bae6..f8e8a201c99 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Data/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Data/packages.config @@ -4,7 +4,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Integration/DotNetNuke.Tests.Integration.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Integration/DotNetNuke.Tests.Integration.csproj index d60c83074bb..0d5bc5e584a 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Integration/DotNetNuke.Tests.Integration.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Integration/DotNetNuke.Tests.Integration.csproj @@ -76,8 +76,8 @@ ..\..\..\packages\Fare.2.2.1\lib\net35\Fare.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Integration/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Integration/packages.config index 9cf84b56b18..85608369fdb 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Integration/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Integration/packages.config @@ -7,7 +7,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Mail/DotNetNuke.Tests.Mail.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Mail/DotNetNuke.Tests.Mail.csproj index bc449466ff5..e6bc08af6df 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Mail/DotNetNuke.Tests.Mail.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Mail/DotNetNuke.Tests.Mail.csproj @@ -52,8 +52,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Mail/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Mail/packages.config index a6d4160b423..ea83afff9d0 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Mail/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Mail/packages.config @@ -3,7 +3,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Modules/DotNetNuke.Tests.Modules.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Modules/DotNetNuke.Tests.Modules.csproj index 7088b1b2010..e949034e2ea 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Modules/DotNetNuke.Tests.Modules.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Modules/DotNetNuke.Tests.Modules.csproj @@ -70,8 +70,8 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Modules/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Modules/packages.config index 50be2a31776..097dba9884d 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Modules/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Modules/packages.config @@ -1,7 +1,7 @@  - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.UI/DotNetNuke.Tests.UI.csproj b/DNN Platform/Tests/DotNetNuke.Tests.UI/DotNetNuke.Tests.UI.csproj index 5aa649162a1..d18581dde30 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.UI/DotNetNuke.Tests.UI.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.UI/DotNetNuke.Tests.UI.csproj @@ -69,8 +69,8 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.UI/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.UI/packages.config index 50be2a31776..097dba9884d 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.UI/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.UI/packages.config @@ -1,7 +1,7 @@  - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Urls/DotNetNuke.Tests.Urls.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Urls/DotNetNuke.Tests.Urls.csproj index 0e7ef072fdb..0166c3cd2f0 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Urls/DotNetNuke.Tests.Urls.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Urls/DotNetNuke.Tests.Urls.csproj @@ -65,8 +65,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll True - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Urls/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Urls/packages.config index 04117f3a209..ce1a3a1920c 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Urls/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Urls/packages.config @@ -5,7 +5,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Utilities/DotNetNuke.Tests.Utilities.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Utilities/DotNetNuke.Tests.Utilities.csproj index d37e66e423f..b3c4002dc8b 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Utilities/DotNetNuke.Tests.Utilities.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Utilities/DotNetNuke.Tests.Utilities.csproj @@ -84,8 +84,8 @@ False ..\..\..\..\..\Windows\System32\inetsrv\Microsoft.Web.Administration.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Utilities/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Utilities/packages.config index 9d6d346a2fe..f977d816747 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Utilities/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Utilities/packages.config @@ -8,7 +8,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/DotNetNuke.Tests.Web.Mvc.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/DotNetNuke.Tests.Web.Mvc.csproj index 453bbb8c1ed..017d833bc19 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/DotNetNuke.Tests.Web.Mvc.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/DotNetNuke.Tests.Web.Mvc.csproj @@ -56,8 +56,8 @@ True ..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/packages.config index 10ac4c45a84..73411fb3013 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Web.Mvc/packages.config @@ -7,7 +7,7 @@ - + diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Web/DotNetNuke.Tests.Web.csproj b/DNN Platform/Tests/DotNetNuke.Tests.Web/DotNetNuke.Tests.Web.csproj index e90b3ccc383..62370f3ee22 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Web/DotNetNuke.Tests.Web.csproj +++ b/DNN Platform/Tests/DotNetNuke.Tests.Web/DotNetNuke.Tests.Web.csproj @@ -56,8 +56,8 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/DNN Platform/Tests/DotNetNuke.Tests.Web/packages.config b/DNN Platform/Tests/DotNetNuke.Tests.Web/packages.config index 2e464281e7e..dcf14c2dd02 100644 --- a/DNN Platform/Tests/DotNetNuke.Tests.Web/packages.config +++ b/DNN Platform/Tests/DotNetNuke.Tests.Web/packages.config @@ -7,7 +7,7 @@ - + diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/Dnn.PersonaBar.ConfigConsole.Tests.csproj b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/Dnn.PersonaBar.ConfigConsole.Tests.csproj index c1ce8e42a08..bcd5cd41737 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/Dnn.PersonaBar.ConfigConsole.Tests.csproj +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/Dnn.PersonaBar.ConfigConsole.Tests.csproj @@ -53,8 +53,9 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll + True ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config index 2803397a5de..64025b29336 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.ConfigConsole.Tests/packages.config @@ -4,7 +4,7 @@ - + diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/Dnn.PersonaBar.Pages.Tests.csproj b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/Dnn.PersonaBar.Pages.Tests.csproj index dc345190c18..a88596359e8 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/Dnn.PersonaBar.Pages.Tests.csproj +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/Dnn.PersonaBar.Pages.Tests.csproj @@ -44,8 +44,9 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll + True ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/packages.config b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/packages.config index 50be2a31776..097dba9884d 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/packages.config +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Pages.Tests/packages.config @@ -1,7 +1,7 @@  - + diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/Dnn.PersonaBar.Security.Tests.csproj b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/Dnn.PersonaBar.Security.Tests.csproj index 3bcbb013aaa..4bafd482692 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/Dnn.PersonaBar.Security.Tests.csproj +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/Dnn.PersonaBar.Security.Tests.csproj @@ -44,8 +44,9 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll + True ..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/packages.config b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/packages.config index bf6b7f680c0..06f4cb0160d 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/packages.config +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Security.Tests/packages.config @@ -3,7 +3,7 @@ - + diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/Dnn.PersonaBar.Users.Tests.csproj b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/Dnn.PersonaBar.Users.Tests.csproj index 9a8fb4c7a3a..971353ec9d3 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/Dnn.PersonaBar.Users.Tests.csproj +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/Dnn.PersonaBar.Users.Tests.csproj @@ -45,8 +45,9 @@ ..\..\..\packages\Castle.Core.5.1.1\lib\net462\Castle.Core.dll - - ..\..\..\packages\Moq.4.18.4\lib\net462\Moq.dll + + ..\..\..\packages\Moq.4.20.70\lib\net462\Moq.dll + True ..\..\..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll diff --git a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/packages.config b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/packages.config index 50be2a31776..097dba9884d 100644 --- a/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/packages.config +++ b/Dnn.AdminExperience/Tests/Dnn.PersonaBar.Users.Tests/packages.config @@ -1,7 +1,7 @@  - + From 8fbf4d127d98e1b91a79577a5021fb1c9ba254cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 22:39:01 +0000 Subject: [PATCH 03/13] Bump LiteDB from 5.0.13 to 5.0.19 Bumps [LiteDB](https://github.com/mbdavid/LiteDB) from 5.0.13 to 5.0.19. - [Release notes](https://github.com/mbdavid/LiteDB/releases) - [Commits](https://github.com/mbdavid/LiteDB/compare/v5.0.13...v5.0.19) --- updated-dependencies: - dependency-name: LiteDB dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../DnnExportImportLibrary/DnnExportImportLibrary.csproj | 5 +++-- DNN Platform/Modules/DnnExportImportLibrary/packages.config | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj b/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj index 196b094939c..1af2992222f 100644 --- a/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj +++ b/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj @@ -48,8 +48,9 @@ CS0618,SA1600 - - ..\..\..\packages\LiteDB.5.0.13\lib\net45\LiteDB.dll + + ..\..\..\packages\LiteDB.5.0.19\lib\net45\LiteDB.dll + True diff --git a/DNN Platform/Modules/DnnExportImportLibrary/packages.config b/DNN Platform/Modules/DnnExportImportLibrary/packages.config index 18c69b7bd71..16de3c79427 100644 --- a/DNN Platform/Modules/DnnExportImportLibrary/packages.config +++ b/DNN Platform/Modules/DnnExportImportLibrary/packages.config @@ -1,6 +1,6 @@  - + From 176fe14d7f4a5d65ddab074af4bb2a1964f6ca69 Mon Sep 17 00:00:00 2001 From: "DESKTOP-3KI2IPD\\aide4" Date: Tue, 21 May 2024 21:28:33 -0400 Subject: [PATCH 04/13] Fix resource manager permissions save issues - set default PortalID in vw_FolderPermissions to -1 - include other selected permissions when 'Write to Folder' permisison is set - update javascript to fix allowAccess==0 permissions issues --- .../dnn-rm-edit-folder/dnn-rm-edit-folder.tsx | 155 ++++++++---------- .../Website/DotNetNuke.Website.csproj | 1 + .../SqlDataProvider/09.13.03.SqlDataProvider | 35 ++++ 3 files changed, 104 insertions(+), 87 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-folder/dnn-rm-edit-folder.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-folder/dnn-rm-edit-folder.tsx index 043187f1c7f..c7b88989f8f 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-folder/dnn-rm-edit-folder.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-folder/dnn-rm-edit-folder.tsx @@ -3,7 +3,7 @@ import { IRole } from '@dnncommunity/dnn-elements/dist/types/components/dnn-perm import { Component, Element, Event, EventEmitter, Host, h, State, Prop } from '@stencil/core'; import state from '../../store/store'; import { FolderDetails, ItemsClient, SaveFolderDetailsRequest } from '../../services/ItemsClient'; -import { IPermissions, IRolePermission, IUserPermission } from '@dnncommunity/dnn-elements/dist/types/components/dnn-permissions-grid/permissions-interface'; +import { IPermissionDefinition, IPermissions, IRolePermission, IUserPermission } from '@dnncommunity/dnn-elements/dist/types/components/dnn-permissions-grid/permissions-interface'; import { ISearchedUser } from '@dnncommunity/dnn-elements/dist/types/components/dnn-permissions-grid/searched-user-interface'; @Component({ tag: 'dnn-rm-edit-folder', @@ -28,6 +28,7 @@ export class DnnRmEditFolder { @State() folderIconUrl: string; @State() folderDetails: FolderDetails; @State() foundUsers: ISearchedUser[]; + @State() lastPermissions: IPermissions; private itemsClient: ItemsClient; @@ -90,6 +91,7 @@ export class DnnRmEditFolder { ], }, }; + this.lastPermissions = {...this.folderDetails.permissions}; }) .catch(error => alert(error)); @@ -130,128 +132,107 @@ export class DnnRmEditFolder { } private handlePermissionsChanged(newPermissions: IPermissions): void { - newPermissions.rolePermissions.forEach(rolePermission => this.adjustRelatedPermissions(rolePermission)); - newPermissions.userPermissions.forEach(userPermission => this.adjustRelatedPermissions(userPermission)); + // Get previous role permissions and adjust related permissions + newPermissions.rolePermissions.forEach(rolePermission => { + const previousPermissions = this.lastPermissions?.rolePermissions?.find(p => p.roleId === rolePermission.roleId).permissions ?? []; + this.adjustRelatedPermissions(rolePermission, previousPermissions); + }); + + // Get previous user permissions and adjust related permissions + newPermissions.userPermissions.forEach(userPermission => { + const previousPermissions = this.lastPermissions?.userPermissions?.find(p => p.userId === userPermission.userId).permissions ?? []; + this.adjustRelatedPermissions(userPermission, previousPermissions); + }); + + // Update the folder details with the new permissions this.folderDetails = { ...this.folderDetails, permissions: newPermissions, }; + + // Update the last known permissions state + this.lastPermissions = newPermissions; } - private adjustRelatedPermissions(permission: IRolePermission | IUserPermission): void { - const permissionId = - { + private adjustRelatedPermissions(permission: IRolePermission | IUserPermission, previousPermissions: IPermissionDefinition[]): void { + const permissionIds = { view: this.folderDetails.permissions.permissionDefinitions.find(p => p.permissionName === 'View Folder').permissionId, browse: this.folderDetails.permissions.permissionDefinitions.find(p => p.permissionName === 'Browse Folder').permissionId, write: this.folderDetails.permissions.permissionDefinitions.find(p => p.permissionName === 'Write to Folder').permissionId, }; + + const viewPermission = permission.permissions.find(p => p.permissionId === permissionIds.view); + const browsePermission = permission.permissions.find(p => p.permissionId === permissionIds.browse); + const writePermission = permission.permissions.find(p => p.permissionId === permissionIds.write); + + // Check if specific permissions have changed from the last known state + const viewChanged = viewPermission && this.hasPermissionChanged(previousPermissions, viewPermission, permissionIds.view); + const browseChanged = browsePermission && this.hasPermissionChanged(previousPermissions, browsePermission, permissionIds.browse); + const writeChanged = writePermission && this.hasPermissionChanged(previousPermissions, writePermission, permissionIds.write); - const viewPermission = permission.permissions.find(p => p.permissionId == permissionId.view); // If view permission is denied, then deny all other permissions - if (viewPermission && viewPermission.allowAccess == false){ - // Deny all permissions - permission.permissions = [ - { - allowAccess: false, - fullControl: false, - permissionId: permissionId.view, - permissionCode: null, - permissionKey: null, - permissionName: "View Folder", - view: false, - }, - { - allowAccess: false, - fullControl: false, - permissionId: permissionId.browse, - permissionCode: null, - permissionKey: null, - permissionName: "Browse Folder", - view: false, - }, - { - allowAccess: false, - fullControl: false, - permissionId: permissionId.write, - permissionCode: null, - permissionKey: null, - permissionName: "Write to Folder", - view: false, - }, - ] + if (viewChanged && !viewPermission.allowAccess) { + if (browsePermission) { + browsePermission.allowAccess = false; + } + if (writePermission) { + writePermission.allowAccess = false; + } } - + // If browse was denied, then deny write - const browsePermission = permission.permissions.find(p => p.permissionId == permissionId.browse); - if (browsePermission && browsePermission.allowAccess == false){ - // Deny write - permission.permissions = [ - ...permission.permissions.filter(p => p.permissionId != permissionId.write), - { - allowAccess: false, - fullControl: false, - permissionId: permissionId.write, - permissionCode: null, - permissionKey: null, - permissionName: "Write to Folder", - view: false, - } - ] + if (browseChanged && !browsePermission.allowAccess && writePermission) { + writePermission.allowAccess = false; } - + // If browse was allowed, then allow view - if (browsePermission && browsePermission.allowAccess == true){ - // Allow browse - permission.permissions = [ - { + if (browseChanged && browsePermission.allowAccess) { + if (!viewPermission) { + // Create a new list with all existing permissions plus the new view permission + permission.permissions = [...permission.permissions, { + permissionId: permissionIds.view, allowAccess: true, fullControl: false, - permissionId: permissionId.view, permissionCode: null, permissionKey: null, - permissionName: "Browse Folder", + permissionName: "View Folder", view: false, - }, - ...permission.permissions.filter(p => p.permissionId != permissionId.view), - ]; + }]; + } else { + viewPermission.allowAccess = true; + } } - + // If write was allowed, then allow all other permissions - const writePermission = permission.permissions.find(p => p.permissionId == permissionId.write); - if (writePermission && writePermission.allowAccess == true){ - // Allow all permissions + if (writeChanged && writePermission.allowAccess) { permission.permissions = [ + ...permission.permissions.filter(p => ![permissionIds.view, permissionIds.browse].includes(p.permissionId)), { + permissionId: permissionIds.view, allowAccess: true, fullControl: false, - permissionId: permissionId.view, permissionCode: null, permissionKey: null, permissionName: "View Folder", view: false, }, { - allowAccess: true, - fullControl: false, - permissionId: permissionId.browse, - permissionCode: null, - permissionKey: null, - permissionName: "Browse Folder", - view: false, - }, - { - allowAccess: true, - fullControl: false, - permissionId: permissionId.write, - permissionCode: null, - permissionKey: null, - permissionName: "Write to Folder", - view: false, - }, - ] + permissionId: permissionIds.browse, + allowAccess: true, + fullControl: false, + permissionCode: null, + permissionKey: null, + permissionName: "Browse Folder", + view: false, + }]; } } + private hasPermissionChanged(lastPermissions: IPermissionDefinition[], currentPermission: IPermissionDefinition, permissionId: number): boolean { + const lastPermission = lastPermissions.find(p => p.permissionId === permissionId) + return !lastPermission || JSON.stringify(lastPermission) !== JSON.stringify(currentPermission); + } + private handleUserSearchQueryChanged(detail: string): void { this.itemsClient.searchUsers(detail) .then(data => this.foundUsers = data) diff --git a/DNN Platform/Website/DotNetNuke.Website.csproj b/DNN Platform/Website/DotNetNuke.Website.csproj index 7247bf427b5..eb3ac5cd96a 100644 --- a/DNN Platform/Website/DotNetNuke.Website.csproj +++ b/DNN Platform/Website/DotNetNuke.Website.csproj @@ -1254,6 +1254,7 @@ + web.config diff --git a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider index 343b722cfe1..5b999372327 100644 --- a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider +++ b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider @@ -7,3 +7,38 @@ /***** for {databaseOwner} and {objectQualifier} *****/ /***** *****/ /************************************************************/ + +/* update folder permissions view to include default value for portalID GHI:8240*/ +/*******************************************/ + +if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}vw_FolderPermissions]') and OBJECTPROPERTY(id, N'IsView') = 1) + DROP VIEW {databaseOwner}[{objectQualifier}vw_FolderPermissions] +GO + +CREATE VIEW {databaseOwner}[{objectQualifier}vw_FolderPermissions] +AS +SELECT FP.FolderPermissionID, + F.FolderID, + F.FolderPath, + ISNULL(F.PortalID, - 1) as PortalID, + P.PermissionID, + FP.RoleID, + R.RoleName, + FP.AllowAccess, + FP.UserID, + U.Username, + U.DisplayName, + P.PermissionCode, + P.ModuleDefID, + P.PermissionKey, + P.PermissionName, + FP.CreatedByUserID, + FP.CreatedOnDate, + FP.LastModifiedByUserID, + FP.LastModifiedOnDate +FROM {databaseOwner}[{objectQualifier}FolderPermission] AS FP + INNER JOIN {databaseOwner}[{objectQualifier}Folders] AS F ON FP.FolderID = F.FolderID + INNER JOIN {databaseOwner}[{objectQualifier}Permission] AS P ON FP.PermissionID = P.PermissionID + LEFT JOIN {databaseOwner}[{objectQualifier}Roles] AS R ON FP.RoleID = R.RoleID + LEFT JOIN {databaseOwner}[{objectQualifier}Users] AS U ON FP.UserID = U.UserID +GO \ No newline at end of file From fc1076ca9108f04f48a6cb8a733c131d02e9a6f9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-3KI2IPD\\aide4" Date: Sun, 2 Jun 2024 14:13:08 -0400 Subject: [PATCH 05/13] Update procedure GetFolderPermissionsByPortalAndPath to lookup null values for portalID */ --- .../SqlDataProvider/09.13.03.SqlDataProvider | 43 ++++++------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider index 5b999372327..a0696b8ef7a 100644 --- a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider +++ b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider @@ -8,37 +8,22 @@ /***** *****/ /************************************************************/ -/* update folder permissions view to include default value for portalID GHI:8240*/ +/* update procedure GetFolderPermissionsByPortalAndPath to lookup null values for portalID */ /*******************************************/ -if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}vw_FolderPermissions]') and OBJECTPROPERTY(id, N'IsView') = 1) - DROP VIEW {databaseOwner}[{objectQualifier}vw_FolderPermissions] +if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath]') AND type in (N'P', N'PC')) + DROP PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] GO -CREATE VIEW {databaseOwner}[{objectQualifier}vw_FolderPermissions] -AS -SELECT FP.FolderPermissionID, - F.FolderID, - F.FolderPath, - ISNULL(F.PortalID, - 1) as PortalID, - P.PermissionID, - FP.RoleID, - R.RoleName, - FP.AllowAccess, - FP.UserID, - U.Username, - U.DisplayName, - P.PermissionCode, - P.ModuleDefID, - P.PermissionKey, - P.PermissionName, - FP.CreatedByUserID, - FP.CreatedOnDate, - FP.LastModifiedByUserID, - FP.LastModifiedOnDate -FROM {databaseOwner}[{objectQualifier}FolderPermission] AS FP - INNER JOIN {databaseOwner}[{objectQualifier}Folders] AS F ON FP.FolderID = F.FolderID - INNER JOIN {databaseOwner}[{objectQualifier}Permission] AS P ON FP.PermissionID = P.PermissionID - LEFT JOIN {databaseOwner}[{objectQualifier}Roles] AS R ON FP.RoleID = R.RoleID - LEFT JOIN {databaseOwner}[{objectQualifier}Users] AS U ON FP.UserID = U.UserID + CREATE PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] + @portalid int, + @FolderPath nvarchar(300) + AS + BEGIN + + SELECT * + FROM {databaseOwner}[{objectQualifier}vw_FolderPermissions] + WHERE (PortalID = IsNull(@portalid, -1) OR (@portalid IS NULL AND PortalID IS NULL)) AND (FolderPath = @FolderPath OR @FolderPath IS NULL) + END + GO \ No newline at end of file From 4c221c2906fad51c15f98c89b19fb4e2a279876a Mon Sep 17 00:00:00 2001 From: Brian Dukes Date: Mon, 3 Jun 2024 08:38:52 -0500 Subject: [PATCH 06/13] Update Cake-Issues Dependabot group --- .github/dependabot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 74b877ef906..2371ac1a32d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -49,6 +49,7 @@ updates: Cake-Issues: patterns: - "Cake.Issues*" + - "Cake.Frosting.Issues*" DependencyInjection: patterns: - "Microsoft.Extensions.DependencyInjection*" From 396916536cfe211a23184e3ba56a0cce10935f8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 21:28:03 +0000 Subject: [PATCH 07/13] Bump the npm_and_yarn group with 2 updates Bumps the npm_and_yarn group with 2 updates: [follow-redirects](https://github.com/follow-redirects/follow-redirects) and [ws](https://github.com/websockets/ws). Updates `follow-redirects` from 1.15.5 to 1.15.6 - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6) Updates `ws` from 7.5.9 to 7.5.10 - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: ws dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index b4278711bd3..45b48ac820d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11791,12 +11791,12 @@ __metadata: linkType: hard "follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.4": - version: 1.15.5 - resolution: "follow-redirects@npm:1.15.5" + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" peerDependenciesMeta: debug: optional: true - checksum: d467f13c1c6aa734599b8b369cd7a625b20081af358f6204ff515f6f4116eb440de9c4e0c49f10798eeb0df26c95dd05d5e0d9ddc5786ab1a8a8abefe92929b4 + checksum: 70c7612c4cab18e546e36b991bbf8009a1a41cf85354afe04b113d1117569abf760269409cb3eb842d9f7b03d62826687086b081c566ea7b1e6613cf29030bf7 languageName: node linkType: hard @@ -25233,8 +25233,8 @@ __metadata: linkType: hard "ws@npm:^7.3.1": - version: 7.5.9 - resolution: "ws@npm:7.5.9" + version: 7.5.10 + resolution: "ws@npm:7.5.10" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -25243,7 +25243,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 171e35012934bd8788150a7f46f963e50bac43a4dc524ee714c20f258693ac4d3ba2abadb00838fdac42a47af9e958c7ae7e6f4bc56db047ba897b8a2268cf7c + checksum: 9c796b84ba80ffc2c2adcdfc9c8e9a219ba99caa435c9a8d45f9ac593bba325563b3f83edc5eb067cc6d21b9a6bf2c930adf76dd40af5f58a5ca6859e81858f0 languageName: node linkType: hard From c5915287125b1633cd5af151363499073c0d661f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AA=81=E7=AA=81=E5=85=94?= <37355028+tututu-patch@users.noreply.github.com> Date: Thu, 20 Jun 2024 21:05:41 +0800 Subject: [PATCH 08/13] Update build.ps1 --- build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.ps1 b/build.ps1 index 2c6bffad84c..fde701f22bb 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,2 +1,2 @@ -dotnet run --project build/Build.csproj -- $args -exit $LASTEXITCODE; \ No newline at end of file +dotnet run --project Build/Build.csproj -- $args +exit $LASTEXITCODE; From 1e9736a5031bc95a87d035ea415c0d8ab876ca25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AA=81=E7=AA=81=E5=85=94?= <37355028+tututu-patch@users.noreply.github.com> Date: Thu, 20 Jun 2024 21:05:58 +0800 Subject: [PATCH 09/13] Update build.sh --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index dfd6b854b72..b250f3fb4e5 100644 --- a/build.sh +++ b/build.sh @@ -1 +1 @@ -dotnet run --project ./build/Build.csproj -- "$@" +dotnet run --project ./Build/Build.csproj -- "$@" From 96738ceb4b5d60705a0cd78d579cad1dc5b882e7 Mon Sep 17 00:00:00 2001 From: "DESKTOP-3KI2IPD\\aide4" Date: Thu, 20 Jun 2024 12:06:30 -0400 Subject: [PATCH 10/13] Rename Sql Provider file --- .../SqlDataProvider/09.13.03.SqlDataProvider | 20 ------------- .../SqlDataProvider/09.13.04.SqlDataProvider | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 20 deletions(-) create mode 100644 DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider diff --git a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider index a0696b8ef7a..343b722cfe1 100644 --- a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider +++ b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.03.SqlDataProvider @@ -7,23 +7,3 @@ /***** for {databaseOwner} and {objectQualifier} *****/ /***** *****/ /************************************************************/ - -/* update procedure GetFolderPermissionsByPortalAndPath to lookup null values for portalID */ -/*******************************************/ - -if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath]') AND type in (N'P', N'PC')) - DROP PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] -GO - - CREATE PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] - @portalid int, - @FolderPath nvarchar(300) - AS - BEGIN - - SELECT * - FROM {databaseOwner}[{objectQualifier}vw_FolderPermissions] - WHERE (PortalID = IsNull(@portalid, -1) OR (@portalid IS NULL AND PortalID IS NULL)) AND (FolderPath = @FolderPath OR @FolderPath IS NULL) - END - -GO \ No newline at end of file diff --git a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider new file mode 100644 index 00000000000..a0696b8ef7a --- /dev/null +++ b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider @@ -0,0 +1,29 @@ +/************************************************************/ +/***** SqlDataProvider *****/ +/***** *****/ +/***** *****/ +/***** Note: To manually execute this script you must *****/ +/***** perform a search and replace operation *****/ +/***** for {databaseOwner} and {objectQualifier} *****/ +/***** *****/ +/************************************************************/ + +/* update procedure GetFolderPermissionsByPortalAndPath to lookup null values for portalID */ +/*******************************************/ + +if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath]') AND type in (N'P', N'PC')) + DROP PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] +GO + + CREATE PROCEDURE {databaseOwner}[{objectQualifier}GetFolderPermissionsByPortalAndPath] + @portalid int, + @FolderPath nvarchar(300) + AS + BEGIN + + SELECT * + FROM {databaseOwner}[{objectQualifier}vw_FolderPermissions] + WHERE (PortalID = IsNull(@portalid, -1) OR (@portalid IS NULL AND PortalID IS NULL)) AND (FolderPath = @FolderPath OR @FolderPath IS NULL) + END + +GO \ No newline at end of file From 504300315d3d58787bd404407a4bed49adb69485 Mon Sep 17 00:00:00 2001 From: "DESKTOP-3KI2IPD\\aide4" Date: Thu, 20 Jun 2024 12:08:29 -0400 Subject: [PATCH 11/13] Update csproj file with the sql data provider file also --- DNN Platform/Website/DotNetNuke.Website.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DNN Platform/Website/DotNetNuke.Website.csproj b/DNN Platform/Website/DotNetNuke.Website.csproj index eb3ac5cd96a..1f2f76df4ba 100644 --- a/DNN Platform/Website/DotNetNuke.Website.csproj +++ b/DNN Platform/Website/DotNetNuke.Website.csproj @@ -1254,7 +1254,7 @@ - + web.config From d6c696589dac7a7609d4b645c867c6e37301d353 Mon Sep 17 00:00:00 2001 From: Paul Calderon Date: Fri, 21 Jun 2024 13:50:35 -0500 Subject: [PATCH 12/13] Add sorting functionality to recycle bin items --- .../Recyclebin/IRecyclebinController.cs | 6 +-- .../Recyclebin/RecyclebinController.cs | 46 ++++++++++++++++-- .../Services/RecyclebinController.cs | 12 ++--- .../App_LocalResources/Recyclebin.resx | 2 +- .../personaBar/Dnn.Recyclebin/Recyclebin.html | 16 +++---- .../Dnn.Recyclebin/css/RecycleBin.css | 17 +++++++ .../scripts/RecycleBin.ViewModel.js | 48 ++++++++++++++----- 7 files changed, 113 insertions(+), 34 deletions(-) diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/IRecyclebinController.cs b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/IRecyclebinController.cs index 8147f220d26..dd773b11712 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/IRecyclebinController.cs +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/IRecyclebinController.cs @@ -36,10 +36,10 @@ public interface IRecyclebinController bool RestoreUser(UserInfo user, out string resultmessage); - List GetDeletedTabs(out int totalRecords, int pageIndex = -1, int pageSize = -1); + List GetDeletedTabs(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = ""); - List GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1); + List GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = ""); - List GetDeletedUsers(out int totalRecords, int pageIndex = -1, int pageSize = -1); + List GetDeletedUsers(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = ""); } } diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/RecyclebinController.cs b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/RecyclebinController.cs index a6efc6f214d..cea4f5cf09a 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/RecyclebinController.cs +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Components/Recyclebin/RecyclebinController.cs @@ -214,24 +214,49 @@ public bool RestoreModule(int moduleId, int tabId, out string errorMessage) } /// - public List GetDeletedTabs(out int totalRecords, int pageIndex = -1, int pageSize = -1) + public List GetDeletedTabs(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var adminTabId = PortalSettings.AdminTabId; var tabs = TabController.GetPortalTabs(PortalSettings.PortalId, adminTabId, true, true, true, true); var deletedtabs = tabs.Where(t => t.ParentId != adminTabId && t.IsDeleted && TabPermissionController.CanDeletePage(t)); + if (sortType == "tab") + { + deletedtabs = sortDirection == "asc" ? deletedtabs = deletedtabs.OrderBy(tab => tab.TabName) : deletedtabs = deletedtabs.OrderByDescending(tab => tab.TabName); + } + + if (sortType == "date") + { + deletedtabs = sortDirection == "asc" ? deletedtabs = deletedtabs.OrderBy(tab => tab.LastModifiedOnDate) : deletedtabs = deletedtabs.OrderByDescending(tab => tab.LastModifiedOnDate); + } + totalRecords = deletedtabs.Count(); return pageIndex == -1 || pageSize == -1 ? deletedtabs.ToList() : deletedtabs.Skip(pageIndex * pageSize).Take(pageSize).ToList(); } /// - public List GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1) + public List GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var deletedModules = this.moduleController.GetModules(PortalSettings.PortalId) .Cast() .Where(module => module.IsDeleted && ( TabPermissionController.CanAddContentToPage(TabController.Instance.GetTab(module.TabID, module.PortalID)) || ModulePermissionController.CanDeleteModule(module))); + if (sortType == "title") + { + deletedModules = sortDirection == "asc" ? deletedModules = deletedModules.OrderBy(module => module.ModuleTitle) : deletedModules = deletedModules.OrderByDescending(module => module.ModuleTitle); + } + + if (sortType == "tab") + { + deletedModules = sortDirection == "asc" ? deletedModules = deletedModules.OrderBy(module => module.ParentTab.TabName) : deletedModules = deletedModules.OrderByDescending(module => module.ParentTab.TabName); + } + + if (sortType == "date") + { + deletedModules = sortDirection == "asc" ? deletedModules = deletedModules.OrderBy(module => module.LastModifiedOnDate) : deletedModules = deletedModules.OrderByDescending(module => module.LastModifiedOnDate); + } + totalRecords = deletedModules.Count(); return pageIndex == -1 || pageSize == -1 ? deletedModules.ToList() : deletedModules.Skip(pageIndex * pageSize).Take(pageSize).ToList(); } @@ -248,9 +273,24 @@ public string GetTabStatus(TabInfo tab) } /// - public List GetDeletedUsers(out int totalRecords, int pageIndex = -1, int pageSize = -1) + public List GetDeletedUsers(out int totalRecords, int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var deletedusers = UserController.GetDeletedUsers(PortalSettings.PortalId).Cast().Where(this.CanManageUser); + if (sortType == "username") + { + deletedusers = sortDirection == "asc" ? deletedusers = deletedusers.OrderBy(user => user.Username) : deletedusers = deletedusers.OrderByDescending(user => user.Username); + } + + if (sortType == "displayname") + { + deletedusers = sortDirection == "asc" ? deletedusers = deletedusers.OrderBy(user => user.DisplayName) : deletedusers = deletedusers.OrderByDescending(user => user.DisplayName); + } + + if (sortType == "date") + { + deletedusers = sortDirection == "asc" ? deletedusers = deletedusers.OrderBy(user => user.LastModifiedOnDate) : deletedusers = deletedusers.OrderByDescending(user => user.LastModifiedOnDate); + } + totalRecords = deletedusers.Count(); return pageIndex == -1 || pageSize == -1 ? deletedusers.ToList() : deletedusers.Skip(pageIndex * pageSize).Take(pageSize).ToList(); } diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Services/RecyclebinController.cs b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Services/RecyclebinController.cs index db030af3662..93fdcdc167e 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Services/RecyclebinController.cs +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Services/RecyclebinController.cs @@ -34,10 +34,10 @@ public class RecyclebinController : PersonaBarApiController [HttpGet] [AdvancedPermission(MenuName = Components.Constants.MenuName, Permission = Components.Constants.RecycleBinPagesView)] - public HttpResponseMessage GetDeletedPageList(int pageIndex = -1, int pageSize = -1) + public HttpResponseMessage GetDeletedPageList(int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var totalRecords = 0; - var tabs = Components.RecyclebinController.Instance.GetDeletedTabs(out totalRecords, pageIndex, pageSize); + var tabs = Components.RecyclebinController.Instance.GetDeletedTabs(out totalRecords, pageIndex, pageSize, sortType, sortDirection); var deletedtabs = from t in tabs select this.ConvertToPageItem(t, tabs); var response = new @@ -52,10 +52,10 @@ public HttpResponseMessage GetDeletedPageList(int pageIndex = -1, int pageSize = [HttpGet] [AdvancedPermission(MenuName = Components.Constants.MenuName, Permission = Components.Constants.RecycleBinModulesView)] - public HttpResponseMessage GetDeletedModuleList(int pageIndex = -1, int pageSize = -1) + public HttpResponseMessage GetDeletedModuleList(int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var totalRecords = 0; - var mods = Components.RecyclebinController.Instance.GetDeletedModules(out totalRecords, pageIndex, pageSize); + var mods = Components.RecyclebinController.Instance.GetDeletedModules(out totalRecords, pageIndex, pageSize, sortType, sortDirection); var deletedmodules = from t in mods select this.ConvertToModuleItem(t); var response = new { @@ -69,10 +69,10 @@ public HttpResponseMessage GetDeletedModuleList(int pageIndex = -1, int pageSize [HttpGet] [AdvancedPermission(MenuName = Components.Constants.MenuName, Permission = Components.Constants.RecycleBinUsersView)] - public HttpResponseMessage GetDeletedUserList(int pageIndex = -1, int pageSize = -1) + public HttpResponseMessage GetDeletedUserList(int pageIndex = -1, int pageSize = -1, string sortType = "", string sortDirection = "") { var totalRecords = 0; - var users = Components.RecyclebinController.Instance.GetDeletedUsers(out totalRecords, pageIndex, pageSize); + var users = Components.RecyclebinController.Instance.GetDeletedUsers(out totalRecords, pageIndex, pageSize, sortType, sortDirection); var deletedusers = from t in users select this.ConvertToUserItem(t); var response = new { diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/App_LocalResources/Recyclebin.resx b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/App_LocalResources/Recyclebin.resx index 26b157e60f6..1e7a9faa630 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/App_LocalResources/Recyclebin.resx +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/App_LocalResources/Recyclebin.resx @@ -133,7 +133,7 @@ Yes - Date + Deletion Date Empty Recycle Bin diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/Recyclebin.html b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/Recyclebin.html index 672fc4b4e0a..3a34af87650 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/Recyclebin.html +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/Recyclebin.html @@ -32,8 +32,8 @@

- - + + @@ -54,9 +54,9 @@

- - - + + + @@ -77,9 +77,9 @@

- - - + + + diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/css/RecycleBin.css b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/css/RecycleBin.css index aa1c5a537ab..7b59d69253e 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/css/RecycleBin.css +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/css/RecycleBin.css @@ -457,6 +457,23 @@ div#recycleBin-header.socialpanelheader .actions { background: #F2F2F2; } + .recycleBinContainer #pages table.dnnRBGrid tr.dnnRBGridHeader td.pagename, + .recycleBinContainer #pages table.dnnRBGrid tr.dnnRBGridHeader td.deleteddate { + cursor: pointer; + } + + .recycleBinContainer #modules table.dnnRBGrid tr.dnnRBGridHeader td.mtitle, + .recycleBinContainer #modules table.dnnRBGrid tr.dnnRBGridHeader td.mpage, + .recycleBinContainer #modules table.dnnRBGrid tr.dnnRBGridHeader td.deleteddate { + cursor: pointer; + } + + .recycleBinContainer #users table.dnnRBGrid tr.dnnRBGridHeader td.username, + .recycleBinContainer #users table.dnnRBGrid tr.dnnRBGridHeader td.displayname, + .recycleBinContainer #users table.dnnRBGrid tr.dnnRBGridHeader td.deleteddate { + cursor: pointer; + } + .recycleBinContainer table.dnnRBGrid tr.dnnRBGridBody td.thumbnail, .recycleBinContainer table.dnnRBGrid tr.dnnRBGridBody td.title, .recycleBinContainer table.dnnRBGrid tr.dnnRBGridBody td.pagename, diff --git a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/scripts/RecycleBin.ViewModel.js b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/scripts/RecycleBin.ViewModel.js index e706fbaef99..fdc8bf13422 100644 --- a/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/scripts/RecycleBin.ViewModel.js +++ b/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Recyclebin/scripts/RecycleBin.ViewModel.js @@ -233,7 +233,7 @@ define(['jquery', 'knockout', restorePageHandler, removePageHandler, restoreModuleHandler, removeModuleHandler, emptyRecycleBinHandler, restoreUserHandler, removeUserHandler, restoreSelectedUsersHandler, removeSelectedUsersHandler, userRestoreRevomeOperationsCallback, Paginate, getDeletedPageList, getDeletedModuleList, getDeletedUserList, - getService, getViewModel, tabActivated; + getService, getViewModel, tabActivated, sortBy; /* Class properties */ DnnPageRecycleBin.class = 'DnnPageRecycleBin'; @@ -671,7 +671,7 @@ define(['jquery', 'knockout', var TotalResults = {} var timeout = null; - var pageSize=15; + var pageSize=20; Paginate = function(API_METHOD, viewModelProp, elementId){ var element = $(elementId).jScrollPane(); @@ -697,7 +697,7 @@ define(['jquery', 'knockout', TotalResults[viewModelProp].paginationRequestCount = TotalResults[viewModelProp].paginationRequestCount || 1; - getService().get(API_METHOD, {pageIndex: TotalResults[viewModelProp].paginationRequestCount++, pageSize: pageSize }, function (data) { + getService().get(API_METHOD, {pageIndex: TotalResults[viewModelProp].paginationRequestCount++, pageSize: pageSize, sortType: viewModel.sortType(), sortDirection: viewModel.sortDirection() }, function (data) { var results = data.Results; var conditional = TotalResults[viewModelProp].remainingPages-results.length > 0; @@ -713,29 +713,29 @@ define(['jquery', 'knockout', var treeOfPages = getTreesOfPages(temp); treeOfPages.forEach(function(pageTemp) { viewModel[viewModelProp].push(pageTemp); - }); - break; + }); + break; case 'deletedusersList': results.forEach(function(tempUser){ var user = new UserInfo(tempUser); viewModel[viewModelProp].push(user) }); - break; + break; case 'deletedtemplatesList': results.forEach(function(tempTemplate){ var template = new TemplateInfo(tempTemplate); viewModel[viewModelProp].push(template); }); - break; + break; case 'deletedmodulesList': results.forEach(function(tempModule){ var module = new ModuleInfo(tempModule); viewModel[viewModelProp].push(module); }); - break; + break; } api.reinitialise(); @@ -772,7 +772,7 @@ define(['jquery', 'knockout', viewModel.deletedpagesList.removeAll(); - getService().get('GetDeletedPageList', {pageIndex:0, pageSize:pageSize}, function (data) { + getService().get('GetDeletedPageList', {pageIndex:0, pageSize:pageSize, sortType:viewModel.sortType(), sortDirection:viewModel.sortDirection() }, function (data) { var results = data.Results; var viewModelProp = "deletedpagesList"; TotalResults[viewModelProp]={}; @@ -807,7 +807,7 @@ define(['jquery', 'knockout', viewModel.deletedmodulesList.removeAll(); - getService().get('GetDeletedModuleList', {pageIndex:0, pageSize:pageSize}, function (data) { + getService().get('GetDeletedModuleList', {pageIndex:0, pageSize:pageSize, sortType:viewModel.sortType(), sortDirection:viewModel.sortDirection()}, function (data) { var results = data.Results; var viewModelPropName = 'deletedmodulesList'; @@ -841,7 +841,7 @@ define(['jquery', 'knockout', viewModel.deletedUsersReady(false); viewModel.deletedusersList.removeAll(); - getService().get('GetDeletedUserList', {pageIndex:0, pageSize:pageSize}, function (data) { + getService().get('GetDeletedUserList', {pageIndex:0, pageSize:pageSize, sortType:viewModel.sortType(), sortDirection:viewModel.sortDirection()}, function (data) { var results = data.Results; var viewModelPropName = "deletedusersList"; TotalResults[viewModelPropName]={}; @@ -879,12 +879,31 @@ define(['jquery', 'knockout', getViewModel().activeTab(activeTab); }; + sortBy = function (section, type, direction) { + getViewModel().sortDirection(direction); + getViewModel().sortType(type); + switch (section) { + case "pages": + getDeletedPageList(false); + break; + case "modules": + getDeletedModuleList(false); + break; + case "users": + getDeletedUserList(false); + break; + } + } + getViewModel = function () { if (!_viewModel) { _viewModel = { resx: _resx, settings: _settings, + sortType: ko.observable(""), + sortDirection: ko.observable(""), + activeTab: ko.observable(0), deletedPagesReady: ko.observable(false), deletedModulesReady: ko.observable(false), @@ -922,7 +941,10 @@ define(['jquery', 'knockout', emptyRecycleBin: emptyRecycleBinHandler, - tabActivated: tabActivated + tabActivated: tabActivated, + + sortBy: sortBy + }; if (_settings.canViewPages && _settings.canManagePages) { _viewModel.selectAllPages.subscribe(function (newValue) { @@ -955,7 +977,7 @@ define(['jquery', 'knockout', _options = $.extend({}, RECYCLE_BIN_DEFAULT_OPTIONS, _options); var viewModel = getViewModel(); ko.applyBindings(viewModel, wrapper[0]); - initPagination(); + initPagination(); }; DnnPageRecycleBin.prototype.show = function () { From 080bae1d77a9c39da16a021a23b320a1e7100a43 Mon Sep 17 00:00:00 2001 From: Paul Calderon Date: Fri, 21 Jun 2024 14:01:09 -0500 Subject: [PATCH 13/13] Fixes issue #6074 --- .../Website/DotNetNuke.Website.csproj | 1 + .../SqlDataProvider/09.13.04.SqlDataProvider | 98 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider diff --git a/DNN Platform/Website/DotNetNuke.Website.csproj b/DNN Platform/Website/DotNetNuke.Website.csproj index 7247bf427b5..1f2f76df4ba 100644 --- a/DNN Platform/Website/DotNetNuke.Website.csproj +++ b/DNN Platform/Website/DotNetNuke.Website.csproj @@ -1254,6 +1254,7 @@ + web.config diff --git a/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider new file mode 100644 index 00000000000..2480b0278c1 --- /dev/null +++ b/DNN Platform/Website/Providers/DataProviders/SqlDataProvider/09.13.04.SqlDataProvider @@ -0,0 +1,98 @@ +/************************************************************/ +/***** SqlDataProvider *****/ +/***** *****/ +/***** *****/ +/***** Note: To manually execute this script you must *****/ +/***** perform a search and replace operation *****/ +/***** for {databaseOwner} and {objectQualifier} *****/ +/***** *****/ +/************************************************************/ + +/* Fix Deleted Date for Recycle Bin Items #6074 */ +/**************************************/ + +IF OBJECT_ID(N'{databaseOwner}[{objectQualifier}vw_Modules]', N'V') IS NOT NULL + DROP VIEW {databaseOwner}[{objectQualifier}vw_Modules] +GO + +CREATE VIEW {databaseOwner}[{objectQualifier}vw_Modules] +AS + SELECT + M.PortalID AS [OwnerPortalID], + DM.PackageID, + T.PortalID, + TM.TabID, + TM.TabModuleID, + M.ModuleID, + M.ModuleDefID, + TM.ModuleOrder, + TM.PaneName, + TM.ModuleTitle, + TM.CacheTime, + TM.CacheMethod, + TM.Alignment, + TM.Color, + TM.Border, + CASE WHEN TM.IconFile LIKE 'fileid=%' + THEN (SELECT IsNull(Folder, '') + [FileName] FROM {databaseOwner}[{objectQualifier}vw_Files] + WHERE FileId = CAST(SUBSTRING(TM.IconFile, 8, 10) AS Int)) + ELSE Coalesce(TM.IconFile,'') + END AS IconFile, + TM.Visibility, + TM.Header, + TM.Footer, + TM.ContainerSrc, + TM.DisplayTitle, + TM.DisplayPrint, + TM.DisplaySyndicate, + TM.IsWebSlice, + TM.WebSliceTitle, + TM.WebSliceExpiryDate, + TM.WebSliceTTL, + TM.UniqueId, + TM.VersionGuid, + TM.DefaultLanguageGuid, + TM.LocalizedVersionGuid, + TM.CultureCode, + M.AllTabs, + M.StartDate, + M.EndDate, + T.StartDate AS TabStartDate, + T.EndDate AS TabEndDate, + M.InheritViewPermissions, + M.IsShareable, + M.IsShareableViewOnly, + TM.CreatedByUserID, + TM.CreatedOnDate, + TM.LastModifiedByUserID, + TM.LastModifiedOnDate, + M.LastContentModifiedOnDate, + MD.DesktopModuleID, + MD.DefaultCacheTime, + MD.DefinitionName, + MC.ModuleControlID, + DM.BusinessControllerClass, + DM.IsAdmin, + DM.SupportedFeatures, + CI.ContentItemID, + CI.Content, + CI.ContentTypeID, + CI.ContentKey, + CI.Indexed, + CI.StateID, + TM.IsDeleted AS IsDeleted, + M.IsDeleted AS IsModuleDeleted, + T.IsDeleted AS IsTabDeleted + FROM {databaseOwner}[{objectQualifier}ModuleDefinitions] AS MD + INNER JOIN {databaseOwner}[{objectQualifier}Modules] AS M ON M.ModuleDefID = MD.ModuleDefID + INNER JOIN {databaseOwner}[{objectQualifier}ModuleControls] AS MC ON MD.ModuleDefID = MC.ModuleDefID + INNER JOIN {databaseOwner}[{objectQualifier}DesktopModules] AS DM ON MD.DesktopModuleID = DM.DesktopModuleID + LEFT JOIN {databaseOwner}[{objectQualifier}ContentItems] AS CI ON M.ContentItemID = CI.ContentItemID + LEFT JOIN {databaseOwner}[{objectQualifier}TabModules] AS TM ON M.ModuleID = TM.ModuleID + LEFT JOIN {databaseOwner}[{objectQualifier}Tabs] AS T ON TM.TabID = T.TabID + WHERE (MC.ControlKey IS NULL) +GO + +/************************************************************/ +/***** SqlDataProvider *****/ +/************************************************************/