/** * remove * Removes a single attendance records * @Route("/admin/schedule/attendance/remove/{id}/{date}", options={"expose"=true}) * @Template("TSKScheduleBundle:Default:attendance_save.html.twig") * @Method("GET") */ public function removeAction(Roster $roster, \DateTime $date) { $em = $this->getDoctrine()->getManager(); $attendance = $em->getRepository('TSK\\ScheduleBundle\\Entity\\ScheduleAttendance')->findOneBy(array('student' => $roster->getStudent(), 'class' => $roster->getClass(), 'schedule' => $roster->getSchedule(), 'attDate' => $date)); if ($attendance) { // TODO: Need try-catch here ... $em->getConnection()->beginTransaction(); $em->remove($attendance); $em->flush(); $em->getConnection()->commit(); if ($this->getRequest()->isXmlHttpRequest()) { return new Response(1); } else { $this->get('session')->getFlashBag()->add('success', 'Attendance record removed'); } } else { return new Response(0); } return $this->redirect($this->getRequest()->headers->get('referer')); }