Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 10464)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 10465)
@@ -270,4 +270,7 @@
             self.searchtype = form['searchtype']
             self.searchterm = None
+        if form.get('searchtype', None) == 'transcript':
+            self.searchtype = form['searchtype']
+            self.searchterm = None
         elif 'searchterm' in form and form['searchterm']:
             self.searchterm = form['searchterm']
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/containerpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/containerpage.pt	(revision 10464)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/containerpage.pt	(revision 10465)
@@ -15,4 +15,7 @@
     <option i18n:translate="" value="suspended">
       with deactivated account (search term omitted)
+    </option>
+    <option i18n:translate="" value="transcript">
+      who requested transcript (search term omitted)
     </option>
   </select>
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/catalog.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/catalog.py	(revision 10464)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/catalog.py	(revision 10465)
@@ -88,4 +88,8 @@
                 hitlist.append(StudentQueryResultItem(student, view=view))
         return hitlist
+    elif searchtype == 'transcript':
+        cat = queryUtility(ICatalog, name='students_catalog')
+        results = cat.searchResults(
+            state=('transcript requested', 'transcript requested'))
     else:
         # Temporary solution to display all students added
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/permissions.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/permissions.py	(revision 10464)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/permissions.py	(revision 10465)
@@ -94,4 +94,15 @@
                      'waeup.viewStudentsTab', 'waeup.handleAccommodation')
 
+class TranscriptOfficer(grok.Role):
+    grok.name('waeup.TranscriptOfficer')
+    grok.title(u'Transcript Officer')
+    grok.permissions('waeup.viewAcademics',
+                     'waeup.viewTranscript',
+                     'waeup.viewStudent',
+                     'waeup.viewStudents',
+                     'waeup.viewStudentsTab',
+                     'waeup.viewStudentsContainer',
+                     )
+
 class StudentsClearanceOfficer(grok.Role):
     grok.name('waeup.StudentsClearanceOfficer')
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 10464)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 10465)
@@ -1926,4 +1926,5 @@
     def test_process_transcript_request(self):
         IWorkflowState(self.student).setState('transcript requested')
+        notify(grok.ObjectModifiedEvent(self.student))
         self.student.transcript_comment = (
             u'On 07/08/2013 08:59:54 UTC K1000000 wrote:\n\nComment line 1 \n'
@@ -1947,5 +1948,10 @@
             '...<div>Transcript Officer</div>...',
             self.browser.contents)
-        self.browser.open(self.student_path)
+        # Officer can search for students in state 'transcripr requested'
+        self.browser.open(self.container_path)
+        self.browser.getControl(name="searchtype").value = ['transcript']
+        self.browser.getControl("Search").click()
+        self.assertTrue('Anna Tester' in self.browser.contents)
+        self.browser.getLink("K1000000").click()
         self.browser.getLink("Manage transcript request").click()
         self.assertTrue(' UTC K1000000 wrote:<br><br>Comment line 1 <br>'
