mivita/app/Http/Controllers/CategoryController.php
2018-11-17 02:01:22 +01:00

85 lines
No EOL
2.3 KiB
PHP
Executable file

<?php
namespace App\Http\Controllers;
use App\Models\Category;
use App\Models\ProductCategory;
use Input;
class CategoryController extends Controller
{
public function __construct()
{
$this->middleware('admin');
}
public function index()
{
$data = [
'values' => Category::all(),
'trans' => array_keys(config('localization.supportedLocales')),
];
return view('admin.category.index', $data);
}
public function store()
{
$data = Input::all();
if($data['id'] == "new"){
$model = Category::create([
'parent_id' => isset($data['parent_id']) ? $data['parent_id'] : null,
'name' => $data['name'],
'pos' => $data['pos'],
'active' => isset($data['active']) ? true : false,
]);
}else{
$model = Category::find($data['id']);
$model->parent_id = isset($data['parent_id']) ? $data['parent_id'] : null;
$model->name = $data['name'];
$model->pos = $data['pos'];
$model->active = isset($data['active']) ? true : false;
$model->save();
}
if(!empty($data['trans'])){
$trans = [];
foreach ($data['trans'] as $lang => $value){
if($value && $value != null){
$trans[$lang] = $value;
}
}
if(count($trans)){
$model->trans_name = $trans;
$model->save();
}
}
\Session()->flash('alert-save', '1');
return redirect(route('admin_product_categories'));
}
public function delete($id){
if(ProductCategory::where('category_id', $id)->count()){
\Session()->flash('alert-error', 'Eintrag wird als Produkt-Kategorie verwendet');
return redirect(route('admin_product_categories'));
}
if(Category::where('parent_id', $id)->count()){
\Session()->flash('alert-error', 'Eintrag wird als Haup-Kategorie verwendet');
return redirect(route('admin_product_categories'));
}
$model = Category::findOrFail($id);
$model->delete();
\Session()->flash('alert-success', 'Eintrag gelöscht');
return redirect(route('admin_product_categories'));
}
}