/**
  * @param Feedback $feedback
  * @Route("/{id}", name="admin_feedback_show", requirements={"id": "\d+"})
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function showAction(Feedback $feedback)
 {
     if ($feedback->getStatus() == false) {
         $feedback->setStatus(true);
     }
     $em = $this->getDoctrine()->getManager();
     $em->flush();
     return $this->render('@App/Admin/Feedback/show.html.twig', ['feedback' => $feedback]);
 }
 /**
  * 
  * @Route("/feedback", name="feedback")
  */
 public function feedbackAction(Request $request)
 {
     $feedback = new Feedback();
     if ($this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         $user = $this->getUser();
         $feedback->setName(sprintf("%s %s", $user->getName(), $user->getSurname()));
         $feedback->setEmail($user->getEmail());
     }
     $form = $this->createFormBuilder($feedback)->add('name', 'text', array('constraints' => array(new NotBlank(), new Length(array('max' => 100)))))->add('email', 'email', array('constraints' => array(new NotBlank(), new Length(array('max' => 100)))))->add('subject', 'text', array('constraints' => array(new NotBlank(), new Length(array('max' => 100)))))->add('message', 'textarea', array('constraints' => array(new NotBlank(), new Length(array('max' => 1000)))))->getForm();
     //when the form is posted this method prefills entity with data from form
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         // save to db
         $em->persist($feedback);
         $em->flush();
         return $this->userFeedbackSavedAction();
     }
     return $this->render('common/feedback.html.twig', array('form' => $form->createView()));
 }
 /**
  * @Route("/{doctor}/feedbackAdd")
  */
 public function feedbackAddAction(Request $request, UserDoctor $doctor)
 {
     $em = $this->getDoctrine()->getManager();
     $feedback = new Feedback();
     $feedback->setComment($request->request->get('comment'));
     $feedback->setCreated(new \DateTime());
     $feedback->setUpdated(new \DateTime());
     $feedback->setDoctor($doctor);
     $feedback->setClient($em->getRepository('AppBundle:UserClient')->find($request->request->get('client')));
     $em->persist($feedback);
     $em->flush();
     return new JsonResponse($feedback);
 }
 /**
  * @Route("/feedback/post", name="feedback")
  */
 public function feedbackSendAction(Request $request)
 {
     if ($request->isMethod('POST')) {
         $feedback = new Feedback();
         $user = $this->getUser();
         $feedback->setReporter($user);
         $feedback->setUrl($request->request->get("url"));
         $feedback->setReport($request->request->get("body") . "\n\n" . $_SERVER['REMOTE_ADDR'] . "\n\n" . $_SERVER['HTTP_USER_AGENT']);
         $feedback->setState(Feedback::REPORTED);
         $feedback->setReportdate(new \DateTime("now"));
         $em = $this->getDoctrine()->getManager();
         $em->persist($feedback);
         $em->flush();
     }
     return $this->redirect($request->server->get('HTTP_REFERER'));
 }
 /**
  * @param Order $id
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  * @Route("/feedback/{id}", name="user_feedback", requirements={"id": "\d+"})
  * @Method("POST")
  */
 public function feedbackAction(Order $id, Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     $feedback = new Feedback();
     $feedback->setStatus(false);
     $feedback->setOrder($id);
     $feedback->setUser($this->getUser());
     $requestText = $request->request->get('feedback');
     $feedback->setText($requestText['text']);
     $em->persist($feedback);
     $em->flush();
     return $this->redirectToRoute('user_orders');
 }
 /**
  * Ajax action to create a new Feedback entity.
  *
  * @Route("/post", name="app_feedback_post")
  * @Method("POST")
  */
 public function postAction(Request $request)
 {
     $requestContent = $request->getContent();
     $postedData = json_decode($requestContent);
     $routeStr = $postedData->routeStr;
     $topicStr = $postedData->topicStr;
     $contentStr = $postedData->contentStr;
     $feedbackEntry = new Feedback();
     $feedbackEntry->setTopic($topicStr);
     $feedbackEntry->setContent($contentStr);
     $feedbackEntry->setRoute($routeStr);
     $feedbackEntry->setStatus(3);
     $em = $this->getDoctrine()->getManager();
     $em->persist($feedbackEntry);
     $em->flush();
     $response = new JsonResponse();
     $response->setData(array('fullDataObj' => $postedData));
     return $response;
 }