<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;

use App\Configuracao;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use App\Log;

class ConfiguracaoController extends Controller
{

    
    protected $model;

    public function __construct(Configuracao $model)
    {
        $this->model = $model;
    }


   


    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        if (Gate::denies('configuracao-edit')) {
            abort(403, "Não autorizado");
        }        

        $obj = Configuracao::first();

        $caminhos = [
            ['url' => '/admin', 'titulo' => 'Admin'],
            ['url' => '', 'titulo' => 'Configurações de Páginas'],
            ['url' => '', 'titulo' => 'Editar'],
        ];
        return view('admin.configuracao.editar', compact('obj','caminhos'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {

        if (Gate::denies('configuracao-edit')) {
            abort(403, "Não autorizado");
        }        

        $obj = $this->model->put($id, $request);

        if (!$obj->save()) {
            return redirect()->back()->withErrors(['Houve um erro ao processar seu pedido, tente novamente.']);
        }
        
        $logs = new Log();
        $logs->updateLog('Configuracao', $id);

        return redirect()->route('configuracao.edit', $id)->with('status', 'Registro Atualizado!');

    }

    
  
}