Index: WAeUP_SRP/trunk/PatchCPSUserFolderUserFolderWithGroups.py
===================================================================
--- WAeUP_SRP/trunk/PatchCPSUserFolderUserFolderWithGroups.py	(revision 890)
+++ 	(revision )
@@ -1,127 +1,0 @@
-from AccessControl import ClassSecurityInfo
-from ExtensionClass import Base
-from Acquisition import Implicit
-from Acquisition import aq_base, aq_parent, aq_inner
-
-security = ClassSecurityInfo()
-
-security.declarePublic('getRolesInContext')
-def getRolesInContext(self, object):
-    """Return the list of roles assigned to the user,
-       including local roles assigned in context of
-       the passed in object."""
-    name = self.getUserName()
-    roles = self.getRoles()
-    groups = self.getGroups() + ('role:Anonymous',)
-    if 'Authenticated' in roles:
-        groups = groups + ('role:Authenticated',)
-    local = {}
-    stop_loop = 0
-    object = aq_inner(object)
-    import pdb; pdb.set_trace()
-    while 1:
-        # Collect all roles info
-        lrd = {}
-        local_roles = getattr(object, '__ac_local_roles__', None)
-        if local_roles:
-            if callable(local_roles):
-                local_roles = local_roles() or {}
-            for r in local_roles.get(name, ()):
-                if r:
-                    lrd[r] = None
-        local_group_roles = getattr(object, '__ac_local_group_roles__', None)
-        if local_group_roles:
-            if callable(local_group_roles):
-                local_group_roles = local_group_roles() or {}
-            for g in groups:
-                for r in local_group_roles.get(g, ()):
-                    if r:
-                        lrd[r] = None
-        lr = lrd.keys()
-        # Positive role assertions
-        for r in lr:
-            if r[0] != '-':
-                if not local.has_key(r):
-                    local[r] = 1 # acquired role
-        # Negative (blocking) role assertions
-        for r in lr:
-            if r[0] == '-':
-                r = r[1:]
-                if not r:
-                    # role '-' blocks all acquisition
-                    stop_loop = 1
-                    break
-                if not local.has_key(r):
-                    local[r] = 0 # blocked role
-        if stop_loop:
-            break
-        inner = getattr(object, 'aq_inner', object)
-        parent = getattr(inner, 'aq_parent', None)
-        if parent is not None:
-            object = parent
-            continue
-        if hasattr(object, 'im_self'):
-            object = object.im_self
-            object = getattr(object, 'aq_inner', object)
-            continue
-        break
-    roles = list(roles)
-    for r, v in local.items():
-        if v: # only if not blocked
-            roles.append(r)
-    ## patch to assign dynamic roles for WAeUP
-    info = self.getStudentInfo()
-    while 1:
-        if info is None:
-            break
-        if info['course'] is None:
-            break
-        res = self.portal_catalog(portal_type="Department",id=info['course_doc'].department)
-        if len(res) != 1:
-            break
-        dynamic_roles = self.getRolesInContext(res[0].getObject())
-        for dr in self.getDynamicRoles():
-            if dr in dynamic_roles:
-                roles.append(dr)
-        break
-    return roles
-
-security.declarePublic('allowed')
-def allowed(self, object, object_roles=None):
-    """Check whether the user has access to object. The user must
-       have one of the roles in object_roles to allow access."""
-
-    if object_roles is _what_not_even_god_should_do:
-        return 0
-
-    # Short-circuit the common case of anonymous access.
-    if object_roles is None or 'Anonymous' in object_roles:
-        return 1
-
-    # Provide short-cut access if object is protected by 'Authenticated'
-    # role and user is not nobody
-    if 'Authenticated' in object_roles and (
-        self.getUserName() != 'Anonymous User'):
-        return 1
-
-    # Check for a role match with the normal roles given to
-    # the user, then with local roles only if necessary. We
-    # want to avoid as much overhead as possible.
-    user_roles = self.getRoles()
-    for role in object_roles:
-        if role in user_roles:
-            if self._check_context(object):
-                return 1
-            return None
-
-    # Check local roles, calling getRolesInContext to avoid too much
-    # complexity, at the expense of speed.
-    for role in self.getRolesInContext(object):
-        if role in object_roles:
-            return 1
-
-    return None
-
-from Products.CPSUserFolder.UserFolderWithGroups import PatchBasicUser  
-PatchBasicUser.getRolesInContext = getRolesInContext
-PatchBasicUser.allowed = allowed
Index: WAeUP_SRP/trunk/profiles/default/types/StudentClearance.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/types/StudentClearance.xml	(revision 890)
+++ WAeUP_SRP/trunk/profiles/default/types/StudentClearance.xml	(revision 891)
@@ -38,5 +38,5 @@
  <action title="action_edit" action_id="edit" category="object"
     condition_expr=""
