/** * Display a listing of conversas * * @return Response */ public function index() { $conversas = Conversa::orderBy('id', 'DESC')->get(); $ontem = mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")); $anteontem = mktime(0, 0, 0, date("m"), date("d") - 2, date("Y")); $conversas->hoje = Conversa::where('data', '=', date('Y-m-d'))->get(); $conversas->ontem = Conversa::where('data', '=', date('Y-m-d', $ontem))->get(); $conversas->anteontem = Conversa::where('data', '=', date('Y-m-d', $anteontem))->get(); $conversas->anteriores = Conversa::where('data', '<', date('Y-m-d', $anteontem))->get(); // $conversas_hoje = Conversa::where(function ($query)use($hoje) { // $query->where('created_at', '=', $hoje) // ->orWhere('b', '=', 1); // })->where(function ($query) { // $query->where('c', '=', 1) // ->orWhere('d', '=', 1); // }); //if( Request::ajax() ){ //return $conversas; //}else{ return View::make('conversas.index', compact('conversas')); //} }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // Cliente $cliente = Cliente::find($id); $pedidos = Pedido::where('cliente_id', $cliente->id)->orderBy('created_at', 'desc')->with(['fornecedor'])->get(); $conversas = Conversa::where('cliente_id', $cliente->id)->orderBy('created_at', 'desc')->get(); $cliente->pedidos = $pedidos; $cliente->conversas = $conversas; if ($cliente) { $pedidos = $cliente->pedidos(); $tarefas = Tarefa::where('cliente_id', $cliente->id)->paginate(Input::get('perpage', 10)); $tarefas->days = $tarefas->groupBy(function ($tarefa) { return date('Y-m-d', strtotime($tarefa->start)); }); $hoje = date('Y-m-d'); $ontem = Carbon::create(date('Y'), date('m'), date('d'))->subDay(); $amanha = Carbon::create(date('Y'), date('m'), date('d'))->addDay(); $proximo = Carbon::create(date('Y'), date('m'), date('d'))->addDay(); //Igual amanhã if ($proximo->isWeekend()) { $proximo = new Carbon('next monday'); } $tarefas->pendentes = Tarefa::where('cliente_id', $cliente->id)->where('date', '<', $hoje)->where('done', 0)->orderBy('date', 'DESC')->get(); $tarefas->hoje = Tarefa::where('cliente_id', $cliente->id)->where('date', '<', $amanha->startOfDay())->where('date', '>', $ontem)->where('done', 0)->get(); $tarefas->nextDay = Tarefa::where('cliente_id', $cliente->id)->where('done', 0)->where('date', '>=', $amanha)->where('date', '<', $proximo->addDay())->orderBy('date', 'DESC')->get(); $tarefas->proximas = Tarefa::where('cliente_id', $cliente->id)->where('date', '>=', $amanha->startOfDay())->where('done', 0)->orderBy('date', 'ASC')->get(); $tarefas->concluidas = Tarefa::where('cliente_id', $cliente->id)->where('done', 1)->orderBy('updated_at', 'DESC')->get(); // show the view and pass the cliente to it return View::make('clientes.show', compact('cliente', 'tarefas')); //->with( 'pedidos', $cliente->pedidos() ); } else { $alert[] = ['class' => 'alert-warning', 'message' => 'O cliente que você procura não existe!']; Session::flash('alerts', $alert); return Redirect::to('clientes'); } }
/** * Store a newly created resource in storage. * POST /relatorios * * @return Response */ public function store() { $validator = Validator::make($data = Input::all(), Relatorio::$rules); // Cria o novo relatório $relatorio = new Relatorio(); if (isset($data['type'])) { $relatorio->type = $data['type']; } // Salva o relatório $relatorio->save(); switch ($data['type']) { case 'despesas': $despesas = Despesa::where('relatorio_id', '<', 1)->get(); $despesas_ids = array(); // MARCA DESPESAS COM O ID DO RELATÓRIO ( LAST REPORT ) foreach ($despesas as $despesa) { $despesas_ids[] = $despesa->id; $despesa->relatorio_id = $relatorio->id; $despesa->save(); } // ADICIONA OS IDS DAS CONVERSAS NO RELATÓRIO $relatorio->ids = implode(",", $despesas_ids); // Alert $alert[] = array('class' => 'alert-success', 'message' => '<strong><i class="fa fa-check"></i></strong> Relatório gerado com sucesso!'); Session::flash('alerts', $alert); break; case 'conversas': // AUTOMÁTICO if (@$data['auto']) { // Marca as conversas com o ID do relatório criado $conversas = Conversa::where('relatorio_id', '<', '1')->get(); foreach ($conversas as $conversa) { $conversa->relatorio_id = $relatorio->id; $conversa->save(); } // MANUAL } else { if (isset($data['conversas_ids']) and is_array($data['conversas_ids'])) { // ADICIONA OS IDS DAS CONVERSAS NO RELATÓRIO $relatorio->ids = implode(",", $data['conversas_ids']); // MARCA AS CONVERSAS COM O ID DO ÚLTIMO RELATÓRIO (este) foreach ($data['conversas_ids'] as $conversa) { $conversa = Conversa::find($conversa); $conversa->relatorio_id = $relatorio->id; $conversa->save(); } } } // Alert $alert[] = array('class' => 'alert-success', 'message' => '<strong><i class="fa fa-check"></i></strong> Relatório de conversas gerado com sucesso!', 'links' => array('btn-success' => array('text' => 'Ver relatório', 'link' => url('relatorios', $relatorio->id)))); Session::flash('alerts', $alert); break; default: break; } // Salva o relatório de novo $relatorio->save(); return Redirect::to(url('relatorios/' . $relatorio->id)); }