(self, ob, new_state_id)
return new_sdef
Allow jumping from state to another without triggering any hooks.
    Must be used only under certain conditions.
Allow jumping from state to another without triggering any hooks.
    Must be used only under certain conditions.
Allow jumping from state to another without triggering any hooks . Must be used only under certain conditions .
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
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