Example #1
0
        public JsonResult DeleteFolder(string id, bool deleteAllPages)
        {
            BaseService.CheckLoginAndLicense();
            CmsPageFolder folder = GetFolder(id, null);
            CmsPageFolder ParentFolder;

            if (folder.GetPages().Count > 0 || folder.GetSubFolders().Count > 0)
            {
                if (!deleteAllPages)
                {
                    return(JsonResult.CreateResult(false, "Wilt u deze map inclusief alle subitems van deze map verwijderen?<br />"));
                }
                else
                {
                    ParentFolder = folder.ParentFolder;
                    DeleteFolderRecursief(folder);
                }
            }
            else
            {
                ParentFolder = folder.ParentFolder;
                folder.Delete();
            }
            string ParentFolderId = (ParentFolder == null) ? null : ParentFolder.ID.ToString();

            return(JsonResult.CreateResult(true, GetFoldersAndPages(ParentFolderId, "", "", "")));
        }
Example #2
0
        public TreeGridItem(CmsPageFolder folder)
        {
            this.ID              = folder.ID;
            this.Name            = folder.Name;
            this.IsActive        = folder.IsActive;
            this.Status          = folder.ChangeStatusString;
            this.HasAutorisation = folder.HasAutorisation;
            if (!folder.IsActive)
            {
                //soms is Inactive string een te lange string voor in een grid. Daarom hier versimpelen
                this.Status = "Niet actief";
            }

            this.Type = "Folder";
            this.Icon = "_img/icons/folder_small.png";
            //this.TypeIconClass = "bitTableFolder";
            this.IsLeaf = folder.IsLeaf();
            this.Level  = folder.RelativePath.Split(new char[] { '/' }).Length - 1;
            if (folder.ParentFolder != null)
            {
                this.Path = folder.ParentFolder.RelativePath;
            }
            this.Path       = folder.RelativePath;
            this.CreateDate = folder.CreateDate;
        }
Example #3
0
        public CmsPageFolder GetFolder(string id, string folderid)
        {
            BaseService.CheckLoginAndLicense();
            CmsPageFolder folder = null;

            if (id == null)
            {
                folder      = new CmsPageFolder();
                folder.Site = SessionObject.CurrentSite;
                if (folderid != null && folderid != "")
                {
                    folder.ParentFolder = BaseObject.GetById <CmsPageFolder>(new Guid(folderid));
                }
            }
            else
            {
                folder = BaseObject.GetById <CmsPageFolder>(new Guid(id));
                if (folder.HasBitplateAutorisation())
                {
                    //BitAutorisationService.AutorisationClient client = BitMetaServerServicesHelper.GetClient();
                    //BitplateUserGroup[] usergroups = client.GetUserGroupsByObjectPermission(folder.ID);
                    //folder.AutorizedBitplateUserGroups = usergroups;

                    //BitplateUser[] users = client.GetUsersByObjectPermission(folder.ID);
                    //folder.AutorizedBitplateUsers = users;
                    if (!folder.IsAutorized(SessionObject.CurrentBitplateUser))
                    {
                        throw new Exception("U heeft geen rechten voor deze map");
                    }
                }
            }
            return(folder);
        }
Example #4
0
        public void CopyFolder(string folderId, string newFolderName)
        {
            BaseService.CheckLoginAndLicense();
            CmsPageFolder folder = BaseObject.GetById <CmsPageFolder>(new Guid(folderId));
            CmsPageFolder copy   = folder.Copy(newFolderName, null);

            //BaseCollection<ObjectPermission> objPermissions = copy.GetObjectPermissions4LicenseServer();
            //if (objPermissions.Count > 0)
            //{
            //    BitAutorisationService.AutorisationClient client = BitMetaServerServicesHelper.GetClient();
            //    client.SaveObjectPermissions(objPermissions);
            //}
        }
Example #5
0
        private static void DeleteFolderRecursief(CmsPageFolder parentFolder)
        {
            foreach (CmsPageFolder folder in parentFolder.GetSubFolders())
            {
                DeleteFolderRecursief(folder);
            }

            foreach (CmsPage page in parentFolder.GetPages())
            {
                page.Delete();
            }
            parentFolder.Delete();
        }
