Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py	(revision 13995)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py	(revision 13996)
@@ -20,11 +20,17 @@
 import grok
 import os
-from zope.component import getUtility
+from zope.component import getUtility, getAdapter
+from zope.i18n import translate
 from waeup.kofa.interfaces import (
-    IExtFileStore, IFileStoreNameChooser)
+    IExtFileStore, IFileStoreNameChooser, IKofaUtils)
 from zope.formlib.textwidgets import BytesDisplayWidget
 from waeup.kofa.utils.helpers import string_from_bytes, file_size
-from waeup.kofa.applicants.browser import ApplicantCheckStatusPage
+from waeup.kofa.applicants.browser import (
+    ApplicantCheckStatusPage, ApplicantBaseDisplayFormPage)
 from waeup.kofa.applicants.viewlets import PDFActionButton
+from waeup.kofa.browser.layout import UtilityView
+from waeup.kofa.students.interfaces import IStudentsUtils
+from waeup.kofa.interfaces import IPDF
+from waeup.kofa.applicants.interfaces import IApplicant
 from waeup.aaue.interfaces import MessageFactory as _
 from kofacustom.nigeria.applicants.browser import (
@@ -40,5 +46,6 @@
     ICustomUGApplicant,
     ICustomUGApplicantEdit,
-    ITranscriptApplicant
+    ITranscriptApplicant,
+    ICustomApplicant
     )
 
@@ -88,4 +95,7 @@
     'course1',
     'master_sheet_number',
+    'screening_venue',
+    'screening_score',
+    'screening_date'
     )
 
@@ -333,2 +343,56 @@
     """
     grok.template('applicantcheckstatus')
+
+
+class ExportScreeningInvitationLetter(UtilityView, grok.View):
+    """Deliver a slip with only screening data.
+    This form page is available only in AAUE.
+    """
+    grok.context(IApplicant)
+    grok.name('screening_invitation.pdf')
+    grok.require('waeup.viewApplication')
+    prefix = 'form'
+
+    label = u'Screening Invitation Letter'
+
+    form_fields = []
+
+    @property
+    def note(self):
+        if self.context.screening_date:
+            return """
+<br /><br /><br /><br /><font size='12'>
+Dear %s,
+<br /><br /><br />
+You are invited for your screening exercise on:
+<br /><br />
+<strong>%s</strong>.
+<br /><br />
+Please bring along this letter of invitation to the %s
+<br /><br />
+on your screening date.
+<br /><br /><br />
+Signed,
+<br /><br />
+xyz<br />
+</font>
+
+""" % (self.context.display_fullname,
+       self.context.screening_date,
+       self.context.screening_venue)
+        return
+
+    @property
+    def title(self):
+        return None
+
+    def update(self):
+        if not self.context.screening_date:
+            self.flash(_('Forbidden'), type="warning")
+            self.redirect(self.url(self.context))
+
+    def render(self):
+        applicantview = ApplicantBaseDisplayFormPage(self.context, self.request)
+        students_utils = getUtility(IStudentsUtils)
+        return students_utils.renderPDF(self,'screening_data.pdf',
+            self.context, applicantview, note=self.note)
Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py	(revision 13995)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py	(revision 13996)
@@ -418,16 +418,16 @@
         )
 
-    #screening_venue = schema.TextLine(
-    #    title = _(u'Screening Venue'),
-    #    required = False,
-    #    )
-    #screening_date = schema.TextLine(
-    #    title = _(u'Screening Date'),
-    #    required = False,
-    #    )
-    #screening_score = schema.Int(
-    #    title = _(u'Screening Score (%)'),
-    #    required = False,
-    #    )
+    screening_venue = schema.TextLine(
+        title = _(u'Screening Venue'),
+        required = False,
+        )
+    screening_date = schema.TextLine(
+        title = _(u'Screening Date'),
+        required = False,
+        )
+    screening_score = schema.Int(
+        title = _(u'Screening Score (%)'),
+        required = False,
+        )
     #aggregate = schema.Int(
     #    title = _(u'Aggregate Score (%)'),
Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/tests/test_browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/tests/test_browser.py	(revision 13995)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/tests/test_browser.py	(revision 13996)
@@ -19,8 +19,10 @@
 import datetime
 import pytz
+import os
 from zope.event import notify
 from zope.component import createObject, getUtility
 from waeup.kofa.configuration import SessionConfiguration
 from waeup.kofa.applicants.container import ApplicantsContainer
+from waeup.kofa.browser.tests.test_pdf import samples_dir
 from waeup.aaue.testing import FunctionalLayer
 from waeup.kofa.applicants.tests.test_browser import (
@@ -68,4 +70,20 @@
         self.assertEqual(self.browser.headers['Content-Type'],
                  'application/pdf')
+        return
+
+    def test_screening_slip_download(self):
+        self.login()
+        self.applicant.screening_date = u'29th August 2016'
+        self.applicant.screening_venue = u'Main Auditorium'
+        self.applicant.lastname = u'Cox'
+        self.applicant.firstname = u'Jo'
+        self.applicant.email = 'xx@yy.zz'
+        self.browser.open(self.view_path + '/screening_invitation.pdf')
+        self.assertEqual(self.browser.headers['Status'], '200 Ok')
+        self.assertEqual(
+            self.browser.headers['Content-Type'], 'application/pdf')
+        path = os.path.join(samples_dir(), 'screening_invitation.pdf')
+        open(path, 'wb').write(self.browser.contents)
+        print "Sample PDF screening_invitation.pdf written to %s" % path
         return
 
