Index: main/waeup.sirp/trunk/src/waeup/sirp/browser/batchprocessing.txt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/browser/batchprocessing.txt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/browser/batchprocessing.txt	(revision 7665)
@@ -365,5 +365,5 @@
 
     >>> open('mycertcourses.csv', 'wb').write(
-    ... """course,faculty_code,department_code,certificate_code,level,core_or_elective
+    ... """course,faculty_code,department_code,certificate_code,level,mandatory
     ... CRS1,FAC1,DEP1,CERT1,100,True
     ... CRS2,FAC1,DEP1,CERT1,100,True
Index: main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7665)
@@ -1225,5 +1225,5 @@
 
   >>> open('certcourses.csv', 'wb').write(
-  ... """code,faculty_code,department_code,certificate_code,level,core_or_elective
+  ... """code,faculty_code,department_code,certificate_code,level,mandatory
   ... LI1,FA,LIT,LBA,100,True
   ... LI2,FA,LIT,LBA,200,True
Index: main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatecoursepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatecoursepage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatecoursepage.pt	(revision 7665)
@@ -29,5 +29,5 @@
     <tr>
       <td>Is mandatory course (not elective):</td>
-      <td tal:content="context/core_or_elective">MANDATORY</td>
+      <td tal:content="context/mandatory">MANDATORY</td>
     </tr>
   </tbody>
Index: main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatemanagepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatemanagepage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatemanagepage.pt	(revision 7665)
@@ -81,5 +81,5 @@
             </td>
             <td>
-              <span tal:content="cc/core_or_elective">
+              <span tal:content="cc/mandatory">
         	   MANDATORY
               </span>
Index: main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatepage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatepage.pt	(revision 7665)
@@ -53,5 +53,5 @@
     </td>
     <td>
-      <span tal:content="cc/core_or_elective">
+      <span tal:content="cc/mandatory">
 	   MANDATORY
       </span>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7665)
@@ -681,5 +681,5 @@
                          ('Dept.','dcode', 1.5), ('Faculty','fcode', 1.5),
                          ('Cred.', 'credits', 1.5),
-                         ('Mand.', 'core_or_elective', 1.5),
+                         ('Mand.', 'mandatory', 1.5),
                          ('Score', 'score', 1.5),('Auto', 'automatic', 1.5)
                          ],
@@ -1684,5 +1684,5 @@
         for id in child_id:
             # Students are not allowed to remove core tickets
-            if not self.context[id].core_or_elective:
+            if not self.context[id].mandatory:
                 try:
                     del self.context[id]
@@ -1710,5 +1710,5 @@
     grok.require('waeup.handleStudent')
     form_fields = grok.AutoFields(ICourseTicketAdd).omit(
-        'grade', 'score', 'core_or_elective', 'automatic', 'carry_over')
+        'grade', 'score', 'mandatory', 'automatic', 'carry_over')
 
     def update(self):
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studyleveleditpage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studyleveleditpage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studyleveleditpage.pt	(revision 7665)
@@ -22,5 +22,5 @@
         <input type="checkbox" name="val_id"
   		  tal:attributes="value value/__name__"
-        tal:condition="not: value/core_or_elective" />
+        tal:condition="not: value/mandatory" />
       </td>
       <td tal:content="value/semester">SEMESTER</td>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelmanagepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelmanagepage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelmanagepage.pt	(revision 7665)
@@ -73,5 +73,5 @@
           <td tal:content="value/fcode">FACULTY</td>
           <td tal:content="value/credits">CREDITS</td>
-          <td tal:content="value/core_or_elective">MANDATORY</td>
+          <td tal:content="value/mandatory">MANDATORY</td>
           <td tal:content="value/score">SCORE</td>
           <td tal:content="value/carry_over">CO</td>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelpage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelpage.pt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelpage.pt	(revision 7665)
@@ -53,5 +53,5 @@
       <td tal:content="value/fcode">FACULTY</td>
       <td tal:content="value/credits">CREDITS</td>
-      <td tal:content="value/core_or_elective">MANDATORY</td>
+      <td tal:content="value/mandatory">MANDATORY</td>
       <td tal:content="value/score">SCORE</td>
       <td tal:content="value/carry_over">CO</td>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/interfaces.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/interfaces.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/interfaces.py	(revision 7665)
@@ -357,5 +357,5 @@
     dcode = Attribute('department code of the original course')
 
