/** * @Route("/admin/course_/cath/{cathedraId}", name = "admin_course_add") * @Route("/admin/report_/cath/{cathedraId}", name = "admin_report_add") * @Template("LearningMainBundle:Admin:course_.html.twig") */ public function addAction($cathedraId = null) { $request = $this->container->get('request'); $routeName = $request->get('_route'); $portal = $this->container->getParameter('portal'); $request = $this->getRequest(); $em = $this->getDoctrine()->getManager(); $course = new Course(); $specialty = $em->getRepository('LearningMainBundle:Specialty')->findAll(); $cathedra = $em->getRepository('LearningMainBundle:Cathedra')->findAll(); if ($request->isMethod('POST')) { $cathId = $request->request->get('cathedra'); $cath = $em->getRepository('LearningMainBundle:Cathedra')->findOneById($cathId); $course->setTitle($request->request->get('title')); $session = new Session(); $file = $session->get('photoFile'); if ($file and is_file($file)) { $info = new \SplFileInfo($file); $path = $this->get('kernel')->getRootDir() . '/../web/upload/course/'; $path = $path . '/' . time() . '.' . $info->getExtension(); if (copy($file, $path)) { unlink($file); $session->set('photoFile', null); } $newPath = $_SERVER['DOCUMENT_ROOT'] . '/upload/course/' . time() . '.jpg'; move_uploaded_file($file, $newPath); $course->setImage($this->getArrayToImg($newPath)); } else { $course->setImage('N;'); } $course->setCathedra($cath); $course->setTimeToLearn($request->request->get('timeToLearn')); $course->setEnabled($request->request->get('enabled')); $course->setTypeCourse($request->request->get('typeCourse')); // if($routeName == "admin_course_add") { // $course->setTypeCourse(1); // } else { // $course->setTypeCourse(2); // } $course->setPrice($request->request->get('price')); $course->setPriceRoh($request->request->get('price')); $course->setRecording($request->request->get('recording')); $course->setEvent($request->request->get('event')); if ($this->get('security.context')->isGranted('ROLE_ADMIN')) { $orgTmp = $this->getDoctrine()->getRepository('LearningMainBundle:Organization')->findOneById($request->request->get('organization')); if ($orgTmp != null) { $course->setOrganization($orgTmp); } } $course->setText($request->request->get('text')); if ($request->request->get('ballsRoh')) { $course->setBallsRoh($request->request->get('ballsRoh')); } else { $course->setBallsRoh(0); } if ($this->get('security.context')->isGranted('ROLE_ADMIN')) { if ($request->request->get('user') == null || $request->request->get('user') == 'null') { } else { $user = $this->getDoctrine()->getRepository('LearningMainBundle:User')->findOneById($request->request->get('user')); $course->setAuthor($user); } } else { $course->setAuthor($this->getUser()); } if ($this->get('security.context')->isGranted('ROLE_ORGANIZATION')) { $course->setOrganization($this->getUser()->getOrganization()); } $em->persist($course); if ($request->request->has('university')) { $universityId = $request->request->get('university'); $university = $em->getRepository('LearningMainBundle:University')->findOneById($universityId); $course->setUniversity($university); } if ($request->request->get('specialty')) { $this->setSpecialties($course, $request->request->get('specialty')); } elseif ($request->request->get('specialization')) { $this->setSpecializations($course, $request->request->get('specialization')); } $em->flush(); $em->refresh($course); $message = \Swift_Message::newInstance()->setSubject('Новый курс')->setContentType('text/html')->setCharset('utf-8')->setFrom('*****@*****.**', "Уведомление {$portal}")->setTo($this->container->getParameter('manager_emails'))->setBody($this->renderView('LearningMainBundle:Email:new_course_notice.html.twig', array('user' => $this->getUser(), 'course' => $course, 'portal' => $portal))); $this->get('mailer')->send($message); $this->get('session')->getFlashBag()->add('popup', 'Добавлен'); if ($routeName == "admin_course_add") { return $this->redirect($this->generateUrl('admin_course_edit', array('courseId' => $course->getId()))); } else { return $this->redirect($this->generateUrl('admin_report_edit', array('courseId' => $course->getId()))); } } $thisCathedra = $cathedraId ? $em->getRepository('LearningMainBundle:Cathedra')->findOneById($cathedraId) : null; if ($this->getUser()->getOrganization()) { $organizationId = $this->getUser()->getOrganization()->getId(); } else { $organizationId = null; } $organization = $organizationId ? $em->getRepository('LearningMainBundle:Organization')->findOneById($organizationId) : $em->getRepository('LearningMainBundle:Organization')->findAll(); $specialization = $em->getRepository('LearningMainBundle:Specialization')->findAll(); $universities = $this->getDoctrine()->getRepository('LearningMainBundle:University')->findAll(); $tUsers = $em->getRepository('LearningMainBundle:user')->findAll(); $users = array(); foreach ($tUsers as $tUser) { if (in_array('ROLE_ADMIN', $tUser->getRoles()) || in_array('ROLE_ORGANIZATION', $tUser->getRoles()) || in_array('ROLE_EDITOR', $tUser->getRoles()) || in_array('ROLE_CURATOR', $tUser->getRoles())) { $users[] = $tUser; } } $data = array('specialty' => $specialty, 'specialization' => $specialization, 'portal' => $portal, 'cathedra' => $cathedra, 'organization' => $organization, 'thisCathedra' => $thisCathedra, 'users' => $users, 'universities' => $universities); // if($routeName == "admin_course_add") { return $this->render('LearningMainBundle:Admin:course_.html.twig', $data); // } else { // return $this->render('LearningMainBundle:Admin:report_.html.twig', $data); // } }