Fix bug where you cannot assign a case to a contact because contact object is not iterable
Refactor to use super in all cases

This fixes a bug where, if you do not use xhr, it would try to return a
string instead of a response/redirect resulting in a 'str' object does
not have method get