-    url_expr="string:${object_url}/clearance_edit_form_manager"
+    url_expr="string:${object_url}/clearance_edit_form"
     visible="True">
   <permission value="Modify portal content"/>
Index: WAeUP_SRP/trunk/skins/waeup_custom/cpsdocument_edit.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_custom/cpsdocument_edit.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_custom/cpsdocument_edit.py	(revision 891)
@@ -38,4 +38,5 @@
 is_valid, ds = doc.validate(request=REQUEST, proxy=context, cluster=cluster,
                             use_session=True)
+args = {}
 
 if action is None:
@@ -50,5 +51,5 @@
         action = ''
     psm = 'psm_content_changed'
-    args = {}
+
 else:
     psm = 'psm_content_error'
Index: WAeUP_SRP/trunk/skins/waeup_default/contact_admin_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/contact_admin_form.pt	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_default/contact_admin_form.pt	(revision 891)
@@ -29,5 +29,5 @@
           </td>
           <td>
-             <textarea name="commt" rows="10" cols="60" id="commt"></textarea>
+             <textarea name="descr" rows="10" cols="60" id="descr"></textarea>
           </td>
         </tr>
Index: WAeUP_SRP/trunk/skins/waeup_default/mail2admin.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_default/mail2admin.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_default/mail2admin.py	(revision 891)
@@ -18,4 +18,5 @@
 From: %s <%s>
 To: %s
+Cc: %s
 Bcc: %s
 Reply-To: %s
@@ -34,4 +35,5 @@
      email,
      prop.email_from_address,
+     email,
      'henrik@waeup.org',
 #    'js@aixtraware.de',
Index: WAeUP_SRP/trunk/skins/waeup_student/clearance_edit.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/clearance_edit.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/clearance_edit.py	(revision 891)
@@ -34,5 +34,4 @@
 clear = info['clear']
 clear_doc = info['clear_doc']
