--- a/hooks/metadata.py Fri Apr 15 16:05:20 2011 +0200
+++ b/hooks/metadata.py Fri Apr 15 15:42:17 2011 +0200
@@ -67,13 +67,12 @@
def precommit_event(self):
session = self.session
- for eid in self.get_data():
- if session.deleted_in_transaction(eid):
- # entity have been created and deleted in the same transaction
- continue
- entity = session.entity_from_eid(eid)
- if not entity.created_by:
- session.add_relation(eid, 'created_by', session.user.eid)
+ relations = [(eid, session.user.eid) for eid in self.get_data()
+ # don't consider entities that have been created and
+ # deleted in the same transaction
+ if not session.deleted_in_transaction(eid) and \
+ not session.entity_from_eid(eid).created_by]
+ session.add_relations([('created_by', relations)])
class SetOwnershipHook(MetaDataHook):