/** * Display a listing of tarefas * * @return Response */ public function index() { $data = Input::get(); $data['view'] = Input::has('view') ? Input::get('view') : 'today'; // today, late, next, done $data['paginate'] = Input::has('paginate') ? Input::get('paginate') : 10; $dt = new Carbon(); $tarefas = Tarefa::where(function ($query) use($data, $dt) { switch ($data['view']) { case 'late': $query->where('date', '<', $dt->format('Y-m-d'))->where('done', false); break; case 'next': $query->where('date', '>', $dt->format('Y-m-d'))->where('done', false); break; case 'done': $query->where('done', true); break; default: // TODAY $query->where('date', '>=', $dt->startOfDay()->format('Y-m-d'))->where('date', '<=', $dt->endOfDay()->format('Y-m-d')); break; } })->orderBy(Input::get('order_by', 'date'), Input::get('order', 'DESC'))->with('cliente', 'conversas')->paginate(Input::get('paginate', 10)); // $tarefas = Tarefa::orderBy('date', 'DESC')->with('cliente')->get(); $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('date', '<', $hoje)->where('done', 0)->orderBy('date', 'ASC')->with('cliente', 'conversas')->get(); $tarefas->hoje = Tarefa::where('date', '<', $amanha->startOfDay())->where('date', '>', $ontem)->where('done', 0)->with('cliente', 'conversas')->get(); $tarefas->nextDay = Tarefa::where('done', 0)->where('date', '>=', $amanha)->where('date', '<', $proximo->addDay())->orderBy('date', 'DESC')->with('cliente', 'conversas')->get(); $tarefas->proximas = Tarefa::where('date', '>=', $amanha)->orderBy('date', 'ASC')->where('done', 0)->with('cliente', 'conversas')->get(); $tarefas->concluidas = Tarefa::where('done', 1)->orderBy('updated_at', 'DESC')->with('cliente', 'conversas')->get(); $tarefas->days = $tarefas->groupBy(function ($tarefa) { return date('Y-m-d', strtotime($tarefa->date)); }); if (Request::ajax()) { return $tarefas; } if (Route::is('tarefas.print')) { return View::make('tarefas.print', compact('tarefas')); } else { return View::make('tarefas.index', compact('tarefas')); } }
/** * Show the form for creating a new resource. * GET /contacts/create * * @return Response */ public function getTarefas($data) { switch ($data['view']) { case 'day': $date = Carbon::createFromFormat('Y-m-d', $data['date'])->addDays($data['next'])->subDays($data['prev']); $events = Tarefa::where('date', $date->format('Y-m-d'))->orderBy('date', 'ASC')->get(); break; case 'week': $date = Carbon::createFromFormat('Y-m-d', $data['date'])->addWeeks($data['next'])->subWeeks($data['prev']); $events = Tarefa::where('date', '>=', $date->dateOfWeek()->format('Y-m-d'))->where('date', '<=', $date->endOfWeek()->format('Y-m-d'))->orderBy('date', 'ASC')->get(); break; case 'month': $date = Carbon::createFromFormat('Y-m-d', $data['date'])->addMonths($data['next'])->subMonths($data['prev']); $events = Tarefa::where('date', '>=', $date->startOfMonth()->format('Y-m-d'))->where('date', '<=', $date->endOfMonth()->format('Y-m-d'))->orderBy('date', 'ASC')->get(); break; } return $events; }
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="container text-center"> <div class="pull-left"> <div class="dropdown"> <!-- Menu Button --> <div class="menu-btn btn"> <i class="fa fa-bars"></i> </div> <a href="{{url('tarefas')}}" class="btn btn-link tarefas-info"> <i class="fa fa-check-square-o fa-2x"></i> <?php $tarefas_info = count(Tarefa::where('done', 0)->where('date', '<=', date('Y-m-d'))->get()); ?> @if ($tarefas_info) <span class="badge badge-danger">{{ $tarefas_info }}</span> @endif </a> <a href="{{url('financeiro')}}" class="btn btn-link transactions_info"> <i class="icon-dollar fa-2x"></i> <?php $transactions_info = count(Transaction::where('done', 0)->where('date', '<=', date('Y-m-d'))->where('user_id', Auth::id())->get()); ?> @if ($transactions_info) <span class="badge badge-danger">{{ $transactions_info }}</span> @endif
/** * 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'); } }