# HG changeset patch # User Sylvain Thénault # Date 1250500003 -7200 # Node ID 51bcd8e8f65c8ea6331c8f08bed6c507790a972f # Parent 9d641d98cc86928b04b422bd138787c96987b545 [repo] misc cleanup diff -r 9d641d98cc86 -r 51bcd8e8f65c server/repository.py --- a/server/repository.py Mon Aug 17 11:06:02 2009 +0200 +++ b/server/repository.py Mon Aug 17 11:06:43 2009 +0200 @@ -1039,9 +1039,9 @@ # call hooks for inlined relations for attr, value in relations: self.hm.call_hooks('before_add_relation', attr, session, - entity.eid, attr, value) + entity.eid, attr, value) self.hm.call_hooks('after_add_relation', attr, session, - entity.eid, attr, value) + entity.eid, attr, value) return entity.eid def glob_update_entity(self, session, entity, edited_attributes): @@ -1058,7 +1058,7 @@ session.set_entity_cache(entity) only_inline_rels, need_fti_update = True, False relations = [] - for attr in entity.keys(): + for attr in edited_attributes: if attr == 'eid': continue rschema = eschema.subject_relation(attr) @@ -1068,8 +1068,8 @@ only_inline_rels = False else: # inlined relation - previous_value = entity.related(attr) - if previous_value: + previous_value = entity.related(attr) or None + if previous_value is not None: previous_value = previous_value[0][0] # got a result set if previous_value == entity[attr]: previous_value = None @@ -1100,7 +1100,7 @@ for attr, value, prevvalue in relations: # if the relation is already cached, update existant cache relcache = entity.relation_cached(attr, 'subject') - if prevvalue: + if prevvalue is not None: self.hm.call_hooks('after_delete_relation', attr, session, entity.eid, attr, prevvalue) if relcache is not None: