public function configure()
 {
     parent::configure();
     unset($this["course_required"], $this["final_examination_required"], $this['course_examination_count'], $this['max_previous'], $this['max_disciplinary_sanctions'], $this['evaluation_method'], $this['when_disapprove_show_string'], $this['necessary_student_approved_career_subject_to_show_prom_def']);
     $this->getWidgetSchema('course_marks')->setHelp('course_marks', 'Si se cambia la cantidad de notas de un curso existente se perderán los valores de estas notas.');
     $this->getWidgetSchema('course_type')->setHelp('course_type', 'Si se cambia el tipo de curso de un curso existente se perderá la configuración del mismo.');
     if ($this->getObject()->isNew()) {
         $this->getWidget('course_type')->setDefault($this->getObject()->getCourseType());
     }
     $this->getWidgetSchema('attendance_type')->setHelp('attendance_type', 'Se define el tipo de asistencia que tendrán las materias. Si se cambia de "por materia" a "por día", se perderán los valores de los cursos existentes.');
 }
 public function doSave($con = null)
 {
     if (is_null($con)) {
         $con = $this->getConnection();
     }
     parent::doSave($con);
     $this->updateObject();
     //$this->object->setCourseMarks(3);
     $this->object->setEvaluationMethod(BaseCustomOptionsHolder::getInstance('CourseType')->getEvaluationMethodFor($this->object->getCourseType()));
     $this->object->save($con);
     // embedded forms
     $this->saveEmbeddedForms($con);
 }
 public function configure()
 {
     parent::configure();
     $subject_configuration = $this->getObject();
     unset($this['course_type'], $this['course_marks'], $this['course_minimun_mark'], $this['attendance_type']);
     $this->setWidget('course_marks_show', new mtWidgetFormPlain(array('object' => $subject_configuration, 'method' => 'getCourseMarks')));
     $this->setWidget('course_minimun_mark_show', new mtWidgetFormPlain(array('object' => $subject_configuration, 'method' => 'getCourseMinimunMark')));
     $this->setWidget('max_previous_show', new mtWidgetFormPlain(array('object' => $subject_configuration, 'method' => 'getMaxPrevious')));
     $this->setWidget('attendance_type_show', new mtWidgetFormPlain(array('object' => $subject_configuration, 'method' => 'getAttendanceTypeString')));
     //    $this->setWidget('max_disciplinary_sanctions_show', new mtWidgetFormPlain(array('object' => $subject_configuration, 'method' => 'getMaxDisciplinarySanctions')));
     $this->getWidgetSchema()->moveField('course_marks_show', 'before', 'course_examination_count');
     $this->getWidgetSchema()->moveField('course_minimun_mark_show', 'before', 'course_examination_count');
     $this->getWidgetSchema()->moveField('max_previous_show', 'before', 'course_examination_count');
     $this->getWidgetSchema()->moveField('attendance_type_show', 'before', 'course_examination_count');
     //    $this->getWidgetSchema()->moveField('max_disciplinary_sanctions_show', 'before' , 'course_examination_count');
     $this->getWidgetSchema()->setLabels(array('course_marks_show' => 'Cantidad de Notas', 'course_minimun_mark_show' => 'Nota mínima de aprobacion', 'max_disciplinary_sanctions' => 'Cantidad máxima de sanciones', 'max_previous_show' => 'Cantidad máxima de previas', 'attendance_type_show' => 'Tipo de asistencia'));
 }