/** * Display a listing of reportcolumns * * @return Response */ public function index($report_id) { if (!ReportColumn::canList()) { return $this->_access_denied(); } if (Request::ajax()) { $users_under_me = Auth::user()->getAuthorizedUserids(ReportColumn::$show_authorize_flag); if (empty($users_under_me)) { $reportcolumns = ReportColumn::whereNotNull('report_columns.created_at'); } else { $reportcolumns = ReportColumn::whereIn('report_columns.user_id', $users_under_me); } $reportcolumns->where('report_id', $report_id); $reportcolumns = $reportcolumns->select(['report_columns.id', 'report_columns.order', 'report_columns.name', 'report_columns.label', 'report_columns.options', 'report_columns.mutator', 'report_columns.id as actions']); return Datatables::of($reportcolumns)->edit_column('actions', function ($reportcolumn) use($report_id) { $actions = []; $actions[] = $reportcolumn->canShow() ? link_to_action('ReportColumnsController@show', 'Show', [$report_id, $reportcolumn->id], ['class' => 'btn btn-xs btn-primary']) : ''; $actions[] = $reportcolumn->canUpdate() ? link_to_action('ReportColumnsController@edit', 'Update', [$report_id, $reportcolumn->id], ['class' => 'btn btn-xs btn-default']) : ''; $actions[] = $reportcolumn->canDelete() ? Former::open(action('ReportColumnsController@destroy', [$report_id, $reportcolumn->id]))->class('form-inline') . Former::hidden('_method', 'DELETE') . '<button type="button" class="btn btn-xs btn-danger confirm-delete">Delete</button>' . Former::close() : ''; return implode(' ', $actions); })->edit_column('options', function ($reportfield) { return nl2br($reportfield->options); })->remove_column('id')->make(); return Datatables::of($reportcolumns)->make(); } Asset::push('js', 'datatables'); return View::make('reportcolumns.index', compact('report_id')); }