middleware('auth'); } public function index() { //$books = Book::available()->orderByTitle()->lists('title', 'id'); $persons = Person::active()->orderByName()->pluck('last_name', 'id'); //$categories = Category::lists('category', 'id'); $categories = Project::get(); return view('rdr.borrow.borrow', compact('persons', 'categories')); } public function store(PeminjamanRequest $request) { $input = $request->all(); $book_id = $input['book_id']; $person_id = $input['person_id']; $input['borrowed_at'] = time(); $transaction = Transaction::create($input); $book = Book::findOrFail($book_id); $stock = $book['stock'] - 1; $book->update(['stock' => $stock]); $person = Person::findOrFail($person_id); $borrow = $person['borrow'] + 1; $person->update(['borrow' => $borrow]); session()->flash('flash_message', 'You have added 1 transaction!'); return redirect()->route('borrow.report'); } public function report() { $dateNow = time(); $transactions = Transaction::with('student', 'book')->notReturnedYet()->get(); foreach ($transactions as $transaction) { $dateDiff = $dateNow - $transaction['borrowed_at']; $durasi = floor($dateDiff/(60 * 60 * 24)); // $fines = Fine::first(); // if($durasi > $fines['days']) // { // $hariDenda = $durasi - $fines['days']; // $denda = $hariDenda * $fines['fines']; // $transaction->update(['fines' => $denda]); // } // else // { // $denda = 0; // $transaction->update(['fines' => $denda]); // } } //ambil tanggal //$date2 = mktime(0,0,0,05,31,2015); //return $date2; return view('rdr.borrow.report', compact('transactions', 'durasi')); } public function pengembalian($id) { $returnedAt = time(); $transaction = Transaction::findOrFail($id); $transaction->update(['status' => 1, 'returned_at' => $returnedAt]); $book = Book::findOrFail($transaction['book_id']); $stock = $book['stock'] + 1; $book->update(['stock' => $stock]); $student = Student::findOrFail($transaction['student_id']); $borrow = $student['borrow'] - 1; $student->update(['borrow' => $borrow]); session()->flash('flash_message', 'You have returned 1 book!'); return redirect()->route('borrow.histori'); } public function perpanjang($id) { $transaction = Transaction::findOrFail($id); $dateNow = time(); $transaction->update(['borrowed_at' => $dateNow, 'fines' => 0]); session()->flash('flash_message', 'You have added 1 perpanjang!'); return redirect()->route('borrow.report'); } public function histori() { $transactions = Transaction::returned()->get(); return view('rdr.borrow.histori', compact('transactions')); } }