write a new method to be accessed from delete_all

The delete method is very coupled with delete all even
though only a portion of the conditionals apply. Decoupling
this will make the code easier to understand and manipulate.
remove unnecessary code from delete method

Now that we have a new method delete_all_with_dependency this
coupled conditional is no longer needed.
simplify the delete all w/ dependency method

After reviewing this code I realized the conditional that was
there previously was basically saying if the dependency is not
delete all. This is a better, cleaner, and clearer way to write
this method.
Merge pull request #14892 from eileencodes/breakup-complex-conditionals-on-delete

Breakup complex conditionals on delete