Refactor on File::processNew
The code was so involved there was even a comment asking for a refactor. Now, File_redirection::where always returns a nice File_redirection object instead of an array or string or nothing. The object is either one which already existed or else a new, unsaved object. Instead of duplicating "does it exist" checks everywhere, do it in File_redirection::where. You either get what exists or something to save. An unsaved File_redirection may be paired with an unsaved File. You will want to save the File first (using ->saveFile()) and put the id in File_redirection#file_id before saving.
Showing with 94 additions and 141 deletions