Index: main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/browser/templates/mytranscriptrequests.pt
===================================================================
--- main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/browser/templates/mytranscriptrequests.pt	(revision 15161)
+++ main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/browser/templates/mytranscriptrequests.pt	(revision 15162)
@@ -2,21 +2,60 @@
   Transcripts to be validated
 </h3>
-<div tal:repeat="student python:view.getStudents[0]">
-  <a tal:attributes="href python:student.url + '/studycourse/transcript'">
-    <span tal:content="student/display_fullname">FULLNAME</span>
-  </a>
-</div>
+
+<table class="kofa-data-table dataTable" tal:condition="python:view.getStudents[0]">
+  <thead>
+  <tr>
+    <th i18n:translate="">Matric No.</th>
+    <th i18n:translate="">Student Id</th>
+    <th i18n:translate="">Fullname</th>
+    <th i18n:translate="">Faculty</th>
+    <th i18n:translate="">Department</th>
+    <th i18n:translate="">Course of Studies</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr tal:repeat="student python:view.getStudents[0]">
+    <td tal:content="student/context/matric_number">MATRICNUMBER</td>
+    <td>
+      <a tal:attributes="href python:student.url + '/studycourse/transcript'">
+      <span tal:content="student/student_id">STUDENTID</span>
+      </a>
+    </td>
+    <td tal:content="student/context/display_fullname">FULLNAME</td>
+    <td tal:content="student/context/faccode">FACCODE</td>
+    <td tal:content="student/context/depcode">DEPCODE</td>
+    <td tal:content="student/context/certcode">CERTCODE</td>
+  </tr>
+  </tbody>
+</table>
+
 <h3 i18n:domain="waeup.kofa" i18n:translate="" tal:condition="python:view.getStudents[1]">
   Transcripts to be signed and released
 </h3>
-<div tal:repeat="student python:view.getStudents[1]">
-  <a tal:attributes="href python:student.url + '/studycourse/transcript'">
-    <span tal:content="student/display_fullname">FULLNAME</span>
-    (<span tal:content="student/student_id">ID</span> -
-    <span tal:content="student/matric_number">MATRICNUMBER</span>)
-  </a>,
-  <span tal:content="student/context/faccode">FACCODE</span> /
-  <span tal:content="student/context/depcode">DEPCODE</span> /
-  <span tal:content="student/context/certcode">CERTCODE</span>
-</div>
 
+<table class="kofa-data-table dataTable" tal:condition="python:view.getStudents[1]">
+  <thead>
+  <tr>
+    <th i18n:translate="">Matric No.</th>
+    <th i18n:translate="">Student Id</th>
+    <th i18n:translate="">Fullname</th>
+    <th i18n:translate="">Faculty</th>
+    <th i18n:translate="">Department</th>
+    <th i18n:translate="">Course of Studies</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr tal:repeat="student python:view.getStudents[1]">
+    <td tal:content="student/context/matric_number">MATRICNUMBER</td>
+    <td>
+      <a tal:attributes="href python:student.url + '/studycourse/transcript'">
+      <span tal:content="student/student_id">STUDENTID</span>
+      </a>
+    </td>
+    <td tal:content="student/context/display_fullname">FULLNAME</td>
+    <td tal:content="student/context/faccode">FACCODE</td>
+    <td tal:content="student/context/depcode">DEPCODE</td>
+    <td tal:content="student/context/certcode">CERTCODE</td>
+  </tr>
+  </tbody>
+</table>
Index: main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/permissions.py
===================================================================
--- main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/permissions.py	(revision 15161)
+++ main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/permissions.py	(revision 15162)
@@ -158,5 +158,5 @@
 class TranscriptOfficer(grok.Role):
     """The Transcript Officer is allowed to view, to validate and to
-    release student transcripts. The officer is also allowed to
+    release student transcripts. The officer is not allowed to
     manage student data.
     """
@@ -168,5 +168,4 @@
                      'waeup.viewStudent',
                      'waeup.viewStudentsContainer',
-                     'waeup.manageStudent',
                      )
 
Index: main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/tests/test_browser.py
===================================================================
--- main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/tests/test_browser.py	(revision 15161)
+++ main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/students/tests/test_browser.py	(revision 15162)
@@ -2127,5 +2127,5 @@
             'Comment line2\n\nDispatch Address:\nAddress line 1 \n'
             'Address line2\n\n')
-        # Create transcript officer
+        # Create officer with both roles
         self.app['users'].addUser('mrtranscript', 'mrtranscriptsecret')
         self.app['users']['mrtranscript'].email = 'mrtranscript@foo.ng'
@@ -2133,5 +2133,7 @@
         prmglobal = IPrincipalRoleManager(self.app)
         prmglobal.assignRoleToPrincipal('waeup.TranscriptOfficer', 'mrtranscript')
-        # Login as transcript officer
+        prmglobal.assignRoleToPrincipal('waeup.StudentsManager', 'mrtranscript')
+        prmglobal.assignRoleToPrincipal('waeup.TranscriptSignee', 'mrtranscript')
+        # Login
         self.browser.open(self.login_path)
         self.browser.getControl(name="form.login").value = 'mrtranscript'
@@ -2186,9 +2188,11 @@
         self.browser.open(self.studycourse_path + '/100/COURSE1/manage')
         self.assertTrue('The requested form is locked' in self.browser.contents)
+
         # Transcript can be signed if officer has the permission to sign
-        self.browser.open(self.studycourse_path + '/transcript')
-        self.assertFalse('Sign transcript' in self.browser.contents)
-        prmglobal = IPrincipalRoleManager(self.app)
-        prmglobal.assignRoleToPrincipal('waeup.TranscriptSignee', 'mrtranscript')
+        #self.browser.open(self.studycourse_path + '/transcript')
+        #self.assertFalse('Sign transcript' in self.browser.contents)
+        #prmglobal = IPrincipalRoleManager(self.app)
+        #prmglobal.assignRoleToPrincipal('waeup.TranscriptSignee', 'mrtranscript')
+
         self.browser.open(self.studycourse_path + '/transcript')
         self.browser.getLink("Sign transcript electronically").click()
@@ -2249,5 +2253,5 @@
         self.assertEqual(self.browser.headers['Content-Type'],
                          'application/pdf')
-        # Transcript views are no longer accesssible
+        # Transcript views are no longer accessible
         self.browser.open(self.studycourse_path)
         self.assertFalse('studycourse/transcript' in self.browser.contents)
@@ -2289,5 +2293,5 @@
             'http://localhost/app/students/K1000000/studycourse/transcript'
             in self.browser.contents)
-        self.browser.getLink("Anna Tester").click()
+        self.browser.getLink("K1000000").click()
         self.assertTrue(
             'Anna Tester: Transcript Data' in self.browser.contents)
@@ -2329,5 +2333,5 @@
             'http://localhost/app/students/K1000000/studycourse/transcript'
             in self.browser.contents)
-        self.browser.getLink("Anna Tester").click()
+        self.browser.getLink("K1000000").click()
         self.assertTrue(
             'Anna Tester: Transcript Data' in self.browser.contents)
