Merge pull request #3602 from leigh-pointer/ENH#3538-PgModDateActive

Start Date and Expiry Date for Module instances and Pages #3538
This commit is contained in:
Shaun Walker
2024-01-05 12:09:19 -05:00
committed by GitHub
18 changed files with 424 additions and 156 deletions

View File

@ -262,7 +262,8 @@
if (page != null)
{
// check if user is authorized to view page
if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.PermissionList))
if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.PermissionList) && (Utilities.IsPageModuleVisible(page.EffectiveDate, page.ExpiryDate) || UserSecurity.IsAuthorized(user, PermissionNames.Edit, page.PermissionList)))
//if ((Utilities.IsPageModuleVisible(page.EffectiveDate, page.ExpiryDate) || UserSecurity.IsAuthorized(user, PermissionNames.Edit, page.PermissionList)) || UserSecurity.IsAuthorized(user, PermissionNames.View, page.PermissionList))
{
// load additional metadata for current page
page = ProcessPage(page, site, user, SiteState.Alias);
@ -296,6 +297,15 @@
OnStateChange?.Invoke(_pagestate);
await ScrollToFragment(_pagestate.Uri);
}
else
{
// Need to redirect 404 as page doesnot exist in a Permission or Timeframe
if (route.PagePath != "404")
{
// redirect to 404 page
NavigationManager.NavigateTo(Utilities.NavigateUrl(SiteState.Alias.Path, "404", ""));
}
}
}
else // page not found
{
@ -308,7 +318,7 @@
}
else // not mapped
{
if (user == null)
if (user == null && Utilities.IsPageModuleVisible(page.EffectiveDate, page.ExpiryDate))
{
// redirect to login page if user not logged in as they may need to be authenticated
NavigationManager.NavigateTo(Utilities.NavigateUrl(SiteState.Alias.Path, "login", "?returnurl=" + WebUtility.UrlEncode(route.PathAndQuery)));