Example #6
0
        public CmsPageFolder SaveFolder(CmsPageFolder obj)
        {
            BaseService.CheckLoginAndLicense();
            obj.Site = SessionObject.CurrentSite;
            //hack om parentfoder leeg te maken vanuit dropdown met folders
            if (obj.ParentFolder != null && obj.ParentFolder.ID == Guid.Empty)
            {
                obj.ParentFolder = null;
            }
            obj.Save();

            ////lijst van ObjectPermissions wordt hier alleen als drager gebruikt.
            ////in de licentieserver wordt deze lijst weer gesplitst en in 2 tabellen gezet
            //BaseCollection<ObjectPermission> objPermissions = obj.GetObjectPermissions4LicenseServer();
            //if (objPermissions.Count > 0)
            //{
            //    BitAutorisationService.AutorisationClient client = BitMetaServerServicesHelper.GetClient();
            //    //BaseCollection<ObjectPermission> permissions = objPermissions;
            //    string test = objPermissions.ToJsonString();
            //    client.SaveObjectPermissions(objPermissions);
            //}
            return(obj);
        }
Example #7
0
        public List <TreeGridItem> GetFoldersAndPages(string folderId, string folderPath, string sort, string searchString)
        {
            BaseService.CheckLoginAndLicense();
            if ((folderId == null || folderId == "") &&
                (folderPath != null && folderPath != "" && (!folderPath.Contains(" DESC") && !folderPath.Contains(" ASC"))))
            {
                //haal folder id op vanuit path
                //path wordt gebruikt als er vanuit de breadcrumb wordt genavigeerd
                string where = String.Format("RelativePath = '{0}'", folderPath);
                CmsPageFolder folder = BaseObject.GetFirst <CmsPageFolder>(where);
                folderId = folder.ID.ToString();
            }
            if (sort == "" || sort == null)
            {
                sort = "Name";
            }
            string sortPages   = sort;
            string sortFolders = sort;

            //folders kennen geen title veld en geen path veld
            sortFolders = sortFolders.Replace("Title", "Name");
            sortFolders = sortFolders.Replace("Path", "RelativePath");

            string wherePages   = String.Format("FK_Site = '{0}' AND FK_Folder='{1}'", SessionObject.CurrentSite.ID, folderId);
            string whereFolders = String.Format("FK_Site = '{0}' AND FK_Parent_Folder='{1}'", SessionObject.CurrentSite.ID, folderId);

            if (folderId == null || folderId == "" || folderId == Guid.Empty.ToString())
            {
                wherePages   = String.Format("FK_Site = '{0}' AND FK_Folder Is Null", SessionObject.CurrentSite.ID);
                whereFolders = String.Format("FK_Site = '{0}' AND FK_Parent_Folder Is Null", SessionObject.CurrentSite.ID);
            }
            if (searchString != null && searchString != "")
            {
                wherePages   = String.Format("FK_Site = '{0}' AND (Name like '%{1}%' OR Title like '%{1}%')", SessionObject.CurrentSite.ID, searchString);
                whereFolders = String.Format("FK_Site = '{0}' AND (Name like '%{1}%')", SessionObject.CurrentSite.ID, searchString);
            }
            BaseCollection <CmsPageFolder> folderlist = BaseCollection <CmsPageFolder> .Get(whereFolders, sortFolders);

            BaseCollection <CmsPage> pagelist = BaseCollection <CmsPage> .Get(wherePages, sortPages);

            List <TreeGridItem> returnList = new List <TreeGridItem>();

            if (!(folderId == null || folderId == "" || folderId == Guid.Empty.ToString()))
            {
                //voeg de move up folder toe
                CmsPageFolder folder = BaseObject.GetById <CmsPageFolder>(new Guid(folderId));
                TreeGridItem  item   = new TreeGridItem();
                if (folder.ParentFolder != null)
                {
                    item = new TreeGridItem(folder.ParentFolder);
                }
                else
                {
                    item.ID     = Guid.Empty;
                    item.IsLeaf = false;
                    item.Type   = "Folder";
                    item.Path   = "";
                }
                item.Name = "...";

                returnList.Add(item);
            }
            foreach (CmsPageFolder folder in folderlist)
            {
                TreeGridItem item = new TreeGridItem(folder);
                //if (searchString != null && searchString != "")
                //{
                //    item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>");
                //}
                returnList.Add(item);
            }
            foreach (CmsPage page in pagelist)
            {
                TreeGridItem item = new TreeGridItem(page);
                //if (searchString != null && searchString != "")
                //{
                //    item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>");
                //    item.Title = item.Title.Replace(searchString, "<span class='highlight'>" + searchString + "</span>");
                //}
                returnList.Add(item);
            }
            return(returnList);
        }