-review_state = info['review_state']
 
 is_valid, ds = clear_doc.validate(request=REQUEST,
@@ -47,21 +46,24 @@
 if is_valid:
     if cpsdocument_edit_button:
-        psm = 'Content changed.'
+        psm = "Content changed!"
     elif cpsdocument_edit_and_view_button:
         wftool.doActionFor(info['clear'],'close')
         wftool.doActionFor(info['student'],'request_clearance',dest_container=1)
+        psm = "You successfully requested clearance!"
     elif clear_and_validate_button:
         wftool.doActionFor(info['student'],'clear_and_validate')
+        psm = "Clearance and eligibility record is validated and and student is cleared!"
     elif reject_clearance_button:
         wftool.doActionFor(info['clear'],'open')
         wftool.doActionFor(info['student'],'reject_clearance')
+        action = "/contact_student_form"
+        psm = "Student's clearance request has been rejected! Please fill and submit the form below!"
 else:
-    psm = "Please correct your errors."
-args = getFormUidUrlArg(REQUEST)
-args['review_state'] = review_state
+    psm = "Please correct your errors!"
+    args = getFormUidUrlArg(REQUEST)
+
+
+
 args['portal_status_message'] = psm
-if args:
-  url = clear.absolute_url() + action + '?' + urlencode(args)
-else:
-  url = clear.absolute_url() + action
+url = clear.absolute_url() + action + '?' + urlencode(args)
 REQUEST.RESPONSE.redirect(url)
Index: WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_form_manager.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_form_manager.pt	(revision 890)
+++ 	(revision )
@@ -1,59 +1,0 @@
-<tal:block define="
-           info context/getStudentInfo;
-           isManager context/isManager;
-           isStaff context/isStaff;
-           isClearanceOfficer context/isClearanceOfficer;
-           isOwner context/isStudent;
-           edition python:(isOwner or isManager) and not isClearanceOfficer;
-           mode python: test(edition,'edit','view');
-           rendered_main python:info['clear_doc'].render(request=request,
-                                               layout_mode = mode,
-                                               schema_id='student_clearance',
-                                               layout_id='student_clearance',
-                                               use_session=True);
-           form_action string:clearance_edit_manager;
-           creation python:False;
-           review_state info/review_state
-    ">
-<metal:block use-macro="here/waeup_content_master/macros/master">
-  <metal:block fill-slot="header">
-    <span tal:condition="python: not(isStaff or isManager)">
-      <metal:block use-macro="here/error_not_found/macros/not_found" />
-    </span>
-    <span tal:condition="python: isStaff or isManager">
-      <a href=""
-         tal:attributes="href string:${here/academicsParent}">
-        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-        Up one level
-      </a>
-      <h3> 
-        <span tal:condition="info">
-          <span tal:content="info/student/Title" />:
-        </span>
-        <span tal:content="here/title_or_id" />
-      </h3>
-      <br />    
-    </span>
-  </metal:block>
-  <metal:block fill-slot="main">
-    <form action="ACTION" method="post" id="editForm"
-          enctype="multipart/form-data" class="workflow"
-          tal:attributes="action form_action">
-      <div class="group">
-        <div class="documentFields">
-          <tal:block define="getFormUidHtml nocall:modules/Products.CPSDocument.utils/getFormUidHtml"
-                     replace="structure python:getFormUidHtml(request)"/>
-          <input type="hidden" id="button_placeholder" name="button_placeholder" value="" />
-          <div id="rendered_main" tal:content="structure rendered_main">
-            CONTENT
-          </div>
-        </div>
-      </div>
-      <metal:block use-macro="here/clearance_edit_lib/macros/buttons" />
-      </form>
-      <div id="ajax_psm" style="display:none">
-        ajax feedback
-      </div>
-    </metal:block>
-  </metal:block>
-</tal:block>
Index: WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt	(revision 891)
@@ -68,5 +68,5 @@
            value="Reject Clearance" 
            id="reject_clearance_button"
-           tal:condition="python:review_state == 'cleared_and_validated'" />
+           tal:condition="python:review_state in ('cleared_and_validated','clearance_requested',)" />
   </tal:block>
   <!--  isStudent -->
Index: WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_manager.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_manager.py	(revision 890)
+++ 	(revision )
@@ -1,67 +1,0 @@
-## Script (Python) "clearance_edit"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=REQUEST
-##title=
-# $Id: clearance_edit.py 852 2006-11-12 21:21:07Z henrik $
-"""
-"""
-wftool = context.portal_workflow
-from urllib import urlencode
-from Products.CPSDocument.utils import getFormUidUrlArg
-import DateTime
-current = DateTime.DateTime()
-
-cpsdocument_edit_button = REQUEST.has_key('cpsdocument_edit_button')
-cpsdocument_edit_and_view_button = REQUEST.has_key('cpsdocument_edit_and_view_button')
-clear_and_validate_button = REQUEST.has_key('clear_and_validate_button')
-reject_clearance_button = REQUEST.has_key('reject_clearance_button')
-# Until ajax posts directly to its own script...
-##if 'ajax_edit' in REQUEST.form:
-##    return context.cpsdocument_edit_ajax(REQUEST, cluster=cluster)
-
-# Validate the document and write it if it's valid
-# (We don't call getEditableContent here, validate does it when needed.)
-wftool = context.portal_workflow
-info = context.getStudentInfo()
-
-student = info['student']
-app = info['app']
-app_doc = info['app_doc']
-clear = info['clear']
-clear_doc = info['clear_doc']
-review_state = info['review_state']
-
-is_valid, ds = clear_doc.validate(request=REQUEST,
-                                schema_id = 'student_clearance',
-                                layout_id = 'student_clearance',
-                                proxy=clear,
-                                use_session=True)
-
-psm = ""
-args = {}
-action = "/clearance_edit_form_manager"
-if is_valid:
-    if cpsdocument_edit_button:
-        psm = 'Content changed.'
-    elif cpsdocument_edit_and_view_button:
-        wftool.doActionFor(info['clear'],'close')
-        wftool.doActionFor(info['student'],'request_clearance',dest_container=1)
-    elif clear_and_validate_button:
-        wftool.doActionFor(info['student'],'clear_and_validate')
-    elif reject_clearance_button:
-        wftool.doActionFor(info['clear'],'open')
-        wftool.doActionFor(info['student'],'reject_clearance')
-else:
-    psm = "Please correct your errors."
-args = getFormUidUrlArg(REQUEST)
-args['review_state'] = review_state
-args['portal_status_message'] = psm
-if args:
-  url = clear.absolute_url() + action + '?' + urlencode(args)
-else:
-  url = clear.absolute_url() + action
-REQUEST.RESPONSE.redirect(url)
Index: WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 891)
@@ -2,5 +2,5 @@
                         is_manager info/is_manager|nothing;
                         is_student info/is_student|nothing;
