merge stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Tue, 30 Mar 2010 19:59:56 +0200
branchstable
changeset 5091 ae161c25a68e
parent 5090 8c39d2bf58fd (diff)
parent 5089 289cb1cebae8 (current diff)
child 5092 e126becc1263
merge
--- a/server/__init__.py	Tue Mar 30 18:41:17 2010 +0200
+++ b/server/__init__.py	Tue Mar 30 19:59:56 2010 +0200
@@ -210,8 +210,11 @@
     paths = [p for p in config.cubes_path() + [config.apphome]
              if exists(join(p, 'migration'))]
     # deactivate every hooks but those responsible to set metadata
-    # so, NO INTEGRITY CHECKS are done, to have quicker db creation
-    with hooks_control(session, session.HOOKS_DENY_ALL, 'metadata'):
+    # so, NO INTEGRITY CHECKS are done, to have quicker db creation.
+    # Active integrity is kept else we may pb such as two default
+    # workflows for one entity type.
+    with hooks_control(session, session.HOOKS_DENY_ALL, 'metadata',
+                       'activeintegrity'):
         # execute cubicweb's pre<event> script
         mhandler.exec_event_script('pre%s' % event)
         # execute cubes pre<event> script if any
--- a/server/repository.py	Tue Mar 30 18:41:17 2010 +0200
+++ b/server/repository.py	Tue Mar 30 19:59:56 2010 +0200
@@ -59,7 +59,7 @@
     # XXX we should imo rely on the orm to first fetch existing entity if any
     # then delete it.
     if session.is_internal_session \
-           or not session.is_hook_category_activated('integrity'):
+           or not session.is_hook_category_activated('activeintegrity'):
         return
     card = session.schema_rproperty(rtype, eidfrom, eidto, 'cardinality')
     # one may be tented to check for neweids but this may cause more than one