/** * Save the objects to the database. * * Save the default object being edited and return to the view page. * @global array */ protected function save() { $persObj = $this->factory->createContainer("person"); $persObj->load($this->post); $person_id = $persObj->getField("id")->getDBValue(); $person_id = explode("|", $person_id); $person_id = $person_id[1]; $regObj = $this->factory->createContainer("registration"); $regObj->load($this->post); $registration_number = $regObj->getField("registration_number")->getDBValue(); $training_institution = $regObj->getField("training_institution")->getDBValue(); //save the new reg_number to institution form if ($person_id == 0) { $instObj = $this->factory->createContainer($training_institution); $instObj->populate(); $reg_num = explode("-", $registration_number); $reg_num = $reg_num[2]; $instObj->getField("last_reg_num")->setValue($reg_num); $instObj->save($this->user); $userObj = $this->factory->createContainer("user" . '|' . $registration_number); $userObj->getField("username")->setFromPost($registration_number); $userObj->getField("firstname")->setFromPost($persObj->getField("firstname")->getDBValue()); $userObj->getField("lastname")->setFromPost($persObj->getField("surname")->getDBValue()); $userObj->getField("role")->setFromDB("role|student"); $userObj->getField("password")->setFromPost($persObj->getField("surname")->getDBValue()); $userObj->save($this->user); } $persObj->save($this->user); $person_id = $persObj->getID(); $regObj->setParent("person|" . $person_id); $regObj->save($this->user); $message = "This record has been saved."; I2CE::getConfig()->setIfIsSet($message, "/modules/forms/page_feedback_messages/person_save"); $this->userMessage($message); if ($this->generated_regnum) { $ff = I2CE_FormFactory::instance(); $usermapObj = $ff->createContainer("user_map"); $usermapObj->getField("username")->setFromDB("user|" . $registration_number); $usermapObj->getField("parent")->setFromDB("person|" . $person_id); $usermapObj->save($this->user); } //register core courses for this students IHS_PageFormEnrollcourse::enroll_core_courses("person|" . $person_id); $this->setRedirect("view?id=person|" . $person_id); }