コード例 #1
0
 /**
  * @Given These expense lines exist
  */
 public function TheseExpensesExist(TableNode $table)
 {
     // get any fully persisted user
     foreach ($table->getHash() as $hash) {
         $line = new Expense();
         foreach ($hash as $key => $val) {
             $setter = 'set' . ucfirst($key);
             $val = $this->convertExpense($key, $val);
             $line->{$setter}($val);
         }
         $line->setUser('test-user');
         $this->em->persist($line);
         $this->expenses[] = $line;
     }
     $this->em->flush();
 }
コード例 #2
0
 /**
  * Update existing expense from the submitted data or create a new expense at a specific location.
  *
  * @ApiDoc(
  *   resource = true,
  *   input = "AppBundle\Form\ExpenseType",
  *   statusCodes = {
  *     201 = "Returned when a new resource is created",
  *     204 = "Returned when successful",
  *     400 = "Returned when the form has errors"
  *   }
  * )
  *
  * @Annotations\View(
  *   template="AppBundle:Expense:editExpense.html.twig",
  *   templateVar="form"
  * )
  *
  * @param Request $request the request object
  * @param int     $id      the expense id
  *
  * @return FormTypeInterface|RouteRedirectView
  *
  * @throws NotFoundHttpException when expense not exist
  */
 public function putExpenseAction(Request $request, $id)
 {
     $expense = $this->getExpenseManager()->get($id);
     if (false === $expense) {
         $expense = new Expense();
         $expense->id = $id;
         $statusCode = Codes::HTTP_CREATED;
     } else {
         $statusCode = Codes::HTTP_NO_CONTENT;
     }
     $e = $this->get('request')->request->all();
     $dateName = 'created_at';
     if (isset($e[$dateName])) {
         $expense->setcreatedAt($e[$dateName]);
     }
     if (isset($e['description'])) {
         $expense->setDescription($e['description']);
     }
     if (isset($e['amount'])) {
         $expense->setAmount($e['amount']);
     }
     if (isset($e['comment'])) {
         $expense->setComment($e['comment']);
     }
     $userApp = $this->get('app.user');
     $expense->setUser($userApp->getUserId());
     $this->getExpenseManager()->set($expense);
     return $this->routeRedirectView('get_expense', array('id' => $expense->getId()), $statusCode);
     #$form = $this->createForm(new ExpenseType(), $expense);
     // $form->submit($request);
     // if ($form->isValid()) {
     //}
     return $form;
 }
コード例 #3
0
 public function set(Expense $expense)
 {
     $expense->setUser($this->userApp->getUserId());
     //#dump($expense);
     return $this->repo->save($expense);
 }
コード例 #4
0
 public function createExpense(DateTime $date, $amount, $desc, $comment)
 {
     $expense = new Expense();
     $expense->setUser($this->u)->setCreatedAt($date)->setDescription($desc)->setAmount($amount)->setComment($comment);
     return $expense;
 }