Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 9178)
@@ -1040,5 +1040,5 @@
         return
 
-    @action(_('Get login credentials'), style='primary')
+    @action(_('Send login credentials to email address'), style='primary')
     def register(self, **data):
         if not self.captcha_result.is_valid:
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_browser.py	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_browser.py	(revision 9178)
@@ -935,5 +935,5 @@
         self.browser.getControl(name="form.phone.area").value = '555'
         self.browser.getControl(name="form.phone.ext").value = '6666666'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertEqual(self.browser.url,
             self.container_path + '/registration_complete?email=xx%40yy.zz')
@@ -962,5 +962,5 @@
         self.browser.getControl(name="form.reg_number").value = 'anynumber'
         self.browser.getControl(name="form.email").value = 'xx@yy.zz'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue('No application record found.'
             in self.browser.contents)
@@ -972,5 +972,5 @@
         self.browser.getControl(name="form.reg_number").value = '1234'
         self.browser.getControl(name="form.email").value = 'xx@yy.zz'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue('An error occurred.' in self.browser.contents)
         # Let's set this attribute manually
@@ -981,5 +981,5 @@
         self.browser.getControl(name="form.reg_number").value = '1234'
         self.browser.getControl(name="form.email").value = 'xx@yy.zz'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         # Anonymous is not informed that firstname verification failed.
         # It seems that the record doesn't exist.
@@ -991,5 +991,5 @@
         self.browser.getControl(name="form.firstname").value = 'John'
         self.browser.getControl(name="form.reg_number").value = '1234'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue('Your password has already been set and used.'
             in self.browser.contents)
@@ -1005,5 +1005,5 @@
         self.browser.getControl(name="form.reg_number").value = '1234'
         self.browser.getControl(name="form.email").value = 'new@yy.zz'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         # Yeah, we succeded ...
         self.assertTrue('Your registration was successful.'
@@ -1021,5 +1021,5 @@
         self.browser.getControl(name="form.identifier").value = '1234'
         self.browser.getControl(name="form.email").value = 'aa@aa.ng'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue('No record found' in self.browser.contents)
         self.applicant.email = 'aa@aa.ng'
@@ -1029,5 +1029,5 @@
         self.browser.getControl(name="form.identifier").value = '1234'
         self.browser.getControl(name="form.email").value = 'aa@aa.ng'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue(
             'An email with your user name and password has been sent'
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt	(revision 9178)
@@ -81,5 +81,5 @@
   >>> browser.getControl(name="form.identifier").value = 'forgetful'
   >>> browser.getControl(name="form.email").value = 'aa@aa.ng'
-  >>> browser.getControl("Get login credentials").click()
+  >>> browser.getControl("Send login credentials").click()
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/basepage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/basepage.pt	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/basepage.pt	(revision 9178)
@@ -18,5 +18,5 @@
           <tal:password replace="view/hasPassword" />
       </td>
-    <tr>
+    </tr>
     <tal:files content="structure provider:files" />
   </tbody>
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 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 9178)
@@ -1954,5 +1954,5 @@
         self.browser.getControl(name="form.identifier").value = '123'
         self.browser.getControl(name="form.email").value = 'aa@aa.ng'
-        self.browser.getControl("Get login credentials").click()
+        self.browser.getControl("Send login credentials").click()
         self.assertTrue('An email with' in self.browser.contents)
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 9178)
@@ -328,5 +328,8 @@
                     amount = getattr(certificate, 'school_fee_2', 0.0)
         elif category == 'clearance':
-            p_item = student['studycourse'].certificate.code
+            try:
+                p_item = student['studycourse'].certificate.code
+            except (AttributeError, TypeError):
+                return _('Study course data are incomplete.'), None
             amount = academic_session.clearance_fee
         elif category == 'bed_allocation':
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 9172)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 9178)
@@ -626,9 +626,9 @@
         student_url = self.view.application_url() + (
             '/students/%s' % self.request.principal.id)
-        #app_slip = getUtility(IExtFileStore).getFileByContext(
-        #    self.context.student, 'application_slip')
+        app_slip = getUtility(IExtFileStore).getFileByContext(
+            self.context.student, 'application_slip')
         targets = []
-        #if app_slip:
-        #    targets = [{'url':student_url + '/application_slip', 'title':'Application Slip'},]
+        if app_slip:
+            targets = [{'url':student_url + '/application_slip', 'title':'Application Slip'},]
         targets += [
             {'url':student_url, 'title':'Base Data'},
