equal
deleted
inserted
replaced
992 rschema = self._get_rschema(entity) |
992 rschema = self._get_rschema(entity) |
993 if rschema is None: |
993 if rschema is None: |
994 return 0 # relation not supported |
994 return 0 # relation not supported |
995 if self.action: |
995 if self.action: |
996 if self.target_etype is not None: |
996 if self.target_etype is not None: |
997 rschema = rschema.role_rdef(entity.e_schema, self.target_etype, self.role) |
997 try: |
|
998 rschema = rschema.role_rdef(entity.e_schema, |
|
999 self.target_etype, self.role) |
|
1000 except KeyError: |
|
1001 return 0 |
998 if self.role == 'subject': |
1002 if self.role == 'subject': |
999 if not rschema.has_perm(entity._cw, self.action, fromeid=entity.eid): |
1003 if not rschema.has_perm(entity._cw, self.action, fromeid=entity.eid): |
1000 return 0 |
1004 return 0 |
1001 elif not rschema.has_perm(entity._cw, self.action, toeid=entity.eid): |
1005 elif not rschema.has_perm(entity._cw, self.action, toeid=entity.eid): |
1002 return 0 |
1006 return 0 |