equal
deleted
inserted
replaced
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 |