Index: /main/waeup.sirp/trunk/src/waeup/sirp/applicants/applicants.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/applicants/applicants.py	(revision 6295)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/applicants/applicants.py	(revision 6296)
@@ -25,4 +25,5 @@
 from zope.interface import implementedBy
 from zope.schema.fieldproperty import FieldProperty
+from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState
 from waeup.sirp.interfaces import IWAeUPSIRPPluggable
 from waeup.sirp.app import University
@@ -43,4 +44,29 @@
     grok.implements(IApplicant,IApplicantEdit)
     grok.provides(IApplicant)
+
+    def __init__(self):
+        super(Applicant, self).__init__()
+        #Initialize workflow state...
+        self.setApplicationState('initialized')
+
+    def getApplicationState(self):
+        return IWorkflowState(self).getState()
+
+    def setApplicationState(self, state=None):
+        """Try to set new state.
+
+        Instead of simply setting a value, we fire a transition of a
+        workflow. This might fail if, for instance, the required state
+        is not part of the workflow or unreachable from current state.
+        """
+        if state == self.getApplicationState():
+            # Accept staying in the same state, even if workflow does
+            # not allow this.
+            return
+        info = IWorkflowInfo(self)
+        info.fireTransitionToward(state)
+        return
+
+    #application_state = property(getApplicationState, setApplicationState)
 
 # Set all attributes of Applicant required in IApplicant as field
Index: /main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py	(revision 6295)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py	(revision 6296)
@@ -291,4 +291,5 @@
         #readonly = True,
         )
+
     reg_no = schema.TextLine(
         title = u'JAMB Registration Number',
@@ -366,10 +367,12 @@
         readonly = True,
         )
-    status = schema.TextLine(
-        # XXX: should be 'status' type
-        title = u'Application Status',
-        required = False,
-        readonly = True,
-        )
+
+    #application_state = schema.Choice(
+    #    title = u'Application Status',
+    #    default = 'created',
+    #    values = ['unchecked', 'checked']
+    #    readonly = True,
+    #    )
+
     screening_score = schema.Int(
         title = u'Screening Score',
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 6295)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 6296)
@@ -853,8 +853,8 @@
 
   >>> open('certificates.csv', 'wb').write(
-  ... """code,title,faculty_code,department_code,study_mode,end_level,m_prefix,start_level,application_category,review_state
-  ... LBA,BACHELOR OF LITERATURE,FA,LIT,UG,ug_ft,500,LIT,100,basic,checked
-  ... LMA,MASTER OF LITERATURE,FA,LIT,UG,ug_pt,500,LIT,100,cest,checked
-  ... DME,DIPLOMA OF MATH,FS,MAT,DP,dp_ft,200,DME,100,cest,unchecked
+  ... """code,title,faculty_code,department_code,study_mode,end_level,m_prefix,start_level,application_category
+  ... LBA,BACHELOR OF LITERATURE,FA,LIT,UG,ug_ft,500,LIT,100,basic
+  ... LMA,MASTER OF LITERATURE,FA,LIT,UG,ug_pt,500,LIT,100,cest
+  ... DME,DIPLOMA OF MATH,FS,MAT,DP,dp_ft,200,DME,100,cest
   ... """)
 
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py	(revision 6295)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py	(revision 6296)
@@ -2,10 +2,5 @@
 """
 import grok
-from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState
-try:
-    from zope.catalog.interfaces import ICatalog
-except ImportError:
-    # BBB
-    from zope.app.catalog.interfaces import ICatalog
+from zope.catalog.interfaces import ICatalog
 from zope.component import getUtility
 from zope.component.interfaces import IFactory, ComponentLookupError
@@ -30,32 +25,5 @@
         self.end_level = end_level
         self.application_category = application_category
-        # Initialize workflow state...
-        # self.setReviewState('unchecked')
 
-    #def check(self):
-    #    """Set Review State to ``checked``.
-    #    """
-    #    self.setReviewState(state='checked')
-
-    #def getReviewState(self):
-    #    return IWorkflowState(self).getState()
-
-    #def setReviewState(self, state=None):
-    #    """Try to set new state.
-
-    #    Instead of simply setting a value, we fire a transition of a
-    #    workflow. This might fail if, for instance, the required state
-    #    is not part of the workflow or unreachable from current state.
-    #    """
-    #    if state == self.getReviewState():
-    #        # Accept staying in the same state, even if workflow does
-    #        # not allow this.
-    #        return
-    #    info = IWorkflowInfo(self)
-    #    info.fireTransitionToward(state)
-    #    return
-
-    #review_state = property(getReviewState, setReviewState)
-    
     def longtitle(self):
         return "%s (%s)" % (self.title,self.code)  
Index: /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 6295)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 6296)
@@ -184,10 +184,4 @@
         )
 
-    #review_state = schema.Choice(
-    #    title = u'Review State',
-    #    default = 'unchecked',
-    #    values = ['unchecked', 'checked']
-    #    )
-
     title = schema.TextLine(
         title = u'Title',
