public function messages() { $reportId = $this->route('reportId'); if ($reportId == null) { $expenseId = $this->route('expenseId'); $reportId = Expense::find($expenseId)->report_id; } $report = ExpenseReport::find($reportId); $messages = ['title.required' => "Title is required", 'date.after' => "Expense date should be on or after report start date (" . date('d M Y', strtotime($report->startDate)) . ")", $report->owner_id . '.numeric' => 'Contributions should be numeric', $report->owner_id . '.min' => 'Contributions cannot be negative', $report->owner_id . 'p.numeric' => 'Participation Ratios should be numeric', $report->owner_id . 'p.min' => 'Participation Ratios cannot be negative']; $amount = 0; $participationRatios = 0; $input = $this->all(); foreach ($report->users as $user) { $amount += $input[$user->id]; $participationRatios += $input[$user->id . 'p']; $messages[$user->id . '.numeric'] = 'Contributions should be numeric'; $messages[$user->id . '.min'] = 'Contributions cannot be negative'; $messages[$user->id . 'p.numeric'] = 'Participation Ratios should be numeric'; $messages[$user->id . 'p.min'] = 'Participation Ratios cannot be negative'; } if ($amount == 0) { $messages[$report->owner_id . '.min'] = 'Sum of Contributions cannot be 0'; $messages[$report->owner_id . '.required'] = 'Sum of Contributions cannot be 0'; } if ($participationRatios == 0) { $messages[$report->owner_id . 'p.min'] = 'Sum of Participation Ratios cannot be 0'; $messages[$report->owner_id . 'p.required'] = 'Sum of Participation Ratios cannot be 0'; } return $messages; }
/** * Save a new expense. * * @param Request $request * @return Response */ public function store(Request $request) { $receipt = $request->file('receipt_url'); if ($receipt) { $filename = time() . '.' . $receipt->getClientOriginalExtension(); $filepath = '/receipts/' . $filename; if (!Storage::disk('s3')->put($filepath, file_get_contents($receipt), 'public')) { $filename = ''; } } $this->validate($request, ['amount' => 'required']); if ($request->purchase_date) { $request->purchase_date = date('Y-m-d', strtotime($request->purchase_date)); } if (!$request->id) { Expense::create(['store_id' => $request->store_id, 'amount' => $request->amount, 'purchase_date' => $request->purchase_date, 'notes' => $request->notes, 'receipt_url' => isset($filepath) ? $filepath : '']); } else { $purchase = Expense::find($request->id); $purchase->notes = $request->notes; $purchase->store_id = $request->store_id; $purchase->amount = $request->amount; $purchase->purchase_date = $request->purchase_date; if ($receipt) { $purchase->receipt_url = $filepath; } $purchase->save(); } return redirect('/expense'); }
/** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { $expenses = $this->input('expense_ids'); if ($expenses != null && count($expenses) > 0) { $reportId = Expense::find($expenses[0])->report_id; $report = ExpenseReport::find($reportId); if ($report->status) { return false; } } return true; }
private function setPurchasePayment() { $accountPayment = NameOfAccount::find(Input::get('account_name_id')); if ($accountPayment->opening_balance >= Input::get('amount')) { $expense[0] = Expense::where('invoice_id', '=', Input::get('invoice_id'))->get(); $expenseTransaction = new Transaction(); $expenseTransaction->branch_id = Input::get('branch_id'); $expenseTransaction->account_category_id = Input::get('account_category_id'); $expenseTransaction->account_name_id = Input::get('account_name_id'); $expenseTransaction->amount = Input::get('amount'); $expenseTransaction->remarks = Input::get('remarks'); $expenseTransaction->type = "Expense"; $expenseTransaction->user_id = Session::get('user_id'); $expenseTransaction->payment_method = Input::get('payment_method'); $expenseTransaction->invoice_id = Input::get('invoice_id'); $expenseTransaction->cheque_no = Input::get('cheque_no'); $expenseTransaction->save(); $totalAmount = 0; $transactions = Transaction::where('invoice_id', '=', $expenseTransaction->invoice_id)->get(); foreach ($transactions as $transaction) { $totalAmount = $totalAmount + $transaction->amount; } $expense = Expense::find($expense[0][0]['id']); if ($totalAmount == $expense->amount) { $expense->status = "Completed"; } else { $expense->status = "Partial"; } $expense->save(); $accountPayment->opening_balance = $accountPayment->opening_balance - Input::get('amount'); $accountPayment->save(); Session::flash('message', 'Expense has been Successfully Cleared.'); } else { Session::flash('message', 'You dont have Enough Balance'); } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($project_id, $id) { $expense = Expense::find($id); $expense->delete(); flash()->success('Expense has been successfully deleted!'); return redirect()->action('ProjectsController@show', $project_id); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $expense = Expense::find($id); $supplements = array_column($expense->supplements()->get()->toArray(), 'id'); ExpenseSupplement::destroy($supplements); Expense::destroy($expense->id); }