Most of chapter 9's exercises
Added fields partial to remove duplicate code between new user and edit user form