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); }
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); }
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); }