Index: main/waeup.kofa/trunk/src/waeup/kofa/students/reports/session_results_presentation.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/reports/session_results_presentation.py	(revision 14901)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/reports/session_results_presentation.py	(revision 14914)
@@ -107,5 +107,5 @@
         students_utils = getUtility(IStudentsUtils)
         table = list()
-        for i in range(len(students_utils.gpa_boundaries)+1):
+        for i in range(len(students_utils.GPABoundaries())+1):
             # The last list is reserved for students with more than one
             # level in the same session.
@@ -137,9 +137,9 @@
                 if itemcount > 1:
                     # Error: more than one level registered in this session
-                    table[len(students_utils.gpa_boundaries)].append(line)
+                    table[len(students_utils.GPABoundaries())].append(line)
                     continue
             gpaclass = students_utils.getDegreeClassNumber(level_obj)
             table[gpaclass].append(line)
-            for i in range(len(students_utils.gpa_boundaries)+1):
+            for i in range(len(students_utils.GPABoundaries())+1):
                 if len(table[i]):
                     table[i] = sorted([value for value in table[i]],
@@ -211,7 +211,8 @@
         students_utils = getUtility(IStudentsUtils)
         # Print classes in reverse order
-        for gpa_class in range(len(students_utils.gpa_boundaries)-1,-1,-1):
+        for gpa_class in range(len(students_utils.GPABoundaries())-1,-1,-1):
             pdf_data.append(Spacer(1, 20))
-            gpa_class_name = students_utils.gpa_boundaries[gpa_class][1]
+            gpa_class_name = students_utils.GPABoundaries(
+                faccode=self.faccode, depcode=self.depcode)[gpa_class][1]
             pdf_data += [Paragraph('<strong>%s</strong>' % gpa_class_name,
                          STYLE["Normal"])]
@@ -238,6 +239,7 @@
         total_count = 0
         table_data = list()
-        for gpa_class in range(len(students_utils.gpa_boundaries)-1,-1,-1):
-            gpa_class_name = students_utils.gpa_boundaries[gpa_class][1]
+        for gpa_class in range(len(students_utils.GPABoundaries())-1,-1,-1):
+            gpa_class_name = students_utils.GPABoundaries(
+                faccode=self.faccode, depcode=self.depcode)[gpa_class][1]
             gpa_count = len(self.data[gpa_class])
             total_count += gpa_count
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 14901)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 14914)
@@ -817,10 +817,11 @@
         return pdf_stream
 
-    gpa_boundaries = ((1, 'Fail'),
-                      (1.5, 'Pass'),
-                      (2.4, '3rd Class'),
-                      (3.5, '2nd Class Lower'),
-                      (4.5, '2nd Class Upper'),
-                      (5, '1st Class'))
+    def GPABoundaries(self, faccode=None, depcode=None):
+        return ((1, 'Fail'),
+               (1.5, 'Pass'),
+               (2.4, '3rd Class'),
+               (3.5, '2nd Class Lower'),
+               (4.5, '2nd Class Upper'),
+               (5, '1st Class'))
 
     def getClassFromCGPA(self, gpa, student):
@@ -829,16 +830,16 @@
         base package, it does not.
         """
-        if gpa < self.gpa_boundaries[0][0]:
-            return 0, self.gpa_boundaries[0][1]
-        if gpa < self.gpa_boundaries[1][0]:
-            return 1, self.gpa_boundaries[1][1]
-        if gpa < self.gpa_boundaries[2][0]:
-            return 2, self.gpa_boundaries[2][1]
-        if gpa < self.gpa_boundaries[3][0]:
-            return 3, self.gpa_boundaries[3][1]
-        if gpa < self.gpa_boundaries[4][0]:
-            return 4, self.gpa_boundaries[4][1]
-        if gpa <= self.gpa_boundaries[5][0]:
-            return 5, self.gpa_boundaries[5][1]
+        if gpa < self.GPABoundaries()[0][0]:
+            return 0, self.GPABoundaries()[0][1]
+        if gpa < self.GPABoundaries()[1][0]:
+            return 1, self.GPABoundaries()[1][1]
+        if gpa < self.GPABoundaries()[2][0]:
+            return 2, self.GPABoundaries()[2][1]
+        if gpa < self.GPABoundaries()[3][0]:
+            return 3, self.GPABoundaries()[3][1]
+        if gpa < self.GPABoundaries()[4][0]:
+            return 4, self.GPABoundaries()[4][1]
+        if gpa <= self.GPABoundaries()[5][0]:
+            return 5, self.GPABoundaries()[5][1]
         return 'N/A'
 
