equal
deleted
inserted
replaced
1020 if source.should_call_hooks: |
1020 if source.should_call_hooks: |
1021 self.hm.call_hooks('before_add_entity', etype, session, entity) |
1021 self.hm.call_hooks('before_add_entity', etype, session, entity) |
1022 # XXX use entity.keys here since edited_attributes is not updated for |
1022 # XXX use entity.keys here since edited_attributes is not updated for |
1023 # inline relations |
1023 # inline relations |
1024 for attr in entity.keys(): |
1024 for attr in entity.keys(): |
1025 rschema = eschema.subject_relation(attr) |
1025 rschema = eschema.subjrels[attr] |
1026 if not rschema.is_final(): # inlined relation |
1026 if not rschema.final: # inlined relation |
1027 relations.append((attr, entity[attr])) |
1027 relations.append((attr, entity[attr])) |
1028 entity.set_defaults() |
1028 entity.set_defaults() |
1029 entity.check(creation=True) |
1029 entity.check(creation=True) |
1030 source.add_entity(session, entity) |
1030 source.add_entity(session, entity) |
1031 if source.uri != 'system': |
1031 if source.uri != 'system': |
1039 session.set_entity_cache(entity) |
1039 session.set_entity_cache(entity) |
1040 for rschema in eschema.subject_relations(): |
1040 for rschema in eschema.subject_relations(): |
1041 rtype = str(rschema) |
1041 rtype = str(rschema) |
1042 if rtype in VIRTUAL_RTYPES: |
1042 if rtype in VIRTUAL_RTYPES: |
1043 continue |
1043 continue |
1044 if rschema.is_final(): |
1044 if rschema.final: |
1045 entity.setdefault(rtype, None) |
1045 entity.setdefault(rtype, None) |
1046 else: |
1046 else: |
1047 entity.set_related_cache(rtype, 'subject', session.empty_rset()) |
1047 entity.set_related_cache(rtype, 'subject', session.empty_rset()) |
1048 for rschema in eschema.object_relations(): |
1048 for rschema in eschema.object_relations(): |
1049 rtype = str(rschema) |
1049 rtype = str(rschema) |
1079 only_inline_rels, need_fti_update = True, False |
1079 only_inline_rels, need_fti_update = True, False |
1080 relations = [] |
1080 relations = [] |
1081 for attr in edited_attributes: |
1081 for attr in edited_attributes: |
1082 if attr == 'eid': |
1082 if attr == 'eid': |
1083 continue |
1083 continue |
1084 rschema = eschema.subject_relation(attr) |
1084 rschema = eschema.subjrels[attr] |
1085 if rschema.is_final(): |
1085 if rschema.final: |
1086 if eschema.rproperty(attr, 'fulltextindexed'): |
1086 if eschema.rproperty(attr, 'fulltextindexed'): |
1087 need_fti_update = True |
1087 need_fti_update = True |
1088 only_inline_rels = False |
1088 only_inline_rels = False |
1089 else: |
1089 else: |
1090 # inlined relation |
1090 # inlined relation |