Index: main/waeup.uniben/trunk/src/waeup/uniben/applicants/applicant.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/applicant.py	(revision 8647)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/applicant.py	(revision 8668)
@@ -30,4 +30,7 @@
     grok.provides(ICustomApplicant)
 
+    create_names = Applicant.create_names + [
+        'lga', 'nationality', 'perm_address']
+
 # Set all attributes of Applicant required in IApplicant as field
 # properties. Doing this, we do not have to set initial attributes
Index: main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py	(revision 8647)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py	(revision 8668)
@@ -192,5 +192,5 @@
 
     def _redirect(self, email, password, applicant_id):
-        # Forward only email and credentials to landing page.
+        # Forward email and credentials to landing page.
         self.redirect(self.url(self.context, 'registration_complete',
             data = dict(email=email, password=password,
Index: main/waeup.uniben/trunk/src/waeup/uniben/applicants/interfaces.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/interfaces.py	(revision 8647)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/interfaces.py	(revision 8668)
@@ -312,5 +312,5 @@
 
     def createStudent():
-        """Create a student object from applicatnt data
+        """Create a student object from applicant data
         and copy applicant object.
         """
Index: main/waeup.uniben/trunk/src/waeup/uniben/applicants/tests.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/tests.py	(revision 8647)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/tests.py	(revision 8668)
@@ -29,4 +29,5 @@
 from zope.catalog.interfaces import ICatalog
 from zope.testbrowser.testing import Browser
+from hurry.workflow.interfaces import IWorkflowState
 from waeup.kofa.app import University
 from waeup.kofa.university.faculty import Faculty
@@ -93,4 +94,5 @@
         self.certificate.start_level = 100
         self.certificate.end_level = 500
+        self.certificate.study_mode = u'ug_ft'
         self.app['faculties']['fac1'] = Faculty()
         self.app['faculties']['fac1']['dep1'] = Department()
@@ -102,4 +104,5 @@
         self.certificate2.start_level = 100
         self.certificate2.end_level = 500
+        self.certificate.study_mode = u'pg_ft'
         self.app['faculties']['fac1']['dep1'].certificates.addCertificate(
             self.certificate2)
@@ -141,4 +144,5 @@
         self.browser.getControl(name="form.date_of_birth").value = '09/09/1988'
         self.browser.getControl(name="form.lga").value = ['foreigner']
+        self.browser.getControl(name="form.nationality").value = ['NG']
         self.browser.getControl(name="form.sex").value = ['m']
         self.browser.getControl(name="form.email").value = 'xx@yy.zz'
@@ -252,4 +256,28 @@
             reg_number=(applicant.reg_number, applicant.reg_number)))
         self.assertEqual(applicant,results[0])
+        return
+
+    def test_create_ugstudent(self):
+        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+        manage_path = 'http://localhost/app/applicants/%s/%s/%s' % (
+            'app2011', self.ugapplicant.application_number, 'manage')
+        self.browser.open(manage_path)
+        self.fill_correct_values()
+        self.browser.getControl("Save").click()
+        IWorkflowState(self.ugapplicant).setState('admitted')
+        self.browser.getControl(name="form.course1").value = ['CERT1']
+        self.browser.getControl(name="form.course_admitted").value = ['CERT1']
+        self.browser.getControl("Save").click()
+        self.browser.getLink("Create student").click()
+        student_id =  self.app['students'].keys()[0]
+        self.assertTrue(('Student %s created' % student_id)
+            in self.browser.contents)
+        student = self.app['students'][student_id]
+        self.assertEqual(student.email, 'xx@yy.zz')
+        self.assertEqual(student.firstname, 'John')
+        self.assertEqual(student.lastname, 'Tester')
+        # Also additional attributes have been copied.
+        self.assertEqual(student.lga, 'foreigner')
+        self.assertEqual(student.nationality, 'NG')
         return
 