-                        s_info context/getStudentInfo;">
+                        ">
   <metal:body use-macro="here/waeup_content_master/macros/master">
     <metal:main fill-slot="main">
@@ -22,6 +22,6 @@
 
         <h3> 
-           <span tal:condition="python:is_manager and s_info">
-             <span tal:content="s_info/student/Title" />:
+           <span tal:condition="python:is_manager and info">
+             <span tal:content="info/student/Title" />:
            </span>
            <span tal:condition="python:is_student">
Index: WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 891)
+++ WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 891)
@@ -0,0 +1,76 @@
+<metal:html tal:define="member python:context.portal_membership.getAuthenticatedMember();
+                        info context/getStudentInfo;
+                        is_manager info/is_manager|nothing;
+                        is_student info/is_student|nothing;
+                        ">
+  <metal:body use-macro="here/main_template/macros/master">
+    <metal:main fill-slot="main">
+      <span tal:condition="not: info">
+        <metal:block use-macro="here/error_not_found/macros/not_found" />
+      </span>
+    
+      <span tal:condition="info/app_doc/app_email">     
+      <h3>Contact Student</h3>
+      <br />
+      <span tal:condition="info">
+      <span tal:condition="not:info/app_doc/app_email"> 
+      Sorry, the student did not provide an email address.
+      </span>
+      <form id="form1" name="form1" method="post" action="mail2student">
+
+      <input type="hidden" name="co_name" type="text" id="co_name"
+             tal:attributes="value python:member.getProperty('fullname',None)"/>
+      <input type="hidden" name="co_email" type="text" id="co_email"
+             tal:attributes="value python:member.getProperty('email',None)"/>             
+      <input type="hidden" name="student_email" type="text" id="student_email"
+             tal:attributes="value info/app_doc/app_email"/>                   
+
+      <table width="100%" border="0" cellspacing="5" cellpadding="0">
+        <tr>
+          <td width="150px">
+             <strong>Student's Name: </strong>
+          </td>
+          <td>
+             <span tal:content="info/student/Title" />
+          </td>
+        </tr>
+        <tr>
+          <td>
+             <strong>Student's Email: </strong>
+          </td>
+          <td>
+             <span tal:content="info/app_doc/app_email" />
+          </td>
+        </tr>
+        <tr>
+          <td>
+             <strong>Type of Rejection: </strong>
+          </td>
+          <td>
+              <select name="probtype" class="boxgreen" id="probtype">
+                <option>Clearance request rejected</option>
+              </select>        
+          </td>
+        </tr>        
+        <tr>
+          <td valign="top">
+             <strong>Your Message:</strong>
+          </td>
+          <td>
+             <textarea name="commt" rows="10" cols="60" id="commt"></textarea>
+          </td>
+        </tr>
+        <tr>
+          <td>&nbsp;</td>
+          <td><input name="Submit" type="submit" class="standalone" value="Submit" /><br /><br /></td>
+        </tr>
+      </table>
+      </form>
+      </span>
+      <form action="." method="post" class="group">
+            <input type="submit" name="student_index:method"
+                       class="context" value="Continue" />      
+      </span>
+    </metal:main>
+  </metal:body>
+</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_student/mail2student.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/mail2student.py	(revision 891)
+++ WAeUP_SRP/trunk/skins/waeup_student/mail2student.py	(revision 891)
@@ -0,0 +1,47 @@
+## Script (Python) "mail2student"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=co_name=None,co_email=None,student_email=None,probtype=None,commt=None
+##title=
+##
+# $Id: mail2admin.py 869 2006-11-15 13:46:49Z henrik $
+
+mhost = context.MailHost
+prop = context.portal_properties
+
+# the message format, %s will be filled in from data
+
+message = """
+From: %s <%s>
+To: %s
+Cc: %s
+Bcc: %s
+Reply-To: %s
+Subject: %s
+%s
+"""
+
+#prop.email_from_address should be used for To:
+
+msg = message % (
+     co_name,
+     co_email,
+     student_email,	
+     co_email,
+     'henrik@waeup.org',
+#    'js@aixtraware.de',
+     co_email,
+     probtype,
+     commt,
+     )
+mhost.send(msg)
+
+REQUEST = context.REQUEST
+RESPONSE = REQUEST.RESPONSE
+
+redirect_url = REQUEST.HTTP_REFERER
+redirect_url = '%s/?%s' % (redirect_url,'portal_status_message=Your message has been sent!')
+RESPONSE.redirect(redirect_url)
Index: WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt	(revision 891)
+++ WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt	(revision 891)
@@ -0,0 +1,68 @@
+<metal:html tal:define="info options/info|context/getStudentInfo;
+                        review_state info/review_state">
+  <metal:body use-macro="here/waeup_content_master/macros/master">
+    <metal:main fill-slot="main">
+    
+      <div style="text-align: right"
+           tal:condition="python:review_state in ('admitted', 'clearance_pin_entered', 'clearance_requested', 'cleared', 'objection_raised',)">
+      <a href="" target="slip" tal:attributes="href string:admission_slip"
+          onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
+          <img tal:attributes="src string:${here/portal_url}/actionicon_print.png" />
+          Admission Slip
+      </a>
+      </div>        
+    
+      <h3>You raised an objection, please explain why!</h3>
+      
+      <br />      
+      
+      <form id="form1" name="form1" method="post" action="mail2admin">
+      <input type="hidden" name="regno" type="text" id="regno"
+             tal:attributes="value info/id"/>
+      <input type="hidden" name="probtype" type="text" id="regno"
+             tal:attributes="value string:Objection Raised"/>             
+      <table width="100%" border="0" cellspacing="5" cellpadding="0">
+        <tr>
+          <td width="150px">
+             <strong>Full Name: </strong>
+          </td>
+          <td>
+             <input name="fullname" type="text" id="fullname" size="30"
+                    tal:attributes="value info/student/Title"/>
+          </td>
+        </tr>
+        <tr>
+          <td>
+             <strong>Email: </strong>
+          </td>
+          <td>
+             <input name="email" type="text" id="email"  size="30"
+                    tal:attributes="value info/app_doc/app_email"/>
+          </td>
+        </tr>
+        <tr>
+          <td valign="top">
+             <strong>Reason: </strong>
+          </td>
+          <td>
+             <textarea name="descr" rows="10" cols="60" id="descr"></textarea>
+          </td>
+        </tr>
+      
+        <tr>
+          <td>&nbsp;</td>
+          <td><input name="Submit" type="submit" class="standalone" value="Submit" /><br /><br /></td>
+        </tr>
+      </table>
+      </form>
+      
+      
+      
+      
+      <form action="." method="post" class="group">
+            <input type="submit" name="application_edit:method"
+                       class="context" value="Continue" />
+       </form>      
+    </metal:main>
+  </metal:body>
+</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_student/objection_raised_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/objection_raised_view.pt	(revision 890)
+++ 	(revision )
@@ -1,68 +1,0 @@
-<metal:html tal:define="info options/info|context/getStudentInfo;
-                        review_state info/review_state">
-  <metal:body use-macro="here/waeup_content_master/macros/master">
-    <metal:main fill-slot="main">
-    
-      <div style="text-align: right"
-           tal:condition="python:review_state in ('admitted', 'clearance_pin_entered', 'clearance_requested', 'cleared', 'objection_raised',)">
-      <a href="" target="slip" tal:attributes="href string:admission_slip"
-          onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          <img tal:attributes="src string:${here/portal_url}/actionicon_print.png" />
-          Admission Slip
-      </a>
-      </div>        
-    
-      <h3>You raised an objection, please explain why!</h3>
-      
-      <br />      
-      
-      <form id="form1" name="form1" method="post" action="mail2admin">
-      <input type="hidden" name="regno" type="text" id="regno"
-             tal:attributes="value info/id"/>
-      <input type="hidden" name="probtype" type="text" id="regno"
-             tal:attributes="value string:Objection Raised"/>             
-      <table width="100%" border="0" cellspacing="5" cellpadding="0">
-        <tr>
-          <td width="150px">
-             <strong>Full Name: </strong>
-          </td>
-          <td>
-             <input name="fullname" type="text" id="fullname" size="30"
-                    tal:attributes="value info/student/Title"/>
-          </td>
-        </tr>
-        <tr>
-          <td>
-             <strong>Email: </strong>
-          </td>
-          <td>
-             <input name="email" type="text" id="email"  size="30"
-                    tal:attributes="value info/app_doc/app_email"/>
-          </td>
-        </tr>
-        <tr>
-          <td valign="top">
-             <strong>Reason: </strong>
-          </td>
-          <td>
-             <textarea name="descr" rows="10" cols="60" id="descr"></textarea>
-          </td>
-        </tr>
-      
-        <tr>
-          <td>&nbsp;</td>
-          <td><input name="Submit" type="submit" class="standalone" value="Submit" /><br /><br /></td>
-        </tr>
-      </table>
-      </form>
-      
-      
-      
-      
-      <form action="." method="post" class="group">
-            <input type="submit" name="application_edit:method"
-                       class="context" value="Continue" />
-       </form>      
-    </metal:main>
-  </metal:body>
-</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_student/raise_objection.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/raise_objection.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/raise_objection.py	(revision 891)
@@ -24,3 +24,3 @@
 info['app_doc'].edit(mapping={'objection_date':current,})
 wf.doActionFor(info['student'],'raise_objection')
