Skip to content

Instantly share code, notes, and snippets.

@betinho37
Created September 5, 2017 18:13
Show Gist options
  • Save betinho37/fe2b3b49037271fdb599b7ec17df6a0b to your computer and use it in GitHub Desktop.
Save betinho37/fe2b3b49037271fdb599b7ec17df6a0b to your computer and use it in GitHub Desktop.
<?php
namespace App\Http\Controllers;
use App\Receita;
use App\Empresa;
use App\Cliente;
use Illuminate\Http\Request;
use DB;
use Storage;
class ReceitaController extends Controller
{
private $receita, $empresa, $cliente;
public function __construct(Receita $receita, Empresa $empresa, Cliente $cliente)
{
$this->receita = $receita;
$this->empresa = $empresa;
$this->cliente = $cliente;
$this->middleware('auth');
}
public function index()
{
$receita = $this->receita->orderBy('data', 'asc')->get();
return view('sige.receita.index', compact('receita'));
}
public function create ()
{
$list_empresa = $this->empresa->listEmpresas();
$list_cliente = $this->cliente->listClientes();
return view ('sige.receita.create', compact('list_empresa', 'list_cliente'));
}
public function store(Request $request)
{
if ($file = \Input::file('arquivo')){
$destinationPath = public_path().DIRECTORY_SEPARATOR.'uploads';
$name['arquivo'] = $file->getClientOriginalName();
$inputs = $request->all();
$inputs['valor'] = str_replace(',', '.', str_replace('.', '', $inputs['valor']));
$file->move( $destinationPath, $name['arquivo']);
$inputs['arquivo'] = $name['arquivo'];
$this->receita->create($inputs);
return view ('/paginainicial');
}
$inputs = $request->all();
$inputs['valor'] = str_replace(',', '.', str_replace('.', '', $inputs['valor']));
$this->receita->create($inputs);
return view ('/paginainicial');
}
public function show($id)
{
$receita = Receita::find($id);
return view('sige.receita');
}
public function edit($id)
{
$list_empresa = $this->empresa->listEmpresas();
$list_cliente = $this->cliente->listClientes();
$receita = Receita::find($id);
return view('sige.receita.edit', compact('receita', 'list_empresa', 'list_cliente'));
}
public function update(Request $request, $id)
{
$inputs = $request->all();
unset($inputs['_method']);
unset($inputs['_token']);
$inputs['valor'] = str_replace(',', '.', str_replace('.', '', $inputs['valor']));
if($file = \Input::file('arquivo')){
$destinationPath = public_path().DIRECTORY_SEPARATOR.'uploads';
$name['arquivo'] = $file->getClientOriginalName();
$file->move( $destinationPath, $name['arquivo']);
$inputs['valor'] = str_replace(',', '.', str_replace('.', '', $inputs['valor']));
$inputs['arquivo'] = $name['arquivo'];
}
if (Storage::disk('public')->exists('arquivo')) {
$path= 'public/uploads/';
Storage::delete($path . $file);
}
DB::table('receita')
->where('id', $id)
->update($inputs);
return view('paginainicial');
}
public function download($id)
{
$receita = Receita::find($id);
$pieces = explode(".", $receita->arquivo);
$final = 'meu_arquivo.' . $pieces[1];
return response()->download($receita->arquivo);
return response()->download($receita->arquivo, $final, 'Content-Type: application/pdf');
// $headers = array('Content-Type: application/pdf',);
// return Response::download($file, 'info.pdf',$headers);
}
public function destroy($id)
{
$receita = receita::find($id);
$receita->delete();
return view('paginainicial');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment