schema.py
changeset 10609 e2d8e81bfe68
parent 10589 7c23b7de2b8d
child 10612 84468b90e9c1
equal deleted inserted replaced
10608:7fc548d9dd8e 10609:e2d8e81bfe68
    23 
    23 
    24 import re
    24 import re
    25 from os.path import join, basename
    25 from os.path import join, basename
    26 from logging import getLogger
    26 from logging import getLogger
    27 from warnings import warn
    27 from warnings import warn
       
    28 
       
    29 from six.moves import range
    28 
    30 
    29 from logilab.common import tempattr
    31 from logilab.common import tempattr
    30 from logilab.common.decorators import cached, clear_cache, monkeypatch, cachedproperty
    32 from logilab.common.decorators import cached, clear_cache, monkeypatch, cachedproperty
    31 from logilab.common.logging_ext import set_log_methods
    33 from logilab.common.logging_ext import set_log_methods
    32 from logilab.common.deprecation import deprecated, class_moved, moved
    34 from logilab.common.deprecation import deprecated, class_moved, moved
   362         elif rset:
   364         elif rset:
   363             # check every special has_*_permission relation is satisfied
   365             # check every special has_*_permission relation is satisfied
   364             get_eschema = _cw.vreg.schema.eschema
   366             get_eschema = _cw.vreg.schema.eschema
   365             try:
   367             try:
   366                 for eaction, col in has_perm_defs:
   368                 for eaction, col in has_perm_defs:
   367                     for i in xrange(len(rset)):
   369                     for i in range(len(rset)):
   368                         eschema = get_eschema(rset.description[i][col])
   370                         eschema = get_eschema(rset.description[i][col])
   369                         eschema.check_perm(_cw, eaction, eid=rset[i][col])
   371                         eschema.check_perm(_cw, eaction, eid=rset[i][col])
   370                 if self.eid is not None:
   372                 if self.eid is not None:
   371                     _cw.local_perm_cache[key] = True
   373                     _cw.local_perm_cache[key] = True
   372                 return True
   374                 return True