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, "", "", ""))); }
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; }
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); }
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); //} }
private static void DeleteFolderRecursief(CmsPageFolder parentFolder) { foreach (CmsPageFolder folder in parentFolder.GetSubFolders()) { DeleteFolderRecursief(folder); } foreach (CmsPage page in parentFolder.GetPages()) { page.Delete(); } parentFolder.Delete(); }
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); }
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); }