The detergent was closing fine. For the broken spring mounting post, I put a zip tie around the timer post and attach the spring to it. Then I adjust it to the same tension.
When I saw that the dispenser door was working properly, I told him that there was no way the rinse aid dispenser was not working. The design is too simple to not work. So I closed the detergent door, closed the door but didn't latch it. Advanced the timer all way through. I opened the door and showed him the blue streaks of Jetdry on the door panel. It was at this point he told me he doesn't use the detergent dispenser. Finally, problem solved. I informed him that by not using the dispenser, he was washing his dishes with a 5 minute lukewarm pre-rinse, rather than the designed 25 minute 140 degree wash and that's why his dishes were not getting clean.