/**
  * should display header of ccform then the extra fields followed by footer of ccform
  */
 public function body_definition()
 {
     $mform =& $this->_form;
     $parent_obj = $this->_customdata['parent_obj'];
     $coursecurriculum = new curriculumcourse();
     $coursecurriculum->courseid = $parent_obj->id;
     if (isset($this->_customdata['obj'])) {
         $course = $this->_customdata['obj']->course;
         $curriculum = $this->_customdata['obj']->curriculum;
         $curriculas[$curriculum->id] = $curriculum->name;
     } else {
         $contexts = curriculumpage::get_contexts('block/curr_admin:associate');
         $curricula_avail = $coursecurriculum->get_curricula_avail(array('contexts' => $contexts));
         $curriculas = array();
         if (is_array($curricula_avail)) {
             foreach ($curricula_avail as $crsid => $c) {
                 $curriculas[$crsid] = $c->name . ' (' . $c->idnumber . ')';
             }
             natcasesort($curriculas);
         }
     }
     $mform->addElement('select', 'curriculumid', get_string('curriculum', 'block_curr_admin') . ':', $curriculas);
     $mform->addRule('curriculumid', null, 'required', null, 'client');
     $mform->setHelpButton('curriculumid', array('coursecurriculumform/curriculumname', get_string('curriculum', 'block_curr_admin'), 'block_curr_admin'));
     $mform->addElement('hidden', 'courseid', $parent_obj->id);
     $mform->setType('courseid', PARAM_INT);
     $mform->addElement('text', 'coursename', get_string('course', 'block_curr_admin') . ':', 'readonly="readonly"');
     $mform->setType('coursename', PARAM_TEXT);
     $mform->setHelpButton('coursename', array('coursecurriculumform/coursename', get_string('course', 'block_curr_admin'), 'block_curr_admin'));
     $this->set_data(array('coursename' => $parent_obj->name));
 }