/// <summary> /// Event for create new folder. /// </summary> /// <param name="sender">The sender object.</param> /// <param name="e">The event arguments.</param> public void newFolderToolStripMenuItem_Click(object sender, EventArgs e) { CreateFolderForm createFolderForm = new CreateFolderForm(); createFolderForm.SelectedFolder = this.GetSelectedFolder(); DialogResult dr = createFolderForm.ShowDialog(); if (dr == DialogResult.OK) { string folderName = createFolderForm.FolderName; string selectedFolder = createFolderForm.SelectedFolder; // create the new folder. this.leftSpine1.FolderView.CreateFolder(selectedFolder, folderName); } }
public void CreateFolder() { if (FolderNode == null) { return; } using (var dialog = new CreateFolderForm()) { if (dialog.ShowDialog() == DialogResult.OK) { var syncDestFolderTask = new SynchronizeDriveEmptyFolderTask(Account, FolderInfo.AccountName, AsyncTask.NormalPriority, null, FolderInfo.File); TaskManager.Add(syncDestFolderTask); TaskManager.Add(new CreateFolderTask(Account, FolderInfo.AccountName, AsyncTask.NormalPriority, new AsyncTask[] { syncDestFolderTask }, dialog.DirecotryName, FolderInfo.File) { Tag = FolderNode }); } } }
private void createFolderToolStripMenuItem_Click(object sender, EventArgs e) { CreateFolderForm f = new CreateFolderForm(managerhistory_itemnodes.NodeWorking()); f.Show(MainForm); }
public void CreateFolder() { if (FolderNode == null) { return; } using (var dialog = new CreateFolderForm()) { if (dialog.ShowDialog() == DialogResult.OK) { var syncDestFolderTask = new SynchronizeDriveEmptyFolderTask(Account, FolderInfo.AccountName, AsyncTask.NormalPriority, null, FolderInfo.File); TaskManager.Add(syncDestFolderTask); TaskManager.Add(new CreateFolderTask(Account, FolderInfo.AccountName, AsyncTask.NormalPriority, new AsyncTask[] { syncDestFolderTask }, dialog.DirecotryName, FolderInfo.File) { Tag = FolderNode }); } } }
public async Task <IActionResult> CreateFolder([Required][FromBody] CreateFolderForm request) { if (!CheckNewItemName(request.Name, out var badRequest)) { return(badRequest !); } if (request.ReadAccess == FileAccess.Nobody || request.WriteAccess == FileAccess.Nobody) { return(BadRequest("Only system can create system readable/writable folders")); } var user = HttpContext.AuthenticatedUserOrThrow(); // Check write access StorageItem?parentFolder = null; if (request.ParentFolder != null) { parentFolder = await database.StorageItems.FirstOrDefaultAsync(i => i.Ftype == FileType.Folder && i.Id == request.ParentFolder.Value); if (parentFolder == null) { return(NotFound("Parent folder doesn't exist")); } } // Write access if (parentFolder == null) { // Only admin can write to root folder if (!user.HasAccessLevel(UserAccessLevel.Admin)) { return(this.WorkingForbid("Only admins can write to root folder")); } } else { if (!parentFolder.IsWritableBy(user)) { return(this.WorkingForbid("You don't have write access to the parent folder")); } } // Check for duplicate name var parentId = parentFolder?.Id; if (await database.StorageItems.FirstOrDefaultAsync(i => i.ParentId == parentId && i.Name == request.Name) != null) { return(BadRequest("Item with that name already exists in the parent folder")); } // Folder is fine to be created await database.LogEntries.AddAsync(new LogEntry() { Message = $"New folder \"{request.Name}\" created with owner", TargetUserId = user.Id }); var newFolder = new StorageItem() { Name = request.Name, Ftype = FileType.Folder, ReadAccess = request.ReadAccess, WriteAccess = request.WriteAccess, AllowParentless = parentId == null, ParentId = parentId, OwnerId = user.Id, }; await database.StorageItems.AddAsync(newFolder); await database.SaveChangesAsync(); logger.LogInformation("New folder \"{Name}\" with read: {ReadAccess} and write access: " + "{WriteAccess}, created by: {Email}", newFolder.Name, newFolder.ReadAccess.ToUserReadableString(), newFolder.WriteAccess.ToUserReadableString(), user.Email); // Need to queue a job to calculate the folder size jobClient.Enqueue <CountFolderItemsJob>((x) => x.Execute(newFolder.Id, CancellationToken.None)); return(Ok($"New folder with id {newFolder.Id} created")); }