You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.1 KiB
95 lines
3.1 KiB
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Grainbill;
|
|
use App\Models\Summarie;
|
|
use App\Models\Grain;
|
|
|
|
class GrainbillController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth');
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$grainbills = Grainbill::get();
|
|
foreach ($grainbills as $grainbill)
|
|
{
|
|
$beername = Summarie::where('beer_id', $grainbill->beer_id)->value('name');
|
|
$grainname = Grain::where('id', $grainbill->grain_id)->value('name');
|
|
$grainbill['beer'] = $beername;
|
|
$grainbill['name'] = $grainname;
|
|
}
|
|
return view('grainbills.index')->with('grainbills', $grainbills);
|
|
}
|
|
|
|
|
|
public function store(Request $request){
|
|
// validation
|
|
$this->validate($request,[
|
|
'beer_id' => 'required',
|
|
'grain_id' => 'required',
|
|
'amount' => 'required',
|
|
'grain_bill' => 'required',
|
|
]);
|
|
|
|
// create project
|
|
$grain = new Grainbill;
|
|
$lastID = Grainbill::orderBy('id','desc')->take(1)->value('id');
|
|
$grain->id = number_format($lastID) + 1;
|
|
$grain->beer_id = $request->input('beer_id');
|
|
$grain->grain_id = $request->input('grain_id');
|
|
$grain->amount = $request->input('amount');
|
|
$grain->grain_bill = $request->input('grain_bill');
|
|
$grain->save();
|
|
|
|
return redirect('/grainbills')->with('success', 'Grain Bill Added');
|
|
}
|
|
public function edit($id){
|
|
$grainbill = Grainbill::where('id', (int)$id)->first();
|
|
$beers = Summarie::orderBy('name')->get();
|
|
$selected_beer = $grainbill->beer_id;
|
|
$grains = Grain::orderBy('name')->get();
|
|
$selected_grain = $grainbill->grain_id;
|
|
$data = array('grainbill'=>$grainbill, 'beers'=>$beers, 'grains'=>$grains, 'selected_beer'=>$selected_beer, 'selected_grain'=>$selected_grain);
|
|
return view('grainbills.edit')->with($data);
|
|
}
|
|
|
|
public function update(Request $request, $id){
|
|
// validation
|
|
$this->validate($request,[
|
|
'beer_id' => 'required',
|
|
'grain_id' => 'required',
|
|
'amount' => 'required',
|
|
'grain_bill' => 'required',
|
|
]);
|
|
|
|
$grain = Grainbill::where('id', (int)$id)->first();
|
|
$grain->beer_id = $request->input('beer_id');
|
|
$grain->grain_id = $request->input('grain_id');
|
|
$grain->amount = $request->input('amount');
|
|
$grain->grain_bill = $request->input('grain_bill');
|
|
$grain->save();
|
|
|
|
return redirect('/grainbills')->with('success', 'Grain Updated!');
|
|
}
|
|
public function create()
|
|
{
|
|
$beers = Summarie::orderBy('name')->get();
|
|
$grains = Grain::orderBy('name')->get();
|
|
$data = array('beers'=>$beers, 'grains'=>$grains);
|
|
return view('grainbills.create')->with($data);
|
|
}
|
|
public function destroy($id)
|
|
{
|
|
$grainbill = Grainbill::find($id);
|
|
$grainbill->delete();
|
|
|
|
return redirect('/grainbills')->with('success', 'Grain deleted!');
|
|
}
|
|
|
|
}
|