Seems like this form shares an awful lot of code with the registration form. I'd have two questions: 1) is it really necessary for users to be able to create a new school at donation time, if there are no users registered at that school? and if so 2) perhaps this form should share at least the new-school code with the registration form, likely via inheriting a common mixin.