-    core_or_elective = schema.Bool(
+    mandatory = schema.Bool(
         title = u'Mandatory',
         default = False,
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/studycourse.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/studycourse.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/studycourse.py	(revision 7665)
@@ -57,5 +57,5 @@
                 ticket.code = val.getCourseCode()
                 ticket.automatic = True
-                ticket.core_or_elective = val.core_or_elective
+                ticket.mandatory = val.mandatory
                 ticket.title = val.course.title
                 ticket.fcode = val.course.__parent__.__parent__.__parent__.code
@@ -83,5 +83,5 @@
                         co_ticket = CourseTicket()
                         for name in ['code', 'title', 'credits', 'passmark',
-                                     'semester', 'core_or_elective',
+                                     'semester', 'mandatory',
                                      'fcode', 'dcode']:
                             setattr(co_ticket, name, getattr(val, name))
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_courseticket_data.csv
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_courseticket_data.csv	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_courseticket_data.csv	(revision 7665)
@@ -1,3 +1,3 @@
-reg_number,matric_number,level,code,score,core_or_elective
+reg_number,matric_number,level,code,score,mandatory
 1,,100,COURSE1,1,True
 2,,100,COURSE1,2,False
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py	(revision 7665)
@@ -523,5 +523,5 @@
         self.assertEqual(courseticket.__parent__.__parent__.certificate.code, u'CERT1')
         self.assertEqual(courseticket.score, 1)
-        self.assertEqual(courseticket.core_or_elective, True)
+        self.assertEqual(courseticket.mandatory, True)
         self.assertEqual(courseticket.fcode, 'NA')
         self.assertEqual(courseticket.dcode, 'NA')
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7665)
@@ -1206,5 +1206,5 @@
         self.assertRaises(
             LookupError, self.browser.getControl, name='val_id')
-        self.student['studycourse']['200']['COURSE1'].core_or_elective = False
+        self.student['studycourse']['200']['COURSE1'].mandatory = False
         self.browser.open(self.student_path + '/studycourse/200/edit')
         # Now the student can remove the ticket
Index: main/waeup.sirp/trunk/src/waeup/sirp/university/batching.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/university/batching.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/university/batching.py	(revision 7665)
@@ -272,5 +272,5 @@
         parent = self.getParent(row, site)
         parent.addCourseRef(row['course'],
-                            row['level'], row['core_or_elective'])
+                            row['level'], row['mandatory'])
         return
 
Index: main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.py	(revision 7665)
@@ -57,9 +57,9 @@
         return "%s (%s)" % (self.title,self.code)
 
-    def addCourseRef(self, course, level=100, core_or_elective=True):
+    def addCourseRef(self, course, level=100, mandatory=True):
         """Add a course referrer.
         """
         code = "%s_%s" % (course.code, level)
-        self[code] = CertificateCourse(course, level, core_or_elective)
+        self[code] = CertificateCourse(course, level, mandatory)
         self[code].__parent__ = self
         self[code].__name__ = code
@@ -97,8 +97,8 @@
     grok.implements(ICertificateCourse)
 
-    def __init__(self, course=None, level=100, core_or_elective=True):
+    def __init__(self, course=None, level=100, mandatory=True):
         self.course = course
         self.level = level
-        self.core_or_elective = core_or_elective
+        self.mandatory = mandatory
 
     def getCourseCode(self):
Index: main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.txt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.txt	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/university/certificate.txt	(revision 7665)
@@ -96,5 +96,5 @@
       .. XXX: This is not a proper description
 
-   .. method:: addCourseRef(course[, level=100,[ core_or_elective=True]])
+   .. method:: addCourseRef(course[, level=100,[ mandatory=True]])
 
       Add a referrer of a course. A course is an object implementing
@@ -115,5 +115,5 @@
 --------------------------
 
-.. class:: CertificateCourse(course[, level=100[, core_or_elective=True]])
+.. class:: CertificateCourse(course[, level=100[, mandatory=True]])
 
    Create a course referrer.
@@ -134,5 +134,5 @@
       An integer telling the level to which this course applies.
 
-   .. attribute:: core_or_elective
+   .. attribute:: mandatory
 
       A bool stating whether this course is required or optional to
Index: main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 7664)
+++ main/waeup.sirp/trunk/src/waeup/sirp/university/interfaces.py	(revision 7665)
@@ -274,5 +274,5 @@
         )
 
-    core_or_elective = schema.Bool(
+    mandatory = schema.Bool(
         title = u'Is mandatory course (not elective)',
         required = True,
