/** * Creates a new grade entity. * * @param Request $request * @return RedirectResponse | Response */ public function createAction(Request $request) { $entity = new Grade(); $studentId = $request->get('student_id'); $studentRepository = $this->get('app_bundle.repository.student'); $student = $studentRepository->getById($studentId); $classId = $student->getClass()->getId(); $teacher = $this->get('security.context')->getToken()->getUser()->getActor(); $teacherId = $teacher->getId(); $repository = $this->get('app_bundle.repository.subject'); $query = $repository->getForTeacherAndClassQuery($classId, $teacherId); $gradeFormType = new GradeType($query); $entity->setTeacher($teacher); $entity->setStudent($student); $form = $this->createForm($gradeFormType, $entity, ['action' => $this->generateUrl('ocena_create', ['student_id' => $studentId]), 'method' => 'PUT'])->add('submit', 'submit', ['label' => 'dodaj', 'attr' => ['class' => 'btn btn-success pull-left btn-add']]); if ($request->isMethod('PUT')) { $form->handleRequest($request); if ($form->isValid()) { $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($entity); $entityManager->flush(); $this->addFlash('success', 'Pomyślnie dodano ocenę.'); return $this->redirect($this->generateUrl('ocena', ['student_id' => $studentId])); } } return $this->render('AppBundle:Grade:create.html.twig', ['entity' => $entity, 'student' => $student, 'form' => $form->createView()]); }
public function load(ObjectManager $manager) { // Je créé les objets que je veux pour mes tests $grade = new Grade(); $grade->setStudent($this->getReference('student')); $grade->setGradeNumber('18'); $grade->setExam($this->getReference('exam')); // Je sauvegarde en DB $manager->persist($grade); $manager->flush(); }