Index: main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 11452)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 11483)
@@ -79,6 +79,11 @@
                 if ticket.code != code:
                     continue
-                if level is not None and int(level) != level_obj.level:
-                    continue
+                if level is not None:
+                    level = int(level)
+                    if level_obj.level in (10, 999, None)  \
+                        and int(level) != level_obj.level:
+                        continue
+                    if level_obj.level not in range(level, level+100, 10):
+                        continue
                 if level_session is not None and \
                     int(level_session) != level_obj.level_session:
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 11452)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 11483)
@@ -207,8 +207,8 @@
             current_session=2012, current_level=None)
         result2 = open(self.outfile, 'rb').read()
-        # current_level can be both a string ...
+        # current_level and current_session can be both a string ...
         exporter.export_filtered(
             self.app, self.outfile,
-            current_session=None, current_level=u'200')
+            current_session='2012', current_level=u'200')
         result3 = open(self.outfile, 'rb').read()
         exporter.export_filtered(
@@ -221,9 +221,25 @@
             current_session=None, current_level=100)
         result5 = open(self.outfile, 'rb').read()
+        # Also students at probating levels are being exported ...
+        self.student['studycourse'].current_level = 210
+        notify(grok.ObjectModifiedEvent(self.student))
+        exporter.export_filtered(
+            self.app, self.outfile,
+            current_session=None, current_level=200)
+        result6 = open(self.outfile, 'rb').read()
+        # ... but not in the wrong level range.
+        self.student['studycourse'].current_level = 310
+        notify(grok.ObjectModifiedEvent(self.student))
+        exporter.export_filtered(
+            self.app, self.outfile,
+            current_session=None, current_level=200)
+        result7 = open(self.outfile, 'rb').read()
         self.assertTrue(self.std_csv_entry in result1)
         self.assertTrue(self.std_csv_entry in result2)
         self.assertTrue(self.std_csv_entry in result3)
-        self.assertTrue(self.std_csv_entry not in result4)
-        self.assertTrue(self.std_csv_entry not in result5)
+        self.assertFalse(self.std_csv_entry in result4)
+        self.assertFalse(self.std_csv_entry in result5)
+        self.assertTrue(self.std_csv_entry in result6)
+        self.assertFalse(self.std_csv_entry in result7)
         return
 
@@ -467,5 +483,5 @@
         exporter = StudentStudyLevelExporter()
         exporter.export_filtered(
-            self.student, self.outfile, current_level=200)
+            self.student, self.outfile)
         result = open(self.outfile, 'rb').read()
         self.assertEqual(
@@ -569,5 +585,5 @@
         exporter = CourseTicketExporter()
         exporter.export_filtered(
-            self.student, self.outfile, current_level=200)
+            self.student, self.outfile)
         result = open(self.outfile, 'rb').read()
         self.assertEqual(
@@ -596,4 +612,17 @@
             'automatic,carry_over,code,credits,dcode,fcode,level,level_session,'
             'mandatory,passmark,score,semester,title,student_id,certcode\r\n'
+            )
+        # Also tickets in probating levels are exported. Therefore
+        # we change the level attribute to fake a 110 level.
+        self.student['studycourse']['100'].level = 110
+        notify(grok.ObjectModifiedEvent(self.student['studycourse']['100']['CRS1']))
+        exporter.export_filtered(
+            self.student, self.outfile, catalog='coursetickets', code='CRS1', level='100')
+        result = open(self.outfile, 'rb').read()
+        self.assertEqual(
+            result,
+            'automatic,carry_over,code,credits,dcode,fcode,level,level_session,'
+            'mandatory,passmark,score,semester,title,student_id,certcode\r\n'
+            '1,1,CRS1,100,DEP1,FAC1,110,2012,0,100,,2,Course 1,A111111,CERT1\r\n'
             )
         return
