Index: WAeUP_SRP/trunk/skins/waeup_student/apply_pume.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/apply_pume.py	(revision 2158)
+++ WAeUP_SRP/trunk/skins/waeup_student/apply_pume.py	(revision 2159)
@@ -22,4 +22,7 @@
 logger = logging.getLogger('Skins.apply_pume')
 
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+
 current = DateTime.DateTime()
 pr = context.portal_registration
@@ -33,12 +36,13 @@
 edit = "edit" in request.keys()
 slip = "slip" in request.keys()
+manage = "manage" in request.keys()
 submitted = False
 mode = request.get('mode','')
 if not mode:
-    if apply_pume or edit:
+    if apply_pume or edit or manage:
         mode = "edit"
     else:
         mode = "create"
-validate = create or edit or apply_pume
+validate = create or edit or apply_pume or manage
 
 lt = context.portal_layouts
@@ -57,10 +61,10 @@
         if object['status'] == "submitted":
             submitted = True
-        if not create and pin != object['pin']:
-            logger.info('%s entered wrong pin %s' % (reg_no,pin))
+        if not create and (pin != object['pin'] and not context.isSectionOfficer()):
+            logger.info('%s/%s entered wrong pin %s' % (member,reg_no,pin))
             return request.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
 if slip:
     mode = "view_slip"
-    logger.info('%s views application slip' % (reg_no))
+    logger.info('%s/%s views application slip' % (member,reg_no))
 res,psm,ds = lt.renderLayout(layout_id= 'application',
                              schema_id= 'application',
@@ -105,5 +109,5 @@
         mode = "view"
         psm = "The form has already been submitted and you are not allowed to resubmit the data!"
-        logger.info('%s tried to resubmit application record' % (reg_no))
+        logger.info('%s/%s tried to resubmit application record' % (member,reg_no))
         res,psm_dummy,ds_dummy = lt.renderLayout(layout_id= 'application',
                                 schema_id= 'application',
@@ -114,12 +118,8 @@
                                 commit = False,
                                 )
-    # elif not dm.get('passport'):
-    #     mode = "edit"
-    #     psm = "Please upload Passport Photograph!"
-    #     logger.info('%s tried to submit without uploading a passport foto' % (reg_no))
     elif not request.has_key('confirm'):
         mode = "edit"
         psm = "Please confirm Passport Photograph!"
-        logger.info('%s tried to submit without ticking confirmation check box' % (reg_no))
+        logger.info('%s/%s tried to submit without ticking confirmation check box' % (member,reg_no))
     else:
         mode = "view"
@@ -128,5 +128,5 @@
         data['status'] = "submitted"
         context.applicants_catalog.modifyRecord(**data)
-        logger.info('%s modified and submitted application record' % (reg_no))
+        logger.info('%s/%s modified and submitted application record' % (member,reg_no))
         res,psm_dummy,ds = lt.renderLayout(layout_id= 'application',
                                 schema_id= 'application',
@@ -140,8 +140,8 @@
     if submitted:
         mode = "view"
-        logger.info('%s views application record' % (reg_no))
-    else:
-        mode = "edit"
-        logger.info('%s edits application record' % (reg_no))
+        logger.info('%s/%s views application record' % (member,reg_no))
+    else:
+        mode = "edit"
+        logger.info('%s/%s edits application record' % (member,reg_no))
     psm = ""
     #set_trace()
@@ -159,5 +159,5 @@
         mode = "view"
         psm = "The form has already been submitted and you are not allowed to modify the data!"
-        logger.info('%s tried to edit submitted application record' % (reg_no))
+        logger.info('%s/%s tried to edit submitted application record' % (member,reg_no))
         res,psm_dummy,ds_dummy = lt.renderLayout(layout_id= 'application',
                                 schema_id= 'application',
@@ -173,6 +173,25 @@
         data['status'] = "edited"
         context.applicants_catalog.modifyRecord(**data)
-        logger.info('%s modified application record' % (reg_no))
-
+        logger.info('%s/%s modified application record' % (member,reg_no))
+
+elif manage:        
+    if submitted:
+        mode = "view"
+        psm = "You are now assuming the applicant's role!"
+        logger.info('%s/%s entered application record' % (member,reg_no))
+        res,psm_dummy,ds_dummy = lt.renderLayout(layout_id= 'application',
+                                schema_id= 'application',
+                                layout_mode = mode,
+                                context=context,
+                                mapping={},
+                                ob=object,
+                                commit = False,
+                                )
+    else:
+        mode = "edit"
+        psm = "You are now assuming the applicant's role!"
+        logger.info('%s/%s entered application record' % (member,reg_no))
+
+   
 
 return context.apply_pume_form(rendered = res,
Index: WAeUP_SRP/trunk/skins/waeup_student/apply_pume_manage_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/apply_pume_manage_form.pt	(revision 2158)
+++ WAeUP_SRP/trunk/skins/waeup_student/apply_pume_manage_form.pt	(revision 2159)
@@ -7,6 +7,5 @@
   <metal:block define-macro="edit_form">
     <metal:block use-macro="here/main_template/macros/master">
-      <metal:block fill-slot="main"
-                   tal:define="info_applicants context/getApplicantsStatistics">
+      <metal:block fill-slot="main">
 
         <form action="" id="editForm" method="post" 
@@ -19,5 +18,5 @@
             <br />
             
-            <table>
+            <table tal:define="info_applicants context/getApplicantsStatistics">
             <tr> 
               <td>Number of records viewed:</td> 
@@ -55,5 +54,5 @@
                    />
             <br /><br />
-
+            
 
             <div class="label">Registration No:</div>
@@ -66,4 +65,21 @@
           </span>
         </form>
+        
+        <br/>
+        
+        <form action="" id="editForm" method="post" 
+            enctype="multipart/form-data" class="workflow"
+            tal:attributes="action string:${context/absolute_url}/apply_pume"
+            >
+        <input type="hidden" name="reg_no"
+               tal:attributes="value ds/reg_no|nothing"
+               tal:condition="ds/reg_no|nothing"/>
+        <input type="submit" 
+               class="standalone" 
+               name="manage"
+               value="Assume the Applicant's Role"
+               />             
+        </form>          
+        
       </metal:block>
     </metal:block>
