Add money lending

This commit is contained in:
Régis
2017-05-30 12:21:41 -04:00
committed by GitHub
parent 0b6afb6a52
commit 5fd8530bfa
25 changed files with 505 additions and 97 deletions
+87
View File
@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Auth;
use App\Kid;
use App\Debt;
use App\Gift;
use App\Note;
use App\Task;
@@ -1434,4 +1435,90 @@ class PeopleController extends Controller
return redirect('/people/'.$contact->id);
}
/**
* Show the Add money view.
* @param int $peopleId
*/
public function addDebt($contactId)
{
$contact = Contact::findOrFail($contactId);
if ($contact->account_id != Auth::user()->account_id) {
return redirect()->route('people.index');
}
$data = [
'contact' => $contact,
];
return view('people.debt.add', $data);
}
/**
* Actually store the debt.
* @param Request $request
* @param int $peopleId
* @return
*/
public function storeDebt(Request $request, $contactId)
{
$contact = Contact::findOrFail($contactId);
if ($contact->account_id != Auth::user()->account_id) {
return redirect()->route('people.index');
}
$amount = $request->input('amount');
$reason = $request->input('reason');
$indebt = $request->input('in-debt');
$debt = new Debt;
$debt->account_id = $contact->account_id;
$debt->contact_id = $contact->id;
$debt->in_debt = $indebt;
$debt->amount = $amount;
if ($reason != '') {
$debt->reason = $reason;
}
$debt->save();
$contact->logEvent('debt', $debt->id, 'create');
$request->session()->flash('success', trans('people.debt_add_success'));
return redirect('/people/'.$contact->id);
}
public function deleteDebt(Request $request, $contactId, $debtId)
{
$contact = Contact::findOrFail($contactId);
$debt = Debt::findOrFail($debtId);
if ($contact->account_id != Auth::user()->account_id) {
return redirect()->route('people.index');
}
if ($debt->contact_id != $contact->id) {
return redirect()->route('people.index');
}
// Delete all events
$events = Event::where('contact_id', $debt->contact_id)
->where('account_id', $debt->account_id)
->where('object_type', 'debt')
->where('object_id', $debt->id)
->get();
foreach ($events as $event) {
$event->delete();
}
$debt->delete();
$request->session()->flash('success', trans('people.debt_delete_success'));
return redirect('/people/'.$contact->id);
}
}