<?php

namespace App\Http\Controllers;


use App\Models\Attribute;
use App\Models\ProductAttribute;
use Request;


class AttributeController extends Controller
{

    public function __construct()
    {
        $this->middleware('admin');
    }

    public function index()
    {

        $data = [
            'values' => Attribute::all(),
            'trans' => array_keys(config('localization.supportedLocales')),
        ];
        return view('admin.attribute.index', $data);
    }

    public function store()
    {

        $data = Request::all();
        if($data['id'] == "new"){
            $model = Attribute::create([
               'parent_id' => null,
                'name' => $data['name'],
                'pos' => $data['pos'],
                'active' => isset($data['active']) ? true : false,
            ]);
        }else{
            $model = Attribute::find($data['id']);
            $model->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_attributes'));


    }


    public function delete($id){

        if(ProductAttribute::where('attribute_id', $id)->count()){
            \Session()->flash('alert-error', 'Eintrag wird als Produktattribute verwendet');
            return redirect(route('admin_product_attributes'));
        }
     /*   if(Attribute::where('parent_id', $id)->count()){
            \Session()->flash('alert-error', 'Eintrag wird als Main Attribute verwendet');
            return redirect(route('admin_industry_sectors'));
        }
     */
        $model = Attribute::findOrFail($id);
        $model->delete();
        \Session()->flash('alert-success', 'Eintrag gelöscht');
        return redirect(route('admin_product_attributes'));
    }

}