/**
  * Display a listing of reportgroupings
  *
  * @return Response
  */
 public function index($report_id)
 {
     if (!ReportGrouping::canList()) {
         return $this->_access_denied();
     }
     if (Request::ajax()) {
         $users_under_me = Auth::user()->getAuthorizedUserids(ReportGrouping::$show_authorize_flag);
         if (empty($users_under_me)) {
             $reportgroupings = ReportGrouping::whereNotNull('report_groupings.created_at');
         } else {
             $reportgroupings = ReportGrouping::whereIn('report_groupings.user_id', $users_under_me);
         }
         $reportgroupings->where('report_id', $report_id);
         $reportgroupings = $reportgroupings->select(['report_groupings.id', 'report_groupings.name', 'report_groupings.label', 'report_groupings.id as actions']);
         return Datatables::of($reportgroupings)->edit_column('actions', function ($reportgrouping) use($report_id) {
             $actions = [];
             $actions[] = $reportgrouping->canShow() ? link_to_action('ReportGroupingsController@show', 'Show', [$report_id, $reportgrouping->id], ['class' => 'btn btn-xs btn-primary']) : '';
             $actions[] = $reportgrouping->canUpdate() ? link_to_action('ReportGroupingsController@edit', 'Update', [$report_id, $reportgrouping->id], ['class' => 'btn btn-xs btn-default']) : '';
             $actions[] = $reportgrouping->canDelete() ? Former::open(action('ReportGroupingsController@destroy', [$report_id, $reportgrouping->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);
         })->remove_column('id')->make();
         return Datatables::of($reportgroupings)->make();
     }
     Asset::push('js', 'datatables');
     return View::make('reportgroupings.index', compact('report_id'));
 }
 /**
  * Display a listing of users
  *
  * @return Response
  */
 public function index()
 {
     if (!User::canList()) {
         return $this->_access_denied();
     }
     if (Request::ajax()) {
         $users_under_me = Auth::user()->getAuthorizedUserids(User::$show_authorize_flag);
         if (empty($users_under_me)) {
             $users = User::with('roles')->whereNotNull('users.created_at');
         } else {
             $users = User::with('roles')->whereIn('users.user_id', $users_under_me);
         }
         $users = $users->select(['users.id', 'users.last_name', 'users.id as roles_column', 'users.confirmed', 'users.id as actions', 'users.first_name']);
         return Datatables::of($users)->edit_column('last_name', function ($user) {
             return $user->first_name . ' ' . $user->last_name;
         })->edit_column('roles_column', function ($user) {
             return '<ul>' . implode('', array_map(function ($name) {
                 return '<li>' . $name . '</li>';
             }, $user->roles->lists('name'))) . '</ul>';
         })->edit_column('confirmed', function ($user) {
             return $user->status();
         })->edit_column('actions', function ($data) {
             $actions = [];
             $actions[] = $data->canShow() ? link_to_action('users.show', 'Show', $data->id, ['class' => 'btn btn-xs btn-primary']) : '';
             $actions[] = $data->canUpdate() ? link_to_action('users.edit', 'Update', $data->id, ['class' => 'btn btn-xs btn-default']) : '';
             $actions[] = $data->canDelete() ? Former::open(action('users.destroy', $data->id))->class('form-inline') . Former::hidden('_method', 'DELETE') . '<button type="button" class="btn btn-danger btn-xs confirm-delete">Delete</button>' . Former::close() : '';
             return implode(' ', $actions);
         })->remove_column('id')->make();
     }
     Asset::push('js', 'datatables');
     return View::make('users.index');
 }
 /**
  * Display a listing of permissions
  *
  * @return Response
  */
 public function index()
 {
     if (!Permission::canList()) {
         return $this->_access_denied();
     }
     if (Request::ajax()) {
         $permissions = Permission::select(['id', 'group_name', 'name', 'display_name']);
         return Datatables::of($permissions)->add_column('actions', function ($data) {
             $actions = [];
             $actions[] = $data->canShow() ? link_to_action('permissions.show', 'Show', $data->id, ['class' => 'btn btn-xs btn-primary']) : '';
             $actions[] = $data->canUpdate() ? link_to_action('permissions.edit', 'Update', $data->id, ['class' => 'btn btn-xs btn-default']) : '';
             $actions[] = $data->canDelete() ? Former::open(action('permissions.destroy', $data->id))->class('form-inline') . Former::hidden('_method', 'DELETE') . '<button type="button" class="btn btn-danger btn-xs confirm-delete">Delete</button>' . Former::close() : '';
             return implode(' ', $actions);
         })->remove_column('id')->make();
     }
     Asset::push('js', 'datatables');
     return View::make('permissions.index');
 }
 /**
  * Display a listing of roles
  *
  * @return Response
  */
 public function index()
 {
     if (!Role::canList()) {
         return $this->_access_denied();
     }
     if (Request::ajax()) {
         $roles = Role::with('users', 'perms')->select(['roles.id', 'roles.name', 'roles.id as permissions', 'roles.id as user_count', 'roles.id as actions']);
         return Datatables::of($roles)->edit_column('actions', function ($role) {
             $actions = [];
             $actions[] = $role->canShow() ? link_to_action('roles.show', 'Show', $role->id, ['class' => 'btn btn-xs btn-primary']) : '';
             $actions[] = $role->canUpdate() ? link_to_action('roles.edit', 'Update', $role->id, ['class' => 'btn btn-xs btn-default']) : '';
             $actions[] = $role->canDelete() ? Former::open(action('roles.destroy', $role->id))->class('form-inline') . Former::hidden('_method', 'DELETE') . '<button type="button" class="btn btn-danger btn-xs confirm-delete">Delete</button>' . Former::close() : '';
             return implode(' ', $actions);
         })->edit_column('user_count', function ($role) {
             return $role->users->count();
         })->edit_column('permissions', function ($role) {
             return '<ul>' . implode('', array_map(function ($name) {
                 return '<li>' . $name . '</li>';
             }, $role->perms->lists('name'))) . '</ul>';
         })->remove_column('id')->make();
     }
     Asset::push('js', 'datatables');
     return View::make('roles.index');
 }