public function createComponentFormAddTerm($name) { Form::extensionMethod('addDatePicker', array($this, 'Form_addDatePicker')); Form::extensionMethod('addTimePicker', array($this, 'Form_addTimePicker')); Form::extensionMethod('addNumericUpDown', array($this, 'Form_addNumericUpDown')); $form = new LiveForm($this, $name); $form->getElementPrototype()->class('ajax'); $form->addGroup('Exam room and time'); $rooms = SchoolManager::getRooms(); $rooms = array('0' => 'Please select') + $rooms; $form->addSelect('room', 'Room', $rooms)->addRule(Form::FILLED, 'Please select a room')->skipFirst(); $form->addDatePicker('start_date', 'Date', 10)->addRule(Form::FILLED, 'Please select a starting date'); $form->addTimePicker('start_date_time', 'Start time', 10)->addRule(Form::FILLED, 'Please select a starting time'); $form->addGroup('Application deadline'); $form->addDatePicker('deadline_date', 'Date', 10)->addRule(Form::FILLED, 'Please select an application deadline date'); $form->addTimePicker('deadline_date_time', 'Time', 10)->addRule(Form::FILLED, 'Please select an application deadline time'); $form->addGroup('Conditions'); $form->addText('max_students', 'Student limit')->addRule(Form::FILLED, 'Please enter a student limit.')->addRule(Form::NUMERIC, 'Limit must be numeric'); $form->addText('min_seminar_points', 'Minimum points')->addCondition(Form::FILLED)->addRule(Form::NUMERIC, 'Limit must be numeric'); $form->addGroup('Note')->setOption('container', Html::el('fieldset')->class('no-label')); $form->addTextArea('note'); $form->addHidden('course_id')->setValue($this->course_id); $form->addHidden('id'); $form->addSubmit('btnSubmit', 'Save')->onClick[] = callback($this, 'FormAddTermSubmitted'); if ($this->isSignalReceiver($this[$name])) { $this->template->show_popup = true; } if (isset($this->exam_id)) { $session = Environment::getSession('exam_terms_edit_form_' . $this->exam_id); if (isset($session['form_data'])) { $form_data = $session->form_data; } else { $form_data = ExamManager::getExam($this->exam_id); $form_data->start_date = $form_data->start_datetime; $form_data->deadline_date = $form_data->application_deadline; $form_data->start_date_time = $form_data->start_datetime; $form_data->deadline_date_time = $form_data->application_deadline; $session->form_data = $form_data; } $form->setDefaults($form_data); $form['id']->setValue($this->exam_id); } return $form; }
public function createComponentPhotoForm($name) { $form = new LiveForm($this, $name); $form->getElementPrototype()->class = 'ajax_uploader'; $form->addFile('photo', 'Photo')->getControlPrototype()->class('multi'); $form->addText('name', 'Name')->addRule(Form::FILLED, 'Please enter a album name'); $form->addTextArea('description', 'Description'); $form->addButton('btnClose', 'Close'); $form->addSubmit('btnSubmit', 'OK')->onClick[] = callback($this, 'PhotoFormSubmitted'); $form->addHidden('album_id')->setValue($this->getParam('albumId')); return $form; }
public function createComponentFormEditMenu($name) { $menu_id = $this->getParam('id'); $templates = $this->model('Menu')->getTemplates(); $data = $this->model('Menu')->getById($menu_id); $form = new LiveForm($this, $name); $form->addText('name', 'Name')->addRule(Form::FILLED, 'Please enter a name.')->setValue($data->name); $form->addSelect('template', 'Template', $templates); $form->addHidden('id')->setValue($menu_id); $form->setDefaults($data); $form->addButton('btnClose', 'Close'); $form->addSubmit('save', 'Save')->onClick[] = array($this, 'formEditMenuSubmitted'); return $form; }
public function createComponentFormTeachersCourses($name) { $teacher_id = $this->teacher_id; if ($teacher_id != null) { $assigned_courses = $this->model('teachers')->getAssignedCourses($teacher_id); } else { $assigned_courses = array(); } $form = new LiveForm(); $form->addProtection(); $form->addHidden('teacher_id')->setValue($teacher_id); $form->addSelect('course_id', 'Assigned courses', $assigned_courses, 10); $form->addSubmit('btnSubmitRemove', 'Remove'); $form->onSubmit[] = array($this, 'removeCourseFromTeacher'); return $form; }