*/ class DashboardController extends Controller { /** * Create a new controller instance. * constructor to check * 1. authentication * 2. user roles * 3. roles must be agent * @return void */ public function __construct() { $this->middleware('auth'); $this->middleware('role.agent'); } /** * Show the form for creating a new resource. * @return type Response */ public function index() { try { if(Auth::user()->role == "user"){ return \Redirect::route('home'); } return View::make('themes.default1.agent.helpdesk.dashboard.dashboard'); } catch (Exception $e) { return view('404'); } } /** * ChartData * @return type */ public function ChartData() { $date2 = strtotime(Date('Y-m-d')); $date3 = Date('Y-m-d'); $format = 'Y-m-d'; $date1 = strtotime(Date($format,strtotime('-1 month'. $date3))); $return = ""; $last = ""; for ( $i = $date1; $i <= $date2; $i = $i + 86400 ) { $thisDate = date( 'Y-m-d', $i ); $created = \DB::table('tickets')->select('created_at')->where('created_at','LIKE','%'.$thisDate.'%')->count(); $closed = \DB::table('tickets')->select('closed_at')->where('closed_at','LIKE','%'.$thisDate.'%')->count(); $reopened = \DB::table('tickets')->select('reopened_at')->where('reopened_at','LIKE','%'.$thisDate.'%')->count(); $value = ['date' => $thisDate, 'open' => $created, 'closed' => $closed, 'reopened' => $reopened]; $array = array_map('htmlentities',$value); $json = html_entity_decode(json_encode($array)); $return .= $json.','; } $last = rtrim($return,','); return '['.$last.']'; // $ticketlist = DB::table('tickets') // ->select(DB::raw('MONTH(updated_at) as month'),DB::raw('SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) as closed'),DB::raw('SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END) as reopened'),DB::raw('SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) as open'), // DB::raw('count(*) as totaltickets')) // ->groupBy('month') // ->orderBy('month', 'asc') // ->get(); // return $ticketlist; } }