Index: /WAeUP_SRP/trunk/profiles/default/actionicons.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/actionicons.xml	(revision 1337)
+++ /WAeUP_SRP/trunk/profiles/default/actionicons.xml	(revision 1338)
@@ -244,5 +244,5 @@
               action_id="payments"
               title="My Payments" priority="3"
-              icon_expr="blank.gif"/>              
+              icon_expr="blank.gif"/>
  <action-icon category="student_navigation"
               action_id="prospectus" title="Prospectus"
@@ -275,4 +275,8 @@
               title="Register Courses" priority="5"
               icon_expr="bell.png"/>
+ <action-icon category="student" action_id="request_transfer"
+              title="Request Transfer" priority="6"
+              icon_expr="arrow_switch.png"/>
+
  <action-icon category="global" action_id="members"
               title="Portal Members" priority="5"
Index: /WAeUP_SRP/trunk/profiles/default/actions.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 1337)
+++ /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 1338)
@@ -43,4 +43,7 @@
      condition_expr="member" url_expr="string:${portal_url}/logout"
      visible="True"/>
+  <action title="Request Transfer" action_id="request_transfer" category="student"
+     condition_expr="python: here.getStudentWorkflowInfo()['cr']" url_expr="string:${portal_url}/request_transfer"
+     visible="True"/>     
  </action-provider>
  <action-provider name="portal_actions">
@@ -195,5 +198,5 @@
   <action title="My Payments" action_id="payments"
      category="student_navigation" condition_expr="member"
-     url_expr="string:${portal_url}/campus/students/${here/getStudentId}/payments" visible="True"/>
+     url_expr="string:${portal_url}/campus/students/${member}/payments" visible="True"/>
   <action title="Register Courses" action_id="register_courses"
      category="student" condition_expr="member"
Index: /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py	(revision 1338)
@@ -22,5 +22,5 @@
     return context.REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
 #student = getattr(students,student_id)
-s_brain = context.students_catalog(id = student_id)[0] 
+s_brain = context.students_catalog(id = student_id)[0]
 payments = []
 #from Products.zdb import set_trace;set_trace()
@@ -31,5 +31,5 @@
     if res:
         title = res[0].Title
-        d['title'] = title or o_id 
+        d['title'] = title or o_id
     else:
         d['title'] = "no Title"
