Use model class for admin edits as well

Includes a refactory / tidy-up of the /administration test cases, to
prove this change hasn't broken things.