hooks/metadata.py
changeset 7237 9f619715665b
parent 6955 a6c32edabc8d
child 7336 0c8c386d653b
child 7502 e7190f7e850e
--- 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):