/** * 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(); }