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.
169 lines
4.9 KiB
169 lines
4.9 KiB
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Summarie;
|
|
use App\Models\Brewerie;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SummarieController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth');
|
|
}
|
|
|
|
|
|
public function index()
|
|
{
|
|
$beers = Summarie::orderBy('name')->get();
|
|
foreach ($beers as $beer)
|
|
{
|
|
$brewery = DB::table('breweries')->where('id', $beer->brewery_id)->value('name');
|
|
$beer['brewery'] = $brewery;
|
|
}
|
|
return view('beers.index')->with('beers', $beers);
|
|
}
|
|
|
|
public function store(Request $request){
|
|
// validation
|
|
$this->validate($request,[
|
|
'name' => 'required',
|
|
'type' => 'required',
|
|
'abv' => 'required',
|
|
'fg' => 'required',
|
|
'keywords' => 'required',
|
|
'og' => 'required',
|
|
'source' => 'required',
|
|
'batch' => 'required',
|
|
'beer_id' => 'required',
|
|
'brewery_id' => 'required'
|
|
]);
|
|
|
|
|
|
// create project
|
|
$beer = new Summarie;
|
|
$beer->beer_id = $request->input('beer_id');
|
|
$beer->name = $request->input('name');
|
|
$beer->type = $request->input('type');
|
|
$beer->abv = $request->input('abv');
|
|
$beer->fg = $request->input('fg');
|
|
$beer->keywords = '{'.$request->input('keywords').'}';
|
|
if ($request->mine)
|
|
{
|
|
$beer->mine = true;
|
|
} else {
|
|
$beer->mine = false;
|
|
}
|
|
$beer->og = $request->input('og');
|
|
$beer->source = $request->input('source');
|
|
$beer->batch = $request->input('batch');
|
|
$beer->brewery_id = $request->input('brewery_id');
|
|
if ($request->input('notes'))
|
|
{
|
|
$beer->notes = $request->input('notes');
|
|
}
|
|
if ($request->input('boil_volume'))
|
|
{
|
|
$beer->boil_volume = $request->input('boil_volume');
|
|
}
|
|
if ($request->input('ebc'))
|
|
{
|
|
$beer->ebc = $request->input('ebc');
|
|
}
|
|
if ($request->input('srm'))
|
|
{
|
|
$beer->srm = $request->input('srm');
|
|
}
|
|
if ($request->input('ph'))
|
|
{
|
|
$beer->ph = $request->input('ph');
|
|
}
|
|
$beer->save();
|
|
|
|
return redirect('/beers')->with('success', 'Beer Added');
|
|
}
|
|
|
|
public function edit($id){
|
|
$beer = Summarie::where('beer_id', (int)$id)->first();
|
|
$breweries = Brewerie::orderBy('name')->get();
|
|
$selected_brewery = $beer->brewery_id;
|
|
$data = array('beer'=>$beer, 'breweries'=>$breweries, 'selected_brewery'=>$selected_brewery);
|
|
return view('beers.edit')->with($data);
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
$request->validate([
|
|
'name' => 'required',
|
|
'type' => 'required',
|
|
'abv' => 'required',
|
|
'fg' => 'required',
|
|
'keywords' => 'required',
|
|
'og' => 'required',
|
|
'source' => 'required',
|
|
'batch' => 'required',
|
|
'brewery_id' => 'required'
|
|
]);
|
|
|
|
$beer = Summarie::where('beer_id', (int)$id)->first();
|
|
$beer->name = $request->input('name');
|
|
$beer->type = $request->input('type');
|
|
$beer->abv = $request->input('abv');
|
|
$beer->fg = $request->input('fg');
|
|
$beer->keywords = '{'.$request->input('keywords').'}';
|
|
if ($request->mine)
|
|
{
|
|
$beer->mine = true;
|
|
} else {
|
|
$beer->mine = false;
|
|
}
|
|
$beer->og = $request->input('og');
|
|
$beer->source = $request->input('source');
|
|
$beer->batch = $request->input('batch');
|
|
$beer->brewery_id = $request->input('brewery_id');
|
|
if ($request->input('notes'))
|
|
{
|
|
$beer->notes = $request->input('notes');
|
|
}
|
|
if ($request->input('boil_volume'))
|
|
{
|
|
$beer->boil_volume = $request->input('boil_volume');
|
|
}
|
|
if ($request->input('ebc'))
|
|
{
|
|
$beer->ebc = $request->input('ebc');
|
|
}
|
|
if ($request->input('srm'))
|
|
{
|
|
$beer->srm = $request->input('srm');
|
|
}
|
|
if ($request->input('ph'))
|
|
{
|
|
$beer->ph = $request->input('ph');
|
|
}
|
|
$beer->save();
|
|
|
|
return redirect('/beers')->with('success', 'Beer updated!');
|
|
}
|
|
public function create()
|
|
{
|
|
$lastID = Summarie::orderBy('beer_id','desc')->take(1)->value('beer_id');
|
|
$beer_id = number_format($lastID) + 1;
|
|
$breweries = Brewerie::orderBy('name')->get();
|
|
$data = array('beer_id'=>$beer_id, 'breweries'=>$breweries);
|
|
return view('beers.create')->with($data);
|
|
|
|
}
|
|
public function destroy($id)
|
|
{
|
|
$beer = Summarie::find($id);
|
|
$beer->delete();
|
|
|
|
return redirect('/beers')->with('success', 'Beer deleted!');
|
|
}
|
|
|
|
|
|
|
|
}
|