parameters: (self, ob, new_state_id)
return_statement: return new_sdef
docstring: Allow jumping from state to another without triggering any hooks.
      Must be used only under certain conditions.
docstring_summary: Allow jumping from state to another without triggering any hooks.
      Must be used only under certain conditions.
docstring_tokens: Allow jumping from state to another without triggering any hooks . Must be used only under certain conditions .
function: def _executeMetaTransition(self, ob, new_state_id):
      """
      Allow jumping from state to another without triggering any hooks.
      Must be used only under certain conditions.
      """
      sci = None
      econtext = None
      tdef = None
      kwargs = None
      new_state_id_no_prefix = new_state_id
      new_state_id = 'state_' + new_state_id
      # Figure out the old and new states.
      old_sdef = self._getWorkflowStateOf(ob)
      if old_sdef is None:
        old_state = None
      else:
        old_state = old_sdef.getId()
      if old_state == new_state_id:
        # Object is already in expected state
        return
      former_status = self.getCurrentStatusDict(ob)
  
      new_sdef = self._getOb(new_state_id, None)
      if new_sdef is None:
        raise WorkflowException('Destination state undefined: ' + new_state_id)
  
      tdef_exprs = {}
      status = {}
      for id_, vdef in self.getVariableValueDict().iteritems():
        if not vdef.getStatusIncluded():
          continue
        expr = None
        if tdef_exprs.has_key(id_):
          expr = tdef_exprs[id_]
        elif not vdef.getAutomaticUpdate() and former_status.has_key(id_):
          # Preserve former value
          value = former_status[id_]
        else:
          variable_default_expression = vdef.getVariableDefaultExpressionInstance()
          if variable_default_expression is not None:
            expr = variable_default_expression
          else:
            value = ''
        if expr is not None:
          # Evaluate an expression.
          if econtext is None:
            # Lazily create the expression context.
            if sci is None:
              sci = StateChangeInfo(ob, self, former_status, tdef, old_sdef,
                                    new_sdef, kwargs)
            econtext = createExpressionContext(sci)
          value = expr(econtext)
        status[id_] = value
  
      status['comment'] = 'Jump from %r to %r' % (self._getOb(old_state).getReference(), new_state_id_no_prefix,)
      status[self.getStateVariable()] = new_state_id_no_prefix
      tool = self.getParentValue()
      tool.setStatusOf(self.getId(), ob, status)
  
      # Update role to permission assignments.
      self.updateRoleMappingsFor(ob)
      return new_sdef
function_tokens: def _executeMetaTransition ( self , ob , new_state_id ) : sci = None econtext = None tdef = None kwargs = None new_state_id_no_prefix = new_state_id new_state_id = 'state_' + new_state_id # Figure out the old and new states. old_sdef = self . _getWorkflowStateOf ( ob ) if old_sdef is None : old_state = None else : old_state = old_sdef . getId ( ) if old_state == new_state_id : # Object is already in expected state return former_status = self . getCurrentStatusDict ( ob ) new_sdef = self . _getOb ( new_state_id , None ) if new_sdef is None : raise WorkflowException ( 'Destination state undefined: ' + new_state_id ) tdef_exprs = { } status = { } for id_ , vdef in self . getVariableValueDict ( ) . iteritems ( ) : if not vdef . getStatusIncluded ( ) : continue expr = None if tdef_exprs . has_key ( id_ ) : expr = tdef_exprs [ id_ ] elif not vdef . getAutomaticUpdate ( ) and former_status . has_key ( id_ ) : # Preserve former value value = former_status [ id_ ] else : variable_default_expression = vdef . getVariableDefaultExpressionInstance ( ) if variable_default_expression is not None : expr = variable_default_expression else : value = '' if expr is not None : # Evaluate an expression. if econtext is None : # Lazily create the expression context. if sci is None : sci = StateChangeInfo ( ob , self , former_status , tdef , old_sdef , new_sdef , kwargs ) econtext = createExpressionContext ( sci ) value = expr ( econtext ) status [ id_ ] = value status [ 'comment' ] = 'Jump from %r to %r' % ( self . _getOb ( old_state ) . getReference ( ) , new_state_id_no_prefix , ) status [ self . getStateVariable ( ) ] = new_state_id_no_prefix tool = self . getParentValue ( ) tool . setStatusOf ( self . getId ( ) , ob , status ) # Update role to permission assignments. self . updateRoleMappingsFor ( ob ) return new_sdef