yeah I can probably clean this up a little, but there are two distinct scenarios here (and comments would help) 
1) You did not create a submission 
2) You did not create a submission, and the problem is closed. 

More over, these are two checks we want to perform on every mixin (submissions, peer, self, etc) so what I should reeaaally do is make this a little more common place, such as a function in openassessmentblock.