@assert_draft<EOL><INDENT>def revert_to_public(self):<DEDENT>
if not self.publisher_linked:<EOL><INDENT>return<EOL><DEDENT>draft_obj = self<EOL>publish_obj = self.publisher_linked<EOL>draft_obj.publisher_linked = None<EOL>draft_obj.save()<EOL>draft_obj.delete()<EOL>draft_obj = publish_obj<EOL>publish_obj = None<EOL>draft_obj.publisher_is_draft = draft_obj.STATE_DRAFT<EOL>draft_obj.save()<EOL>draft_obj.publish()<EOL>return draft_obj<EOL>
@todo Relook at this method. It would be nice if the draft pk did not have to change
@toavoid Updates self to a alternative instance
@toavoid self.__class__ = draft_obj.__class__
@toavoid self.__dict__ = draft_obj.__dict__