-return context.objection_raised_view(info=info)
+return context.objection_raised_form(info=info)
Index: WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py	(revision 891)
@@ -171,5 +171,5 @@
             info = context.getStudentInfo(item)
             students.append(info)
-                
+
     return context.students_manager_view(rendered = rend,
                              psm = "",
@@ -182,5 +182,6 @@
                              )
 return context.students_manager_view(rendered = rend,
-                             psm = """Step: %s found: %s Your search for "%s" in %s with state %s failed.<br\>%s""" % (query_step,len(items),st,what,state,bools),
+                             psm = "No student found!",
+                             #psm = """Step: %s found: %s Your search for "%s" in %s with state %s failed.<br\>%s""" % (query_step,len(items),st,what,state,bools),
                              students = students,
                              allowed = True,
Index: WAeUP_SRP/trunk/skins/waeup_student/student_index.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/student_index.py	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/student_index.py	(revision 891)
@@ -1,3 +1,3 @@
-## Script (Python) "student_indext"
+## Script (Python) "student_index"
 ##bind container=container
 ##bind context=context
@@ -25,5 +25,5 @@
         return context.study_level_view()
     elif context.portal_type == 'StudentClearance':
-        return context.clearance_view()
+        return context.clearance_edit_form()
     elif context.portal_type == 'Student':
     	return redirect("%s/student_view" % context.absolute_url())
@@ -32,15 +32,3 @@
     info = context.getStudentInfo()
     student = info['student']
-    #doc = info['app_doc']
-    #state = context.getStudentInfo()['review_state']
-    #if state == 'admission_applied':
-    #    return redirect("%s/application_view" % student.absolute_url())
-    #elif state in ('application_pin_entered',):
-    #    return redirect("%s/application_edit" % info['app'].absolute_url())
-    #elif state in ('admitted',):
-    #    return redirect("%s/admission_form" % student.absolute_url())
-    #elif state == 'clearance_pin_entered':
-    #    return redirect("%s/student_view" % info['clear'].absolute_url())
-    #elif context.portal_type == 'StudentStudyLevel':
-    #    return context.study_level_student_view()
     return redirect("%s/student_view" % student.absolute_url())
Index: WAeUP_SRP/trunk/skins/waeup_student/students_manager_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/students_manager_view.pt	(revision 890)
+++ WAeUP_SRP/trunk/skins/waeup_student/students_manager_view.pt	(revision 891)
@@ -64,5 +64,5 @@
                 <td><span tal:replace="python: student['app_doc'].jamb_reg_no" /></td>    
                 <td tal:condition="options/co_view|nothing"><a href="id" 
-                       tal:attributes="href string:${student/student/clearance/absolute_url}/clearance_edit_form_manager"
+                       tal:attributes="href string:${student/student/clearance/absolute_url}/clearance_edit_form"
                        tal:content="student/review_state"></a></td>    
                 <td tal:condition="not: options/co_view|nothing"><span tal:replace="student/review_state" /></td>   
