/**
  * 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()]);
 }
Beispiel #2
0
 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();
 }