From d4d19cc6759ffcd298843c3718d7c1121e89c52a Mon Sep 17 00:00:00 2001 From: Gautam Sheth Date: Sun, 28 Jan 2024 20:10:31 +0200 Subject: [PATCH] Fix #3710 - Improve detection of modern site pages library --- CHANGELOG.md | 1 + src/Commands/Utilities/PagesUtility.cs | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffa4fa0bd..c9e875895 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Fixed `Get-PnPFlow` cmdlet to use the newer Flow URLs instead of the old ARM URLs. [#3677](https://github.com/pnp/powershell/pull/3677) - Fixed `Get-PnPPowerPlatformConnector`, `Get-PnPPowerPlatformEnvironment`, `Get-PnPPowerApp`, `Add-PnPFlowOwner`, `Disable-PnPFlow`, `Enable-PnPFlow`, `Export-PnPFlow`, `Get-PnPFlowOwner`, `Get-PnPFlowRun`, `Remove-PnPFlow`, `Remove-PnPFlowOwner` , `Restart-PnPFlow` and `Stop-PnPFlowRun` cmdlets to use the new HTTP endpoints. [#3687](https://github.com/pnp/powershell/pull/3687) - Fixed `Add-PnPHubSiteAssociation` cmdlet to allow support for multi-geo scenario. [#3568](https://github.com/pnp/powershell/pull/3568) +- Fixed `Enable/Disable-PnPPageScheduling` cmdlet to also work with Viva connections enabled site. ### Changed diff --git a/src/Commands/Utilities/PagesUtility.cs b/src/Commands/Utilities/PagesUtility.cs index 5730abfd0..7637299ba 100644 --- a/src/Commands/Utilities/PagesUtility.cs +++ b/src/Commands/Utilities/PagesUtility.cs @@ -10,12 +10,13 @@ namespace PnP.PowerShell.Commands.Utilities internal static class PagesUtility { private static readonly Expression>[] getPagesLibraryExpression = new Expression>[] {p => p.Title, p => p.TemplateType, p => p.Id, - p => p.RootFolder.QueryProperties(p => p.Properties, p => p.ServerRelativeUrl), p => p.Fields }; + p => p.RootFolder.QueryProperties(p => p.Properties, p => p.ServerRelativeUrl), p => p.Fields, p => p.ListItemEntityTypeFullName }; internal static IList GetModernPagesLibrary(IWeb web) { IList pagesLibrary = null; var libraries = web.Lists.QueryProperties(getPagesLibraryExpression) .Where(p => p.TemplateType == ListTemplateType.WebPageLibrary) + .Where(p => p.ListItemEntityTypeFullName == "SP.Data.SitePagesItem") .ToListAsync() .GetAwaiter().GetResult(); @@ -27,7 +28,7 @@ internal static IList GetModernPagesLibrary(IWeb web) { foreach (var list in libraries) { - if (list.IsPropertyAvailable(p => p.Fields) && list.Fields.AsRequested().FirstOrDefault(p => p.InternalName == "CanvasContent1") != null) + if (list.ListItemEntityTypeFullName == "SP.Data.SitePagesItem" && list.IsPropertyAvailable(p => p.Fields) && list.Fields.AsRequested().FirstOrDefault(p => p.InternalName == "CanvasContent1") != null) { pagesLibrary = list; break;