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.
97 lines
3.1 KiB
97 lines
3.1 KiB
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Fermentation;
|
|
use App\Models\Yeast;
|
|
use App\Models\Summarie;
|
|
class FermentationController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth');
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$fermentations = Fermentation::get();
|
|
foreach ($fermentations as $fermentation)
|
|
{
|
|
$beername = Summarie::where('beer_id', $fermentation->beer_id)->value('name');
|
|
$yeastname = Yeast::where('id', $fermentation->yeast_id)->value('name');
|
|
$fermentation['beer'] = $beername;
|
|
$fermentation['name'] = $yeastname;
|
|
}
|
|
return view('fermentations.index')->with('fermentations', $fermentations);
|
|
}
|
|
|
|
|
|
public function store(Request $request){
|
|
// validation
|
|
$this->validate($request,[
|
|
'beer_id' => 'required',
|
|
'yeast_id' => 'required',
|
|
'temperature' => 'required',
|
|
'duration' => 'required',
|
|
]);
|
|
|
|
|
|
// create project
|
|
$yeast = new Fermentation;
|
|
$lastID = Fermentation::orderBy('id','desc')->take(1)->value('id');
|
|
$yeast->id = number_format($lastID) + 1;
|
|
$yeast->beer_id = $request->input('beer_id');
|
|
$yeast->yeast_id = $request->input('yeast_id');
|
|
$yeast->temperature = $request->input('temperature');
|
|
$yeast->duration = $request->input('duration');
|
|
if ($request->input('alternative'))
|
|
{
|
|
$yeast->alternative = $request->input('alternative');
|
|
}
|
|
$yeast->save();
|
|
|
|
return redirect('/fermentations')->with('success', 'Fermentation Step Added');
|
|
}
|
|
public function edit($id){
|
|
$fermentation = Fermentation::where('id', (int)$id)->first();
|
|
return view('fermentations.edit')->with('fermentation', $fermentation);
|
|
}
|
|
|
|
public function update(Request $request, $id){
|
|
// validation
|
|
$this->validate($request,[
|
|
'beer_id' => 'required',
|
|
'yeast_id' => 'required',
|
|
'temperature' => 'required',
|
|
'duration' => 'required',
|
|
]);
|
|
|
|
$yeast = Fermentation::where('id', (int)$id)->first();
|
|
$yeast->beer_id = $request->input('beer_id');
|
|
$yeast->yeast_id = $request->input('yeast_id');
|
|
$yeast->temperature = $request->input('temperature');
|
|
$yeast->duration = $request->input('duration');
|
|
if ($request->input('alternative'))
|
|
{
|
|
$yeast->alternative = $request->input('alternative');
|
|
}
|
|
$yeast->save();
|
|
|
|
return redirect('/fermentations')->with('success', 'Fermentation Step Updated!');
|
|
}
|
|
public function create()
|
|
{
|
|
$beers = Summarie::orderBy('name')->get();
|
|
$yeasts = Yeast::orderBy('name')->get();
|
|
$data = array('beers'=>$beers, 'yeasts'=>$yeasts);
|
|
return view('fermentations.create')->with($data);
|
|
}
|
|
public function destroy($id)
|
|
{
|
|
$fermentation = Fermentation::find($id);
|
|
$fermentation->delete();
|
|
|
|
return redirect('/fermentations')->with('success', 'Fermentation Step deleted!');
|
|
}
|
|
}
|