Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 16234)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 16235)
@@ -398,8 +398,10 @@
                 # Redirect some officers after login
                 local_roles = get_user_account(self.request).getLocalRoles()
+                site_roles = get_user_account(self.request).roles
                 if local_roles.has_key('waeup.local.Lecturer'):
                     self.redirect(self.application_url() + '/my_courses')
                     return
-                if local_roles.has_key('waeup.local.TranscriptOfficer'):
+                if local_roles.has_key('waeup.local.TranscriptOfficer') \
+                    or 'waeup.TranscriptOfficer' in site_roles:
                     self.redirect(self.application_url() + '/my_transcript_requests')
                     return
@@ -1113,6 +1115,13 @@
             state=(SUBMITTED, SUBMITTED))
         local_roles = self.local_roles.get('waeup.local.TranscriptOfficer', [])
+        submission_date = ''
+        for applicant in results:
+            if 'submitted' in applicant.history.messages[-1]:
+                submission_date = applicant.history.messages[-1][0:10]
+            applicants.append((applicant, submission_date))
+        # Filter applicants with repect to officer's local role in faculties.
         if not local_roles:
-            return results
+            return applicants
+        filtered_applicants = []
         for item in local_roles:
             if isinstance(item, Faculty):
@@ -1120,14 +1129,15 @@
             else:
                 continue
-            for applicant in results:
-                course = getattr(applicant, 'course_studied', None)
-                if not course:
+            for applicant in applicants:
+                course = getattr(applicant[0], 'course_studied', None)
+                if course is None:
+                    filtered_applicants.append(applicant)
                     continue
                 try:
                     if course.__parent__.__parent__.__parent__.code == faccode:
-                        applicants.append(applicant)
+                        filtered_applicants.append(applicant)
                 except AttributeError:
                     continue
-        return applicants
+        return filtered_applicants
 
 class TranscriptSigneeLandingPage(KofaPage):
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/mytranscriptrequests.pt
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/mytranscriptrequests.pt	(revision 16234)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/mytranscriptrequests.pt	(revision 16235)
@@ -8,12 +8,16 @@
     <th i18n:translate="">Applicant Id</th>
     <th i18n:translate="">Full Name</th>
+    <th i18n:translate="">Course Studied</th>
+    <th i18n:translate="">Submission Date</th>
   </tr>
   </thead>
   <tbody>
   <tr tal:repeat="item view/getApplicants">
-    <td> <a tal:attributes="href python:view.url(item)">
-      <span tal:content="item/applicant_id">XXXX_1234</span></a>
+    <td> <a tal:attributes="href python:view.url(item[0])">
+      <span tal:content="python:item[0].applicant_id">XXXX_1234</span></a>
     </td>
-    <td tal:content="item/display_fullname">Bob</td>
+    <td tal:content="python:item[0].display_fullname">Bob</td>
+    <td tal:content="python:getattr(item[0].course_studied,'title',None)">Bob</td>
+    <td tal:content="python:item[1]">Bob</td>
   </tr>
   </tbody>
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py	(revision 16234)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py	(revision 16235)
@@ -379,5 +379,7 @@
         if user_account:
             local_roles = user_account.getLocalRoles()
-            if local_roles.has_key('waeup.local.TranscriptOfficer'):
+            site_roles = user_account.roles
+            if local_roles.has_key('waeup.local.TranscriptOfficer') \
+                or 'waeup.TranscriptOfficer' in site_roles:
                 url = self.view.url(grok.getSite(), self.link)
                 text = translate(self.text, context=self.request)
