I'm thinking that the new logic seems exactly like the logic when deleting an event. I'm not too happy with the code, but I think your patch would be a lot more simple if we followed the same logic? 

Here's the current logic where we redirect after deleting an event: https://github.com/mozilla-b2g/gaia/blob/master/apps/calendar/js/views/modify_event.js#L365