Index: /WAeUP_SRP/trunk/skins/waeup_student/getTransferInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getTransferInfo.py	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getTransferInfo.py	(revision 1338)
@@ -13,5 +13,5 @@
 """
 import logging
-logger = logging.getLogger('Student.Clearance.Info')
+logger = logging.getLogger('Student.Transfer.Info')
 from DateTime import DateTime
 
@@ -42,13 +42,13 @@
 student = getattr(students_object,student_id)
 payments = getattr(student,'payments').objectIds()
-info['payed'] = False
+info['paid'] = False
 for payment in payments:
     if payment.startswith('transfer'):
-        info['payed'] = True
+        info['paid'] = True
         payments_obj = getattr(student,'payments')
         payment_obj = getattr(payments_obj,payment)
         info['pin'] = payment_obj.getContent().order_id
         break
-        
+
 
 #student = getattr(students_object, student_id)
@@ -64,10 +64,10 @@
 if len(results) > 0:
     for r in results:
-        taken.append(r)	
+        taken.append(r)
 info['taken'] = taken
 
 # for testing of transfer forms
-info['payed'] = True
-info['pin'] = 'CLR-1-0123456789'      
+info['paid'] = True
+info['pin'] = 'CLR-1-0123456789'
 
 
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt	(revision 1338)
@@ -4,8 +4,8 @@
 
               
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>       
-    <span tal:condition="python: info['payed']">   
+    <span tal:condition="python: info['paid']">   
     <h3><center>INTER-FACULTY TRANSFER, 2006/2007 SESSION</center></h3>
     <h3><center>- APPLICATION FORM -</center></h3>
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt	(revision 1338)
@@ -3,8 +3,8 @@
               tal:define="info context/getTransferInfo">
 
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>                
-    <span tal:condition="python: info['payed']">                 
+    <span tal:condition="python: info['paid']">                 
 
     <center><font color="red"><span tal:content="info/pin"/></font></center>
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt	(revision 1338)
@@ -3,8 +3,8 @@
               tal:define="info context/getTransferInfo">
 
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>                
-    <span tal:condition="python: info['payed']">                 
+    <span tal:condition="python: info['paid']">                 
 
     <center><font color="red"><span tal:content="info/pin"/></font></center>
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt	(revision 1338)
@@ -4,8 +4,8 @@
 
               
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>       
-    <span tal:condition="python: info['payed']">   
+    <span tal:condition="python: info['paid']">   
     <h3><center>INTER DEPARTMENTAL TRANSFER, 2006/2007 SESSION</center></h3>
     <h3><center>- APPLICATION FORM -</center></h3>
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt	(revision 1338)
@@ -3,8 +3,8 @@
               tal:define="info context/getTransferInfo">
 
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>                
-    <span tal:condition="python: info['payed']">                 
+    <span tal:condition="python: info['paid']">                 
 
     <center><font color="red"><span tal:content="info/pin"/></font></center>
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt	(revision 1338)
@@ -3,8 +3,8 @@
               tal:define="info context/getTransferInfo">
 
-    <span tal:condition="python: not info or not info['payed']">
+    <span tal:condition="python: not info or not info['paid']">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>                
-    <span tal:condition="python: info['payed']">                 
+    <span tal:condition="python: info['paid']">                 
 
     <center><font color="red"><span tal:content="info/pin"/></font></center>
Index: /WAeUP_SRP/trunk/skins/waeup_student/request_transfer.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/request_transfer.py	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/request_transfer.py	(revision 1338)
@@ -14,5 +14,5 @@
 import logging
 from urllib import urlencode
-logger = logging.getLogger('EPayment.')
+logger = logging.getLogger('Student.Transfer.Request')
 import DateTime
 lt = context.portal_layouts
@@ -20,5 +20,15 @@
 students = context.portal_url.getPortalObject().campus.students
 
-student_id = context.getStudentId()
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+member_id = str(member)
+requested_id = context.getStudentId()
+if requested_id and not context.isStaff() and member_id != requested_id:
+    logger.info('"%s", "accessed application object of", "%s"' % (member_id,requested_id))
+    student_id = requested_id
+elif context.isStaff():
+    student_id = requested_id
+else:
+    student_id = member_id
 if student_id is None:
     return request.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
@@ -27,17 +37,18 @@
 sbrain = context.students_catalog(id=student_id)[0]
 payments = getattr(student,'payments').objectIds()
-payed = False
+paid = False
 for payment in payments:
     if payment.startswith('transfer'):
-        payed = True
+        paid = True
         break
 
 # for testing of transfer forms
-payed = True      
-        
-if payed:
+paid = True
+
+if paid:
+    logger.info('"%s", "opened (paid) request transfer form of", "%s"' % (member_id,student_id))
     return context.request_transfer_form(rendered = None,
                                  psm = None,
-                                 payed = True,
+                                 paid = True,
                                  )
 
@@ -94,5 +105,5 @@
 return context.request_transfer_form(rendered = None,
                                  psm = None,
-                                 payed = True,
+                                 paid = True,
                                  )
 
Index: /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt	(revision 1337)
+++ /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt	(revision 1338)
@@ -3,5 +3,5 @@
                     tal:define="rendered_main options/rendered;
                             portal_status_message options/psm;
-                            payed options/payed|nothing;">
+                            paid options/paid|nothing;">
 
 
@@ -12,5 +12,5 @@
         </span>          
 
-        <span tal:condition="payed">
+        <span tal:condition="paid">
           <h3>Print Your Transfer Form!</h3>
           <br />
