/** * Show a list of all the blog posts formatted for Datatables. * * @return Datatables JSON */ public function getData($slug = false) { if ($slug) { $department = Support::getStatusByName($slug); if ($department->default_flag) { $list = Ticket::select(array('ticket.id', 'priority', 'users.displayname', 'ticket.title', 'ticket_deps.name', 'ticket_statuses.title as status', 'ticket.updated_at', 'ticket_statuses.color as color'))->leftjoin('ticket_flags', 'ticket_flags.ticket_id', '=', 'ticket.id')->where('ticket_flags.user_id', '=', Confide::user()->id)->leftjoin('ticket_statuses', 'ticket_statuses.id', '=', 'ticket.status'); } else { $list = Ticket::select(array('ticket.id', 'priority', 'users.displayname', 'ticket.title', 'ticket_deps.name', 'ticket.updated_at'))->where('status', '=', $department->id); } } else { $list = Ticket::select(array('ticket.id', 'priority', 'users.displayname', 'ticket.title', 'ticket_deps.name', 'ticket_statuses.title as status', 'ticket.updated_at', 'ticket_statuses.color as color'))->leftjoin('ticket_statuses', 'ticket_statuses.id', '=', 'ticket.status')->where('ticket_statuses.show_active', '=', '1'); } //->leftjoin('ticket_flags', 'ticket_flags.ticket_id', '=', 'ticket.id')->where(DB::raw('ticket_flags.user_id = '. Confide::user()->id. ' OR ticket_flags.user_id = ""')); $list->leftjoin('users', 'users.id', '=', 'ticket.user_id')->leftjoin('ticket_deps', 'ticket_deps.id', '=', 'ticket.department_id'); if (Api::Enabled()) { $u = $list->get(); return Api::make($u->toArray()); } else { return Datatables::of($list)->remove_column('color')->edit_column('displayname', '<a href="{{{ URL::to(\'admin/support/\' . $id . \'/thread\' ) }}}">{{{ $displayname }}}')->edit_column('updated_at', '{{{ Carbon::parse($updated_at)->diffForHumans() }}}')->edit_column('priority', '{{ $priority > 0 ? "<span class=\\"fa fa-flag". ($priority > 1 ? ($priority == 3 ? "-checkered" : "-o") : null) ." \\"></span>" : null}}')->edit_column('title', '<a href="{{{ URL::to(\'admin/support/\' . $id . \'/thread\' ) }}}">{{{ Filter::filter(Str::limit(strip_tags($title), 42, "..."), "*") }}}</a>')->edit_column('status', '@if(isset($status))@if(isset($color))<span style="color: {{{ $color }}}">{{{ $status }}}</span>@else{{{ $status }}}@endif@endif')->add_column('actions', '<div class="btn-group"><a href="{{{ URL::to(\'admin/support/\' . $id . \'/thread\' ) }}}" class="link-through btn btn-info btn-sm" >{{{ Lang::get(\'button.view\') }}}</a><a href="{{{ URL::to(\'admin/support/\' . $id . \'/edit\' ) }}}" class="btn btn-primary btn-sm modalfy" >{{{ Lang::get(\'button.edit\') }}}</a> <a data-method="delete" data-row="{{{ $id }}}" data-table="tickets" href="{{{ URL::to(\'admin/support/\' . $id . \'\' ) }}}" class="confirm-ajax-update btn btn-sm btn-danger">{{{ Lang::get(\'button.delete\') }}}</a></div> ')->make(); } }