The Porter incident is a true story. However, the new Iowa had a thick armor belt so I doubt the torpedo could have done serious damage had it hit. Still, it would have been pretty darn embarrassing.
FDR later intervened to reduce the punishment given the sailor whose error caused the discharge.