Beispiel #1
0
        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));
        }
Beispiel #2
0
        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;
                }
            }
        }