def post(self, *args, **kwargs):
if self.steps.current not in self.steps.all:<EOL><INDENT>logger.warning("<STR_LIT>"<EOL>"<STR_LIT>",<EOL>self.steps.current)<EOL>return self.render_goto_step(self.steps.all[-<NUM_LIT:1>])<EOL><DEDENT>wizard_goto_step = self.request.POST.get('<STR_LIT>', None)<EOL>if wizard_goto_step and wizard_goto_step in self.get_form_list():<EOL><INDENT>return self.render_goto_step(wizard_goto_step)<EOL><DEDENT>management_form = ManagementForm(self.request.POST, prefix=self.prefix)<EOL>if not management_form.is_valid():<EOL><INDENT>raise SuspiciousOperation(_('<STR_LIT>'))<EOL><DEDENT>form_current_step = management_form.cleaned_data['<STR_LIT>']<EOL>if (form_current_step != self.steps.current and<EOL>self.storage.current_step is not None):<EOL><INDENT>self.storage.current_step = form_current_step<EOL><DEDENT>if self.steps.current not in self.steps.all:<EOL><INDENT>logger.warning("<STR_LIT>"<EOL>"<STR_LIT>",<EOL>self.steps.current)<EOL>return self.render_goto_step(self.steps.all[-<NUM_LIT:1>])<EOL><DEDENT>return super(IdempotentSessionWizardView, self).post(*args, **kwargs)<EOL>
Check if the current step is still available. It might not be if
conditions have changed.