/**
  * @Route("/budget/{budget_id}/invitation/new", name="sb_invitation_new", requirements={"budget_id": "\d+"})
  */
 public function newAction(Request $request, $budget_id)
 {
     $budget = $this->get('app.checker')->budget($this->getUser(), $budget_id, false);
     $invitation = new Invitation();
     $invitation->setBudget($budget);
     $form = $this->createForm(InvitationType::class, $invitation);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $invitation->setUser($this->getUser());
         $action = Action::newInvitation($budget, $this->getUser(), $invitation->toArray());
         $em = $this->getDoctrine()->getManager();
         $em->persist($invitation);
         $em->persist($action);
         $em->flush();
         $this->addFlash('notice', $this->get('translator')->trans('invitation.createsuccessful'));
         return $this->redirectToRoute('sb_budget_show', array('id' => $budget->getId()));
     }
     return $this->render('invitation/form.html.twig', array('form' => $form->createView(), 'budget' => $budget));
 }
예제 #2
0
 /**
  * @Route("/budget/new", name="sb_budget_new")
  */
 public function newAction(Request $request)
 {
     $budget = new Budget();
     $form = $this->createForm(BudgetType::class, $budget);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $budget->setUser($this->getUser());
         $invitation = new Invitation();
         $invitation->setBudget($budget);
         $invitation->setUser($budget->getUser());
         $invitation->setTarget($budget->getUser());
         $invitation->setStatus('manager');
         $action = Action::newBudget($budget, $this->getUser(), $budget->toArray());
         $em = $this->getDoctrine()->getManager();
         $em->persist($budget);
         $em->persist($invitation);
         $em->persist($action);
         $em->flush();
         $this->addFlash('notice', $this->get('translator')->trans('budget.createsuccessful'));
         return $this->redirectToRoute('sb_budgets');
     }
     return $this->render('budget/form.html.twig', array('form' => $form->createView()));
 }