Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9905)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9906)
@@ -1119,7 +1119,13 @@
 
     @property
-    def content_title(self):
+    def content_title_1(self):
         portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
-        return translate(_('Course List'), 'waeup.kofa',
+        return translate(_('1st Semester Courses'), 'waeup.kofa',
+            target_language=portal_language)
+
+    @property
+    def content_title_2(self):
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
+        return translate(_('2nd Semester Courses'), 'waeup.kofa',
             target_language=portal_language)
 
@@ -1142,5 +1148,5 @@
         Faculty = translate(_('Faculty'), 'waeup.kofa', target_language=portal_language)
         Cred = translate(_('Cred.'), 'waeup.kofa', target_language=portal_language)
-        Mand = translate(_('Requ.'), 'waeup.kofa', target_language=portal_language)
+        #Mand = translate(_('Requ.'), 'waeup.kofa', target_language=portal_language)
         Score = translate(_('Score'), 'waeup.kofa', target_language=portal_language)
         Grade = translate(_('Grade'), 'waeup.kofa', target_language=portal_language)
@@ -1148,19 +1154,27 @@
             self.request, self.omit_fields)
         students_utils = getUtility(IStudentsUtils)
-        tabledata = sorted(self.context.values(),
+        tabledata_1 = sorted(
+            [value for value in self.context.values() if value.semester == 1],
             key=lambda value: str(value.semester) + value.code)
+        tabledata_2 = sorted(
+            [value for value in self.context.values() if value.semester == 2],
+            key=lambda value: str(value.semester) + value.code)
+        tableheader = [(Code,'code', 2.5),
+                         (Title,'title', 5),
+                         (Dept,'dcode', 1.5), (Faculty,'fcode', 1.5),
+                         (Cred, 'credits', 1.5),
+                         #(Mand, 'mandatory', 1.5),
+                         (Score, 'score', 1.5),
+                         (Grade, 'grade', 1.5),
+                         #('Auto', 'automatic', 1.5)
+                         ]
         return students_utils.renderPDF(
             self, 'course_registration_slip.pdf',
             self.context.student, studentview,
-            tableheader=[(Sem,'semester', 1.5),(Code,'code', 2.5),
-                         (Title,'title', 5),
-                         (Dept,'dcode', 1.5), (Faculty,'fcode', 1.5),
-                         (Cred, 'credits', 1.5),
-                         (Mand, 'mandatory', 1.5),
-                         (Score, 'score', 1.5),
-                         (Grade, 'grade', 1.5),
-                         #('Auto', 'automatic', 1.5)
-                         ],
-            tabledata=tabledata)
+            tableheader_1=tableheader,
+            tabledata_1=tabledata_1,
+            tableheader_2=tableheader,
+            tabledata_2=tabledata_2
+            )
 
 class StudyLevelManageFormPage(KofaEditFormPage):
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9905)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9906)
@@ -43,5 +43,8 @@
     #('FONT', (0,0), (-1,-1), 'Helvetica', 8),
     #('TEXTCOLOR',(0,0),(-1,0),colors.white),
-    ('BACKGROUND',(0,0),(-1,0),colors.black),
+    #('BACKGROUND',(0,0),(-1,0),colors.black),
+    ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
+    ('BOX', (0,0), (-1,-1), 1, colors.black),
+
     ]
 
@@ -185,5 +188,5 @@
     style = getSampleStyleSheet()
     for element in tableheader:
-        field = formatted_text(element[0], color='white')
+        field = '<strong>%s</strong>' % formatted_text(element[0])
         field = Paragraph(field, style["Normal"])
         line.append(field)
@@ -549,5 +552,7 @@
 
     def renderPDF(self, view, filename='slip.pdf', student=None,
-                  studentview=None, tableheader=None, tabledata=None,
+                  studentview=None,
+                  tableheader_1=None, tabledata_1=None,
+                  tableheader_2=None, tabledata_2=None,
                   note=None, signatures=None, sigs_in_footer=(),
                   show_scans=True):
@@ -594,10 +599,18 @@
             data.extend(creator.fromStringList(student.history.messages))
 
-       # Insert content table (optionally on second page)
-        if tabledata and tableheader:
+       # Insert 1st content table (optionally on second page)
+        if tabledata_1 and tableheader_1:
             #data.append(PageBreak())
             data.append(Spacer(1, 20))
-            data.append(Paragraph(view.content_title, style["Heading3"]))
-            contenttable = render_table_data(tableheader,tabledata)
+            data.append(Paragraph(view.content_title_1, style["Heading3"]))
+            contenttable = render_table_data(tableheader_1,tabledata_1)
+            data.append(contenttable)
+
+       # Insert 2nd content table (optionally on second page)
+        if tabledata_2 and tableheader_2:
+            #data.append(PageBreak())
+            data.append(Spacer(1, 20))
+            data.append(Paragraph(view.content_title_2, style["Heading3"]))
+            contenttable = render_table_data(tableheader_2,tabledata_2)
             data.append(contenttable)
 
