Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8081)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8082)
@@ -225,4 +225,10 @@
                 self.flash(_('Empty search string'))
             return
+        if self.searchtype == 'current_session':
+            try:
+                self.searchterm = int(self.searchterm)
+            except ValueError:
+                self.flash('Only year dates allowed (e.g. 2011).')
+                return
         if not 'entries' in form:
             self.hitlist = search(query=self.searchterm,
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 8081)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 8082)
@@ -279,4 +279,15 @@
         self.browser.getControl("Search").click()
         self.assertTrue('Anna Tester' in self.browser.contents)
+        # Session fileds require integer values
+        self.browser.open(self.container_path)
+        self.browser.getControl(name="searchtype").value = ['current_session']
+        self.browser.getControl(name="searchterm").value = '2004/2005'
+        self.browser.getControl("Search").click()
+        self.assertTrue('Only year dates allowed' in self.browser.contents)
+        self.browser.open(self.manage_container_path)
+        self.browser.getControl(name="searchtype").value = ['current_session']
+        self.browser.getControl(name="searchterm").value = '2004/2005'
+        self.browser.getControl("Search").click()
+        self.assertTrue('Only year dates allowed' in self.browser.contents)
 
         # We can find a student in a certain study_mode
@@ -338,4 +349,19 @@
         self.assertTrue('Anna Tester' in self.browser.contents)
         # The old searchterm will be used again
+        self.browser.getControl("Search").click()
+        self.assertTrue('Anna Tester' in self.browser.contents)
+
+        # The catalog is informed when studycourse objects have been
+        # edited
+        self.browser.open(self.studycourse_path + '/manage')
+        self.browser.getControl(name="form.current_session").value = ['2010']
+        self.browser.getControl(name="form.entry_session").value = ['2010']
+        self.browser.getControl(name="form.entry_mode").value = ['ug_ft']
+        self.browser.getControl("Save").click()
+
+        # We can find the student in the new session
+        self.browser.open(self.manage_container_path)
+        self.browser.getControl(name="searchtype").value = ['current_session']
+        self.browser.getControl(name="searchterm").value = '2010'
         self.browser.getControl("Search").click()
         self.assertTrue('Anna Tester' in self.browser.contents)
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_catalog.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_catalog.py	(revision 8081)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_catalog.py	(revision 8082)
@@ -63,4 +63,5 @@
         self.student = self.app['students'][self.student_id]
         self.student['studycourse'].certificate = self.certificate
+        self.student['studycourse'].current_session = 2010
         # Update the students_catalog
         notify(grok.ObjectModifiedEvent(self.student))
@@ -128,4 +129,12 @@
         assert results[0] is self.app['students'][self.student_id]
 
+    def test_search_by_session(self):
+        # We can find a student in a certain session
+        cat = queryUtility(ICatalog, name='students_catalog')
+        results = cat.searchResults(current_session=(2010,2010))
+        results = [x for x in results] # Turn results generator into list
+        assert len(results) == 1
+        assert results[0] is self.app['students'][self.student_id]
+
 class CourseTicketCatalogTests(CatalogTestSetup):
 
