示例#1
0
        public HttpResponseMessage SetPageName(int portalId, int tabId, string name)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }
                PagesControllerImpl pageController = new PagesControllerImpl();

                if (string.IsNullOrEmpty(name))
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(Constants.ERROR_PAGE_NAME_REQUIRED)
                    {
                        { Constants.RESPONSE_SUCCESS, false }
                    }));
                }

                var response = pageController.UpdatePageProperty(portalId, tabId, TabFields.Name, name);
                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
示例#2
0
        public HttpResponseMessage SetPagePriority(int portalId, int tabId, string priority)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }

                PagesControllerImpl pageController = new PagesControllerImpl();

                float pagePriority;
                if (float.TryParse(priority, out pagePriority) == false)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(Constants.ERROR_PAGE_PRIORITY_INVALID)
                    {
                        { Constants.RESPONSE_SUCCESS, false }
                    }));
                }

                var response = pageController.UpdatePageProperty(portalId, tabId, TabFields.Priority, priority);
                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
示例#3
0
        public HttpResponseMessage GetPageUrls(int portalId, int tabId)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }
                PagesControllerImpl pageController = new PagesControllerImpl();

                var pageUrls = pageController.GetPageUrls(portalId, tabId);

                var result = pageUrls.Select(m => new
                {
                    Url         = m.Path,
                    UrlType     = m.StatusCode.Value,
                    GeneratedBy = m.IsSystem ? Constants.AUTOMATIC : m.UserName
                });

                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK, result));;
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
示例#4
0
        public HttpResponseMessage GetPageModules(int portalId, int tabId)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }

                PagesControllerImpl pageController = new PagesControllerImpl();

                var pageModules = pageController.GetPageModules(portalId, tabId);
                var result      = pageModules.Select(m => new
                {
                    Title      = m.ModuleTitle,
                    ModuleType = m.DesktopModule.FriendlyName
                });

                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK, result));;
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
示例#5
0
        public HttpResponseMessage GetPagePermissions(int portalId, int tabId)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }

                PagesControllerImpl pageController = new PagesControllerImpl();

                var pagePermissions = pageController.GetPagePermissions(portalId, tabId);

                var rolesResult = pagePermissions
                                  .Where(p => string.IsNullOrEmpty(p.RoleName) == false)
                                  .GroupBy(p => p.RoleID)
                                  .Select(p => new
                {
                    PermissionID = p.FirstOrDefault().PermissionID,
                    RoleId       = p.Key,
                    RoleName     = p.FirstOrDefault().RoleName,
                    View         = p.Where(x => x.PermissionKey == Constants.VIEW).Count() > 0 ? p.Where(x => x.PermissionKey == Constants.VIEW).FirstOrDefault().AllowAccess : false,
                    Edit         = p.Where(x => x.PermissionKey == Constants.EDIT).Count() > 0 ? p.Where(x => x.PermissionKey == Constants.EDIT).FirstOrDefault().AllowAccess : false
                });

                var usersResult = pagePermissions
                                  .Where(p => p.UserID != Null.NullInteger)
                                  .GroupBy(p => p.UserID)
                                  .Select(p => new
                {
                    PermissionID = p.FirstOrDefault().PermissionID,
                    UserId       = p.Key,
                    UserName     = p.FirstOrDefault().Username,
                    View         = p.Where(x => x.PermissionKey == Constants.VIEW).Count() > 0 ? p.Where(x => x.PermissionKey == Constants.VIEW).FirstOrDefault().AllowAccess : false,
                    Edit         = p.Where(x => x.PermissionKey == Constants.EDIT).Count() > 0 ? p.Where(x => x.PermissionKey == Constants.EDIT).FirstOrDefault().AllowAccess : false
                });


                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK, new { Roles = rolesResult, Users = usersResult }));;
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
 private void InitializePageController()
 {
     this._pagesController = new PagesControllerImpl(
         this._tabControllerMock.Object,
         this._moduleControllerMock.Object,
         this._pageUrlsControllerMock.Object,
         this._templateControllerMock.Object,
         this._defaultPortalThemeControllerMock.Object,
         this._cloneModuleExecutionContextMock.Object,
         this._urlRewriterUtilsWrapperMock.Object,
         this._friendlyUrlWrapperMock.Object,
         this._contentVerifierMock.Object,
         this._portalControllerMock.Object);
 }
示例#7
0
        public HttpResponseMessage SetPageKeywords(int portalId, int tabId, string keywords)
        {
            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }
                PagesControllerImpl pageController = new PagesControllerImpl();

                var response = pageController.UpdatePageProperty(portalId, tabId, TabFields.Keywords, keywords);
                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }
示例#8
0
        public HttpResponseMessage GetPagesList(int portalId, string searchKey = "", int pageIndex = -1, int pageSize = 10, string sortBy = "", string sortType = "", bool?deleted = false)
        {
            int total = 0;

            try
            {
                if (SecurityService.IsPagesAdminUser() == false)
                {
                    return(this.GetForbiddenResponse());
                }

                PagesControllerImpl pageController = new PagesControllerImpl();

                var pages = pageController.GetPagesList(portalId: portalId,
                                                        total: out total,
                                                        searchKey: searchKey,
                                                        pageIndex: pageIndex,
                                                        pageSize: pageSize,
                                                        sortBy: sortBy,
                                                        sortType: sortType,
                                                        deleted: deleted
                                                        );

                var result = pages.Select(p => new
                {
                    Id               = p.TabID,
                    Name             = p.LocalizedTabName,
                    Title            = p.Title,
                    Description      = p.Description,
                    Keywords         = p.KeyWords,
                    Priority         = p.SiteMapPriority,
                    PrimaryUrl       = pageController.GetPageUrls(p.PortalID, p.TabID).FirstOrDefault().Path,
                    LastUpdated      = string.Format(Constants.FORMAT_LASTUPDATED, (p.LastModifiedByUserID == Null.NullInteger ? Constants.SYSTEM : p.LastModifiedByUser(portalId).FirstName), (p.LastModifiedByUserID == Null.NullInteger ? Constants.ACCOUNT : p.LastModifiedByUser(portalId).LastName), p.LastModifiedOnDate.ToString(Constants.FORMAT_DATE)),
                    IsVisible        = p.IsVisible,
                    IsAllowedSearch  = p.AllowIndex,
                    IsDisabled       = p.DisableLink,
                    IsIndexed        = p.Indexed,
                    HasBeenPublished = p.HasBeenPublished
                });

                //string sortOn = sortBy.ToLowerInvariant();
                //string sortOrder = sortType.ToLowerInvariant();

                //if (String.IsNullOrEmpty(sortBy) == false)
                //{
                //    switch (sortBy.ToLowerInvariant())
                //    {
                //        case Constants.NAME:
                //            result = sortOrder == Constants.ASC ? result.OrderBy(x => x.Name) : result.OrderByDescending(x => x.Name);
                //            break;
                //        case Constants.TITLE:
                //            result = sortOrder == Constants.ASC ? result.OrderBy(x => x.Title) : result.OrderByDescending(x => x.Title);
                //            break;
                //        default:
                //            break;
                //    }
                //}

                return(Request.CreateResponse <dynamic>(HttpStatusCode.OK, new { Total = total.ToString(), result }));
            }
            catch (Exception ex)
            {
                LogError(ex);
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message)
                {
                    { Constants.RESPONSE_SUCCESS, false }
                }));
            }
        }