public function executeSaveCopy() { $accal_tujuan = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal1')); $accal_asal = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal2')); $params = array(); foreach (explode('&', $this->getRequestParameter('ekskul_list_ser')) as $p) { $p = explode('=', $p); $params[rawurldecode($p[0])][] = rawurldecode($p[1]); } if (array_key_exists('ekskuls', $params)) { foreach ($params['ekskuls'] as $ekskul_id) { $sc = SchedulePeer::retrieveByPK($ekskul_id); $cw = new Criteria(); $cw->add(ScheduleDetailPeer::SCHEDULE_ID, $sc->getId()); $sc_details = ScheduleDetailPeer::doSelect($cw); $cd = new Criteria(); $cd->add(ScheduleTutorPeer::SCHEDULE_ID, $sc->getId()); $sc_tutors = ScheduleTutorPeer::doSelect($cd); $schedule = new Schedule(); $schedule->setGradeComponentId($sc->getGradeComponentId()); $schedule->setAcademicCalendarId($accal_tujuan->getId()); $schedule->setType(2); $schedule->setEmployeeId($sc->getEmployeeId()); $schedule->save(); foreach ($sc_details as $sc_detail) { $schedule_detail = new ScheduleDetail(); $schedule_detail->setSchedule($schedule); $schedule_detail->setLocationId($sc_detail->getLocationId()); $schedule_detail->setClassSessionId($sc_detail->getClassSessionId()); $schedule_detail->setDay($sc_detail->getDay()); $schedule_detail->save(); $cb = new Criteria(); $cb->add(StudentRaportPeer::GRADE_COMPONENT_ID, $sc->getGradeComponentId()); $cb->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $sc->getAcademicCalendarId()); $cb->add(StudentRaportPeer::SCHEDULE_DETAIL_ID, $sc_detail->getId()); $cb->add(StudentRaportPeer::SCHEDULE_ID, $sc->getId()); $stu_raports = StudentRaportPeer::doSelect($cb); foreach ($stu_raports as $stu_raport) { $sr = new StudentRaport(); $sr->setStudentId($stu_raport->getStudentId()); $sr->setAcademicCalendarId($accal_tujuan->getId()); $sr->setGradeComponentId($sc->getGradeComponentId()); $sr->setClassGroupId($sc->getClassGroupId()); $sr->setSchedule($schedule); $sr->setScheduleDetail($schedule_detail); $sr->save(); } } foreach ($sc_tutors as $sc_tutor) { $schedule_tutor = new ScheduleTutor(); $schedule_tutor->setSchedule($schedule); $schedule_tutor->setEmployeeId($sc_tutor->getEmployeeId()); $schedule_tutor->save(); } } } return $this->redirect('extracurricular/list'); }
public function addScheduleDetail(ScheduleDetail $l) { $this->collScheduleDetails[] = $l; $l->setSchedule($this); }