entities/wfobjs.py
changeset 10612 84468b90e9c1
parent 10589 7c23b7de2b8d
child 10682 7e111b606005
equal deleted inserted replaced
10611:f4dec0cca9a1 10612:84468b90e9c1
    23 """
    23 """
    24 from __future__ import print_function
    24 from __future__ import print_function
    25 
    25 
    26 __docformat__ = "restructuredtext en"
    26 __docformat__ = "restructuredtext en"
    27 
    27 
       
    28 from six import string_types
    28 
    29 
    29 from logilab.common.decorators import cached, clear_cache
    30 from logilab.common.decorators import cached, clear_cache
    30 from logilab.common.deprecation import deprecated
    31 from logilab.common.deprecation import deprecated
    31 
    32 
    32 from cubicweb.entities import AnyEntity, fetch_config
    33 from cubicweb.entities import AnyEntity, fetch_config
   257         for gname in requiredgroups:
   258         for gname in requiredgroups:
   258             rset = self._cw.execute('SET T require_group G '
   259             rset = self._cw.execute('SET T require_group G '
   259                                     'WHERE T eid %(x)s, G name %(gn)s',
   260                                     'WHERE T eid %(x)s, G name %(gn)s',
   260                                     {'x': self.eid, 'gn': unicode(gname)})
   261                                     {'x': self.eid, 'gn': unicode(gname)})
   261             assert rset, '%s is not a known group' % gname
   262             assert rset, '%s is not a known group' % gname
   262         if isinstance(conditions, basestring):
   263         if isinstance(conditions, string_types):
   263             conditions = (conditions,)
   264             conditions = (conditions,)
   264         for expr in conditions:
   265         for expr in conditions:
   265             if isinstance(expr, basestring):
   266             if isinstance(expr, string_types):
   266                 kwargs = {'expr': unicode(expr)}
   267                 kwargs = {'expr': unicode(expr)}
   267             else:
   268             else:
   268                 assert isinstance(expr, dict)
   269                 assert isinstance(expr, dict)
   269                 kwargs = expr
   270                 kwargs = expr
   270             kwargs['x'] = self.eid
   271             kwargs['x'] = self.eid
   527             kwargs['to_state'] = self._cw.entity_from_eid(tseid)
   528             kwargs['to_state'] = self._cw.entity_from_eid(tseid)
   528         return self._cw.create_entity('TrInfo', **kwargs)
   529         return self._cw.create_entity('TrInfo', **kwargs)
   529 
   530 
   530     def _get_transition(self, tr):
   531     def _get_transition(self, tr):
   531         assert self.current_workflow
   532         assert self.current_workflow
   532         if isinstance(tr, basestring):
   533         if isinstance(tr, string_types):
   533             _tr = self.current_workflow.transition_by_name(tr)
   534             _tr = self.current_workflow.transition_by_name(tr)
   534             assert _tr is not None, 'not a %s transition: %s' % (
   535             assert _tr is not None, 'not a %s transition: %s' % (
   535                 self.__regid__, tr)
   536                 self.__regid__, tr)
   536             tr = _tr
   537             tr = _tr
   537         return tr
   538         return tr