From 70fe58b90a7e540cf2ffcebb6295b47ecc9bdd5e Mon Sep 17 00:00:00 2001 From: drusepth Date: Fri, 16 Dec 2022 00:55:01 -0800 Subject: [PATCH] properly orphan deleted docs when also deleting folders --- app/controllers/folders_controller.rb | 3 ++- app/models/folder.rb | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/folders_controller.rb b/app/controllers/folders_controller.rb index 209fb60e..77d44ee5 100644 --- a/app/controllers/folders_controller.rb +++ b/app/controllers/folders_controller.rb @@ -17,7 +17,8 @@ class FoldersController < ApplicationController def destroy # Relocate all documents in this folder to the root "folder" - Document.where(folder_id: @folder.id).update_all(folder_id: nil) + # TODO - I think we can handle this at the model association level with dependent: nullify, but I've never used it + Document.with_deleted.where(folder_id: @folder.id).update_all(folder_id: nil) # Relocate all child folders in this folder to the root "folder" Folder.where(parent_folder_id: @folder.id).update_all(parent_folder_id: nil) diff --git a/app/models/folder.rb b/app/models/folder.rb index e3508003..2d9d7bb7 100644 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -1,4 +1,6 @@ class Folder < ApplicationRecord + has_many :documents + belongs_to :parent_folder, optional: true, class_name: Folder.name, foreign_key: :parent_folder_id belongs_to :user