/**
  * Danh sách User theo định dạng của Datatables.
  *
  * @return \Datatable JSON
  */
 public function data()
 {
     /** @var User $query */
     $query = User::adminFirst()->orderUpdated();
     if (Request::has('search_form')) {
         $query = $query->searchWhereBetween('users.created_at', 'mb_date_vn2mysql')->searchWhereBetween('users.updated_at', 'mb_date_vn2mysql');
     }
     return Datatable::query($query)->addColumn('index', function (User $model) {
         return $model->id;
     })->addColumn('username', function (User $model) {
         if ($model->isSuperAdmin()) {
             return "<span class=\"text-danger\">{$model->username}</span>";
         } else {
             return Html::linkQuickUpdate($model->id, $model->username, ['attr' => 'username', 'title' => trans("user::user.username"), 'class' => 'w-sm']);
         }
     })->addColumn('name', function (User $model) {
         if ($model->isSuperAdmin()) {
             return "<span class=\"text-danger\">{$model->name}</span>";
         } else {
             return Html::linkQuickUpdate($model->id, $model->name, ['attr' => 'name', 'title' => trans("user::user.name"), 'class' => 'w-md']);
         }
     })->addColumn('email', function (User $model) {
         if ($model->isSuperAdmin()) {
             return "<span class=\"text-danger\">{$model->email}</span>";
         } else {
             return Html::linkQuickUpdate($model->id, $model->email, ['attr' => 'email', 'title' => trans("user::user.email"), 'placement' => 'left', 'class' => 'w-md']);
         }
     })->addColumn('role', function (User $model) {
         return $model->present()->role;
     })->addColumn('actions', function (User $model) {
         return $model->isSuperAdmin() ? '' : Html::tableActions('backend.user', ['user' => $model->id], "{$model->name} ({$model->username})", trans('user::user.user'), []);
     })->searchColumns('users.username', 'users.name')->make();
 }