public IActionResult Details(int id, int pageRouteVersionId, int approvalId) { SectionViewModel pageSectionVersion = _dynamicPageSectionVersionRepository.Get(id, pageRouteVersionId); var pageRouteVersion = _pageRouteVersionRepository.GetById(pageSectionVersion.PageRouteVersionId); var dynamicPageSectionDetailsViewModel = new DynamicPageSectionDetailsViewModel() { PageRouteVersion = pageRouteVersion, SectionViewModel = pageSectionVersion }; dynamicPageSectionDetailsViewModel.ApprovalId = approvalId; return(View(dynamicPageSectionDetailsViewModel)); }
public BEUsersPrivilegesViewModel ValidateIBEUsersPrivilegesViewService(PrivilegesPageType pageTyp, string userId, bool isSuperAdmin, int pageId = -1, int approvalId = 0) { var bEUsersPrivilegesViewModel = new BEUsersPrivilegesViewModel(); var userPrivileges = _bEUsersPrivilegesRepository.GetUserPrivileges(userId); if (pageTyp == PrivilegesPageType.DynamicPage && pageId != -1) { var pageRouteVersion = _pageRouteVersionRepository.GetById(pageId); if (pageRouteVersion != null && pageRouteVersion.PageRouteId != null) { pageId = pageRouteVersion.PageRouteId ?? 0; } else { pageId = -1; } } bEUsersPrivilegesViewModel.CanAdd = isSuperAdmin || ValidatePrivileges(new BEUsersPrivilegesRequirementModel(pageTyp, new PrivilegesActions[] { PrivilegesActions.CanAdd }, pageId), userPrivileges); bEUsersPrivilegesViewModel.CanEdit = isSuperAdmin || ValidatePrivileges(new BEUsersPrivilegesRequirementModel(pageTyp, new PrivilegesActions[] { PrivilegesActions.CanEdit }, pageId), userPrivileges); bEUsersPrivilegesViewModel.CanDelete = isSuperAdmin || ValidatePrivileges(new BEUsersPrivilegesRequirementModel(pageTyp, new PrivilegesActions[] { PrivilegesActions.CanDelete }, pageId), userPrivileges); bEUsersPrivilegesViewModel.CanApprove = isSuperAdmin || ValidatePrivileges(new BEUsersPrivilegesRequirementModel(pageTyp, new PrivilegesActions[] { PrivilegesActions.CanApprove }, pageId), userPrivileges); bEUsersPrivilegesViewModel.CanSubmit = isSuperAdmin || ValidatePrivileges(new BEUsersPrivilegesRequirementModel(pageTyp, new PrivilegesActions[] { PrivilegesActions.CanAdd, PrivilegesActions.CanEdit, PrivilegesActions.CanDelete }, pageId), userPrivileges); bEUsersPrivilegesViewModel.IsFromApprovalPage = approvalId > 0; return(bEUsersPrivilegesViewModel); }
/// <summary> /// special check for dynamic page section as it depends on page Route Version Id /// </summary> /// <param name="context"></param> /// <param name="bEUsersPrivilegesRequirementModel"></param> private void DynamicPageSectionCheck(AuthorizationFilterContext context, BEUsersPrivilegesRequirementModel bEUsersPrivilegesRequirementModel) { if (_bEUsersPrivilegesRequirementModel.PageType == PrivilegesPageType.DynamicPageSection) { var pageRouteVersionId = context.HttpContext.Request.Query["pageRouteVersionId"]; var pageRouteVersionIdInt = 0; if (!string.IsNullOrWhiteSpace(pageRouteVersionId)) { pageRouteVersionIdInt = int.Parse(pageRouteVersionId[0]); } bEUsersPrivilegesRequirementModel.PageType = PrivilegesPageType.DynamicPage; var pageRouteVersion = _pageRouteVersionRepository.GetById(pageRouteVersionIdInt); if (pageRouteVersion != null && pageRouteVersion.PageRouteId != null) { bEUsersPrivilegesRequirementModel.PageId = pageRouteVersion.PageRouteId; } else { bEUsersPrivilegesRequirementModel.PageId = null; } } }