1103 eschema = entity.e_schema |
1103 eschema = entity.e_schema |
1104 session.set_entity_cache(entity) |
1104 session.set_entity_cache(entity) |
1105 orig_edited_attributes = getattr(entity, 'edited_attributes', None) |
1105 orig_edited_attributes = getattr(entity, 'edited_attributes', None) |
1106 entity.edited_attributes = edited_attributes |
1106 entity.edited_attributes = edited_attributes |
1107 try: |
1107 try: |
1108 if session.is_hook_category_activated('integrity'): |
|
1109 entity.check() |
|
1110 only_inline_rels, need_fti_update = True, False |
1108 only_inline_rels, need_fti_update = True, False |
1111 relations = [] |
1109 relations = [] |
1112 source = self.source_from_eid(entity.eid, session) |
1110 source = self.source_from_eid(entity.eid, session) |
1113 for attr in list(edited_attributes): |
1111 for attr in list(edited_attributes): |
1114 if attr == 'eid': |
1112 if attr == 'eid': |
1135 for attr, value, _ in relations: |
1133 for attr, value, _ in relations: |
1136 hm.call_hooks('before_add_relation', session, |
1134 hm.call_hooks('before_add_relation', session, |
1137 eidfrom=entity.eid, rtype=attr, eidto=value) |
1135 eidfrom=entity.eid, rtype=attr, eidto=value) |
1138 if not only_inline_rels: |
1136 if not only_inline_rels: |
1139 hm.call_hooks('before_update_entity', session, entity=entity) |
1137 hm.call_hooks('before_update_entity', session, entity=entity) |
|
1138 if session.is_hook_category_activated('integrity'): |
|
1139 entity.check() |
1140 source.update_entity(session, entity) |
1140 source.update_entity(session, entity) |
1141 self.system_source.update_info(session, entity, need_fti_update) |
1141 self.system_source.update_info(session, entity, need_fti_update) |
1142 if source.should_call_hooks: |
1142 if source.should_call_hooks: |
1143 if not only_inline_rels: |
1143 if not only_inline_rels: |
1144 hm.call_hooks('after_update_entity', session, entity=entity) |
1144 hm.call_hooks('after_update_entity', session, entity=entity) |