Index: WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/definition.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/definition.xml	(revision 450)
+++ WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/definition.xml	(revision 451)
@@ -67,4 +67,5 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>AdmissionOfficer</guard-role>
   </guard>
  </transition>
@@ -77,4 +78,5 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>ClearanceOfficer</guard-role>
   </guard>
  </transition>
@@ -98,5 +100,6 @@
  <transition transition_id="enter_admission_pin" title=""
              new_state="admission_pin_entered"
-             trigger="USER" before_script=""
+             trigger="USER"
+             before_script="validate_admission_pin"
              after_script="open_admission">
   
@@ -104,11 +107,17 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>Owner</guard-role>
   </guard>
  </transition>
  <transition transition_id="enter_clearance_pin" title=""
              new_state="clearance_pin_entered"
-             trigger="USER" before_script="" after_script="">
-  
-  <guard>
+             trigger="USER"
+             before_script="validate_clearance_pin"
+             after_script="open_clearance">
+  
+  <guard>
+   <guard-role>Manager</guard-role>
+   <guard-role>SectionManager</guard-role>
+   <guard-role>Owner</guard-role>
   </guard>
  </transition>
@@ -118,4 +127,7 @@
   
   <guard>
+   <guard-role>Manager</guard-role>
+   <guard-role>SectionManager</guard-role>
+   <guard-role>ClearanceOfficer</guard-role>
   </guard>
  </transition>
@@ -134,4 +146,7 @@
   
   <guard>
+   <guard-role>Manager</guard-role>
+   <guard-role>SectionManager</guard-role>
+   <guard-role>AdmissionOfficer</guard-role>
   </guard>
  </transition>
@@ -141,4 +156,7 @@
   
   <guard>
+   <guard-role>Manager</guard-role>
+   <guard-role>SectionManager</guard-role>
+   <guard-role>AdmissionOfficer</guard-role>
   </guard>
  </transition>
@@ -148,4 +166,7 @@
   
   <guard>
+   <guard-role>Manager</guard-role>
+   <guard-role>SectionManager</guard-role>
+   <guard-role>AdmissionOfficer</guard-role>
   </guard>
  </transition>
@@ -158,4 +179,5 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>ClearanceOfficer</guard-role>
   </guard>
  </transition>
@@ -167,4 +189,5 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>Owner</guard-role>
   </guard>
  </transition>
@@ -176,4 +199,5 @@
    <guard-role>Manager</guard-role>
    <guard-role>SectionManager</guard-role>
+   <guard-role>Owner</guard-role>
   </guard>
  </transition>
@@ -190,3 +214,9 @@
  <script script_id="open_personal" type="Script (Python)"
          filename="workflows/waeup_student_wf/scripts/open_personal.py"/>
+ <script script_id="validate_admission_pin"
+         type="Script (Python)"
+         filename="workflows/waeup_student_wf/scripts/validate_admission_pin.py"/>
+ <script script_id="validate_clearance_pin"
+         type="Script (Python)"
+         filename="workflows/waeup_student_wf/scripts/validate_clearance_pin.py"/>
 </cps-workflow>
Index: WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_admission_pin.py
===================================================================
--- WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_admission_pin.py	(revision 451)
+++ WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_admission_pin.py	(revision 451)
@@ -0,0 +1,22 @@
+## Script (Python) "validate_admission_pin"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# Example code:
+
+# Import a standard function, and get the HTML request and response objects.
+from Products.PythonScripts.standard import html_quote
+request = container.REQUEST
+RESPONSE =  request.RESPONSE
+
+# Return a string identifying this script.
+print "This is the", script.meta_type, '"%s"' % script.getId(),
+if script.title:
+    print "(%s)" % html_quote(script.title),
+print "in", container.absolute_url()
+return printed
Index: WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_clearance_pin.py
===================================================================
--- WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_clearance_pin.py	(revision 451)
+++ WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/validate_clearance_pin.py	(revision 451)
@@ -0,0 +1,22 @@
+## Script (Python) "validate_clearance_pin"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# Example code:
+
+# Import a standard function, and get the HTML request and response objects.
+from Products.PythonScripts.standard import html_quote
+request = container.REQUEST
+RESPONSE =  request.RESPONSE
+
+# Return a string identifying this script.
+print "This is the", script.meta_type, '"%s"' % script.getId(),
+if script.title:
+    print "(%s)" % html_quote(script.title),
+print "in", container.absolute_url()
+return printed
