Inheritance: extends EntityRequest
 public function edit(ExpenseRequest $request)
 {
     $expense = $request->entity();
     $expense->expense_date = Utils::fromSqlDate($expense->expense_date);
     $actions = [];
     if ($expense->invoice) {
         $actions[] = ['url' => URL::to("invoices/{$expense->invoice->public_id}/edit"), 'label' => trans('texts.view_invoice')];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("invoice")', 'label' => trans('texts.invoice_expense')];
         // check for any open invoices
         $invoices = $expense->client_id ? $this->invoiceRepo->findOpenInvoices($expense->client_id, ENTITY_EXPENSE) : [];
         foreach ($invoices as $invoice) {
             $actions[] = ['url' => 'javascript:submitAction("add_to_invoice", ' . $invoice->public_id . ')', 'label' => trans('texts.add_to_invoice', ['invoice' => $invoice->invoice_number])];
         }
     }
     $actions[] = \DropdownButton::DIVIDER;
     if (!$expense->trashed()) {
         $actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans('texts.archive_expense')];
         $actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans('texts.delete_expense')];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("restore")', 'label' => trans('texts.restore_expense')];
     }
     $data = ['vendor' => null, 'expense' => $expense, 'method' => 'PUT', 'url' => 'expenses/' . $expense->public_id, 'title' => 'Edit Expense', 'actions' => $actions, 'vendors' => Vendor::scope()->with('vendor_contacts')->orderBy('name')->get(), 'vendorPublicId' => $expense->vendor ? $expense->vendor->public_id : null, 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), 'clientPublicId' => $expense->client ? $expense->client->public_id : null, 'categoryPublicId' => $expense->expense_category ? $expense->expense_category->public_id : null];
     $data = array_merge($data, self::getViewModel());
     return View::make('expenses.edit', $data);
 }
示例#2
0
 public function update(ExpenseRequest $request, Expense $expense)
 {
     //Client $client refrences a Route Model Binding method found is RouteServiceProvider.php
     $expense->update($request->all());
     $expense = Expense::latest()->first();
     \Session::flash('flash_message', 'Expense ' . $expense->id . ' was updated.');
     return redirect('expenses');
 }
 public function edit(ExpenseRequest $request)
 {
     $expense = $request->entity();
     $expense->expense_date = Utils::fromSqlDate($expense->expense_date);
     $actions = [];
     if ($expense->invoice) {
         $actions[] = ['url' => URL::to("invoices/{$expense->invoice->public_id}/edit"), 'label' => trans("texts.view_invoice")];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("invoice")', 'label' => trans("texts.invoice_expense")];
     }
     $actions[] = \DropdownButton::DIVIDER;
     if (!$expense->trashed()) {
         $actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans('texts.archive_expense')];
         $actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans('texts.delete_expense')];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("restore")', 'label' => trans('texts.restore_expense')];
     }
     $data = array('vendor' => null, 'expense' => $expense, 'method' => 'PUT', 'url' => 'expenses/' . $expense->public_id, 'title' => 'Edit Expense', 'actions' => $actions, 'vendors' => Vendor::scope()->with('vendor_contacts')->orderBy('name')->get(), 'vendorPublicId' => $expense->vendor ? $expense->vendor->public_id : null, 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), 'clientPublicId' => $expense->client ? $expense->client->public_id : null);
     $data = array_merge($data, self::getViewModel());
     return View::make('expenses.edit', $data);
 }
示例#4
0
 public function update(ExpenseRequest $request, Expense $expense)
 {
     //Client $client refrences a Route Model Binding method found is RouteServiceProvider.php
     if ($request->hasFile('file')) {
         $file = $request->file('file');
         $name = time() . 'expense.' . $file->guessClientExtension();
         $file->move('docs/expenses', $name);
         $expense->update($request->all());
         $file = $request->file('file');
         $name = time() . 'expense.' . $file->guessClientExtension();
         $url = Expense::latest()->first();
         $url->receipt_url = $name;
         $url->save();
     } else {
         $expense->update($request->all());
     }
     $expense = Expense::latest()->first();
     \Session::flash('flash_message', 'Expense ' . $expense->id . ' was updated.');
     return redirect('expenses');
 }
 /**
  * @SWG\Delete(
  *   path="/expenses/{expense_id}",
  *   tags={"expense"},
  *   summary="Delete a expense",
  *   @SWG\Parameter(
  *     in="body",
  *     name="body",
  *     @SWG\Schema(ref="#/definitions/Expense")
  *   ),
  *   @SWG\Response(
  *     response=200,
  *     description="Delete expense",
  *      @SWG\Schema(type="object", @SWG\Items(ref="#/definitions/Expense"))
  *   ),
  *   @SWG\Response(
  *     response="default",
  *     description="an ""unexpected"" error"
  *   )
  * )
  */
 public function destroy(ExpenseRequest $request)
 {
     $expense = $request->entity();
     $this->expenseRepo->delete($expense);
     return $this->itemResponse($expense);
 }