Index: /main/waeup.sirp/trunk/buildout.cfg
===================================================================
--- /main/waeup.sirp/trunk/buildout.cfg	(revision 6348)
+++ /main/waeup.sirp/trunk/buildout.cfg	(revision 6349)
@@ -34,5 +34,5 @@
 [versions]
 collective.recipe.sphinxbuilder = 0.7.0
-hurry.workflow = 0.10
+hurry.workflow = 0.11
 # Pinned to circumvent breakage in 0.4.x
 hurry.zoperesource = 0.6
Index: /main/waeup.sirp/trunk/setup.py
===================================================================
--- /main/waeup.sirp/trunk/setup.py	(revision 6348)
+++ /main/waeup.sirp/trunk/setup.py	(revision 6349)
@@ -13,5 +13,5 @@
     'hurry.jquery',
     'hurry.jqueryui',
-    'hurry.workflow',
+    'hurry.workflow >= 0.11',
     # Add extra requirements here
     'docutils', # For RST-processing...
Index: /main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py	(revision 6348)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py	(revision 6349)
@@ -428,7 +428,8 @@
         role_manager.assignRoleToPrincipal(
             'waeup.PortalUser', self.request.principal.id)
-        state = IWorkflowState(self.context[pin]).getState()
-        if state == INITIALIZED:
-            IWorkflowInfo(self.context[pin]).fireTransition('start')
+        # XXX: disable for now. Pins will get a different workflow.
+        #state = IWorkflowState(self.context[pin]).getState()
+        #if state == INITIALIZED:
+        #    IWorkflowInfo(self.context[pin]).fireTransition('start')
         self.redirect(self.url(self.context[pin], 'edit'))
         return
@@ -548,6 +549,7 @@
         return '%s Application Form' % container_title
 
-    @property
     def getTransitions(self):
+        """XXX: need docs
+        """
         allowed_transitions_ids = IWorkflowInfo(
             self.context).getManualTransitionIds()
@@ -599,5 +601,4 @@
 
     def dataNotComplete(self):
-        #import pdb; pdb.set_trace()
         if not self.request.form.get('confirm_passport', False):
             return 'Passport confirmation box not ticked.'
Index: /main/waeup.sirp/trunk/src/waeup/sirp/applicants/workflow.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/applicants/workflow.py	(revision 6348)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/applicants/workflow.py	(revision 6349)
@@ -12,5 +12,4 @@
 from waeup.sirp.interfaces import IObjectHistory
 
-
 INITIALIZED = 'initialized'
 STARTED = 'started'
@@ -19,4 +18,12 @@
 NOT_ADMITTED = 'not admitted'
 CREATED = 'created'
+
+NULL_TRANSITION = Transition(
+    transition_id = '',
+    title = 'No transition',
+    source = None,
+    condition = NullCondition,
+    msg = '',
+    destination = None,)
 
 def create_workflow():
@@ -99,8 +106,8 @@
         destination = STARTED)
 
-    return [init_transition, start_transition, submit_transition,
-            admit_transition, create_transition, refuse1_transition,
-            refuse2_transition, reset1_transition, reset2_transition,
-            reset3_transition, reset4_transition]
+    return [NULL_TRANSITION, init_transition, start_transition,
+            submit_transition, admit_transition, create_transition,
+            refuse1_transition, refuse2_transition, reset1_transition,
+            reset2_transition, reset3_transition, reset4_transition]
 
 
@@ -152,8 +159,11 @@
 
 # Register global utilities for workflows and workflow versions...
-grok.global_utility(ApplicationWorkflow, IWorkflow)
-grok.global_utility(ApplicationWorkflowNullVersions, IWorkflowVersions)
+#grok.global_utility(ApplicationWorkflow, IWorkflow, name=WORKFLOW_NAME)
+#grok.global_utility(ApplicationWorkflowNullVersions, IWorkflowVersions,
+#                    name=WORKFLOW_NAME)
 
-class ApplicationState(grok.Adapter, WorkflowState):
+application_workflow = ApplicationWorkflow()
+
+class ApplicationWorkflowState(WorkflowState, grok.Adapter):
     """An adapter to adapt Applicant objects to workflow states.
     """
@@ -161,5 +171,8 @@
     grok.provides(IWorkflowState)
 
-class ApplicationInfo(grok.Adapter, WorkflowInfo):
+    state_key = 'wf.application.state'
+    state_id = 'wf.application.id'
+
+class ApplicationWorkflowInfo(WorkflowInfo, grok.Adapter):
     """Adapter to adapt Applicant objects to workflow info objects.
     """
@@ -167,4 +180,7 @@
     grok.provides(IWorkflowInfo)
 
+    def __init__(self, context):
+        self.context = context
+        self.wf = application_workflow
 
 @grok.subscribe(IApplicantBaseData, IWorkflowTransitionEvent)
