Move personal to controller and add tests for it

Did you mean `@NoAdminRequired`?