/** * This function is used for deleting a session, and interacting with topics. * Both displaying and editing the topic list * */ function definition_after_data() { parent::definition_after_data(); $mform = $this->_form; $numRepeated = $mform->getElementValue('sessions_list'); // Go through each session, and delete elements for ones that should be deleted for ($key = 0; $key < $numRepeated; ++$key) { $index = '[' . $key . ']'; $deleted = $mform->getSubmitValue('delete_session' . $index); // If a button is pressed, then doing $mform->getSubmitValue(buttonId) will return a non-null vaue // However, if other buttons are subsequently pressed, then $mform->getSubmitValue(buttonId) will return null // So use the element 'was_deleted' for that repeated element to store if has been deleted if ($deleted or $mform->getElementValue('was_deleted' . $index) == true) { // If deleted, just remove the visual elements // Will not save to the database until the user presses submit $mform->removeElement('sessionheader' . $index); $mform->removeElement('sessiontitle' . $index); $mform->removeElement('sessionteachingstrategy' . $index); $mform->removeElement('sessionguestteacher' . $index); $mform->removeElement('sessiontype' . $index); $mform->removeElement('sessionlength' . $index); $mform->removeElement('sessiondate' . $index); $learningObjectiveTypes = get_learning_objective_types(); foreach ($learningObjectiveTypes as $learningObjectiveType) { $mform->removeElement('learning_objective_' . $learningObjectiveType . $index); } $mform->removeElement('assessments' . $index); $mform->removeElement('manage_topics_group' . $index); $mform->removeElement('add_topic_group' . $index); $mform->removeElement('delete_session' . $index); $mform->getElement('was_deleted' . $index)->setValue(true); } else { $this->update_topics($mform, $index); // New element, so expand header by default if ($mform->getElement('coursesession_id' . $index)->getValue() == -1) { $mform->setExpanded('sessionheader' . $index); } } } // navigate to the newest added element if (isset($_POST['sessions_list_add_element'])) { redirect_to_anchor('session', 'id_sessions_list_add_element', -700); } }
/** *This function deals with deleting the data after the form element is deleted *It is necessary to deal with removing elements so that they don't show up again */ function definition_after_data() { parent::definition_after_data(); $mform = $this->_form; $numRepeated = $mform->getElementValue('assessment_list'); // Go through each assessment, and delete elements for ones that should be deleted for ($key = 0; $key < $numRepeated; ++$key) { $index = '[' . $key . ']'; $deleted = $mform->getSubmitValue('delete_assessment' . $index); // If a button is pressed, then doing $mform->getSubmitValue(buttonId) will return a non-null value // However, if other buttons are subsequently pressed, then $mform->getSubmitValue(buttonId) will return null // So use the element 'was_deleted' for that repeated element to store if has been deleted // Otherwise, if the assessment is new, should expand its header if ($deleted or $mform->getElementValue('was_deleted' . $index) == true) { // If deleted, just remove the visual elements // Will not save to the database until the user presses submit $mform->removeElement('assessment_header' . $index); $mform->removeElement('assessmentname' . $index); $mform->removeElement('type' . $index); $mform->removeElement('assessmentprof' . $index); $mform->removeElement('assessmentexamtype' . $index); $mform->removeElement('assessmentduedate' . $index); $mform->removeElement('description' . $index); $mform->removeElement('gradingDescription_uploaded' . $index); $mform->removeElement('gradingDescription_upload' . $index); $mform->removeElement('gdescription' . $index); $mform->removeElement('assessmentweight' . $index); $learningObjectiveTypes = get_learning_objective_types(); foreach ($learningObjectiveTypes as $learningObjectiveType) { $mform->removeElement('learning_objective_' . $learningObjectiveType . $index); } $mform->removeElement('delete_assessment' . $index); $mform->getElement('was_deleted' . $index)->setValue(true); } else { if ($mform->getElement('courseassessment_id' . $index)->getValue() == -1) { $mform->setExpanded('assessment_header' . $index); } } } // navigate to the newest added element if (isset($_POST['assessment_list_add_element'])) { redirect_to_anchor('assessment', 'id_assessment_list_add_element', -1000); } }
/** * This function is used for uploading course objective and required readings. * and delete required reading. * @return void */ function definition_after_data() { parent::definition_after_data(); $mform = $this->_form; $this->delete_reading($mform); $this->upload_req_reading($mform); $this->upload_course_obj($mform); $this->delete_graduate_attribute($mform); if (isset($_POST['option_add_fields_reading'])) { redirect_to_anchor('reading', 'id_option_add_fields_reading', -200); } if (isset($_POST['option_add_fields_knowledge'])) { redirect_to_anchor('knowledge', 'id_option_add_fields_knowledge', -100); } if (isset($_POST['option_add_fields_skill'])) { redirect_to_anchor('skill', 'id_option_add_fields_skill', -100); } if (isset($_POST['option_add_fields_attitude'])) { redirect_to_anchor('attitude', 'id_option_add_fields_attitude', -100); } if (isset($_POST['option_add_fields_gradAtt'])) { redirect_to_anchor('gradAtt', 'id_option_add_fields_gradAtt', -100); } }