Index: /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/browser/pages.py
===================================================================
--- /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/browser/pages.py	(revision 15283)
+++ /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/browser/pages.py	(revision 15284)
@@ -30,5 +30,5 @@
 
     form_fields = grok.AutoFields(IConfigurationContainer).omit(
-        'frontpage_dict')
+        'frontpage_dict', 'next_matric_integer_4')
     form_fields['maintmode_enabled_by'].for_display = True
 
Index: /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/locales/en/LC_MESSAGES/waeup.kofa.po
===================================================================
--- /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 15283)
+++ /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 15284)
@@ -47,12 +47,13 @@
 
 msgid "Next Matriculation Number Integer 3"
-msgstr "Next ND-PT Matriculation Number Integer"
+msgstr "Next PT Matriculation Number Integer"
 
 msgid "3rd integer used for constructing the next matriculation number"
 msgstr ""
-"Integer used for constructing the next matriculation number of ND-PT students"
+"Integer used for constructing the next matriculation number of all PT "
+"students"
 
 msgid "Next Matriculation Number Integer 4"
-msgstr "Next HND-PT Matriculation Number Integer"
+msgstr "Next HND-PT Matriculation Number Integer (not used)"
 
 msgid "4th integer used for constructing the next matriculation number"
Index: /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/tests/test_utils.py
===================================================================
--- /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/tests/test_utils.py	(revision 15283)
+++ /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/tests/test_utils.py	(revision 15284)
@@ -41,5 +41,5 @@
         self.certificate.study_mode ='nd_ft'
         msg, mnumber = utils.setMatricNumber(self.student)
-        self.assertEqual(self.student.matric_number, 'ESITM/fac1/dep1/04/00001')
+        self.assertEqual(self.student.matric_number, 'fac1/ND/04/00001')
         self.assertEqual(msg, None)
         # hnd_ft
@@ -47,5 +47,5 @@
         self.certificate.study_mode ='hnd_ft'
         msg, mnumber = utils.setMatricNumber(self.student)
-        self.assertEqual(self.student.matric_number, 'ESITM/fac1/dep1/HND/04/00001')
+        self.assertEqual(self.student.matric_number, 'fac1/HD/04/00001')
         self.assertEqual(msg, None)
         # nd_pt
@@ -53,5 +53,5 @@
         self.certificate.study_mode ='nd_pt'
         msg, mnumber = utils.setMatricNumber(self.student)
-        self.assertEqual(self.student.matric_number, 'ESITM/PT-ND/fac1/dep1/04/00001')
+        self.assertEqual(self.student.matric_number, 'fac1/PT/04/00001')
         self.assertEqual(msg, None)
         return
Index: /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/utils.py
===================================================================
--- /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/utils.py	(revision 15283)
+++ /main/kofacustom.edopoly/trunk/src/kofacustom/edopoly/students/utils.py	(revision 15284)
@@ -235,37 +235,30 @@
     def constructMatricNumber(self, student):
         faccode = student.faccode
-        depcode = student.depcode
-        certcode = student.certcode
+        #depcode = student.depcode
+        #certcode = student.certcode
         year = unicode(student.entry_session)[2:]
         if not student.state in (PAID, ) or not student.is_fresh:
             return _('Matriculation number cannot be set.'), None
 
-        # ESITM/ENG/MEC/11/5367
+        # SASND1809001
         if student.current_mode == 'nd_ft':
             next_integer = grok.getSite()['configuration'].next_matric_integer
             if next_integer == 0:
                 return _('Matriculation number cannot be set.'), None
-            return None, "ESITM/%s/%s/%s/%05d" % (
-                faccode, depcode, year, next_integer)
-
-        # ESITM/ENG/MEC/HND/11/5367
+            return None, "%s/ND/%s/%05d" % (faccode, year, next_integer)
+
+        # SASNH1809001
         if student.current_mode == 'hnd_ft':
             next_integer = grok.getSite()['configuration'].next_matric_integer_2
             if next_integer == 0:
                 return _('Matriculation number cannot be set.'), None
-            return None, "ESITM/%s/%s/HND/%s/%05d" % (
-                faccode, depcode, year, next_integer)
-
-        # ESITM/PT-ND/ENG/MEC/11/5367
-        if student.current_mode == 'nd_pt':
+            return None, "%s/HD/%s/%05d" % (faccode, year, next_integer)
+
+        # SASPT1809001
+        if student.current_mode in ('nd_pt', 'hnd_pt'):
             next_integer = grok.getSite()['configuration'].next_matric_integer_3
             if next_integer == 0:
                 return _('Matriculation number cannot be set.'), None
-            return None, "ESITM/PT-ND/%s/%s/%s/%05d" % (
-                faccode, depcode, year, next_integer)
-
-        # ???
-        if student.current_mode == 'hnd_pt':
-            pass
+            return None, "%s/PT/%s/%05d" % (faccode, year, next_integer)
 
         return _('Matriculation number cannot be set.'), None
