update migrations

This commit is contained in:
Daeng Deni Mardaeni 2023-09-27 15:06:08 +07:00
parent 375463fc77
commit b153558a25
6 changed files with 41 additions and 21 deletions

View File

@ -3,6 +3,7 @@
namespace Modules\Usermanager\DataTables;
use Modules\Usermanager\Entities\User;
use Yajra\DataTables\EloquentDataTable;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Services\DataTable;
@ -18,8 +19,7 @@
public function dataTable($query)
{
return datatables()
->eloquent($query)
return (new EloquentDataTable($query))
->filter(function ($query) {
$search = request()->get('search');
if ($search['value'] !== "") {
@ -27,10 +27,19 @@
->orWhere('email', 'like', "%" . $search['value'] . "%");
}
})
->rawColumns(['action'])
->rawColumns(['action','last_login_at'])
->addIndexColumn()
->editColumn('user', function (User $model) {
return view('usermanager::users.users.columns._user', compact('model'));
})
->editColumn('role', function (User $user) {
return ucwords($user->roles->first()?->name);
})
->editColumn('last_login_at', function (User $user) {
return sprintf('<div class="badge badge-light fw-bold">%s</div>', $user->last_login_at ? $user->last_login_at->diffForHumans() : $user->updated_at->diffForHumans());
})
->addColumn('action', function (User $model) {
return view('usermanager::users.users._action', compact('model'));
return view('usermanager::users.users.columns._action', compact('model'));
});
}
@ -77,7 +86,9 @@
{
return [
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
Column::make('name')->title(__('Name')),
Column::make('user')->addClass('d-flex align-items-center')->name('name'),
Column::make('role')->searchable(false),
Column::make('last_login_at')->title('Last Login'),
Column::make('email'),
Column::computed('action')
->exportable(false)

View File

@ -18,8 +18,7 @@
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->foreignId('directorat_id')->nullable();
$table->foreignId('sub_directorat_id')->nullable();
$table->string('avatar')->nullable();
$table->rememberToken();
$table->timestamps();
$table->softDeletes();

View File

@ -24,7 +24,12 @@
protected $fillable = [
'name',
'email',
'password'
'password',
'last_login_at',
'last_login_ip',
'profile_photo_path',
'direktorat_id',
'sub_direktorat_id',
];
/**
@ -44,5 +49,15 @@
*/
protected $casts = [
'email_verified_at' => 'datetime',
'last_login_at' => 'datetime',
];
public function getProfilePhotoUrlAttribute()
{
if ($this->profile_photo_path) {
return asset('storage/' . $this->profile_photo_path);
}
return $this->profile_photo_path;
}
}

View File

@ -5,6 +5,7 @@
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Auth;
use Modules\Usermanager\Http\Requests\LoginRequest;
@ -23,6 +24,11 @@
$request->session()->regenerate();
$request->user()->update([
'last_login_at' => Carbon::now()->toDateTimeString(),
'last_login_ip' => $request->getClientIp()
]);
return redirect()->intended(RouteServiceProvider::HOME);
}

View File

@ -34,6 +34,8 @@
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
'last_login_at' => \Illuminate\Support\Carbon::now()->toDateTimeString(),
'last_login_ip' => $request->getClientIp()
]);
event(new Registered($user));

View File

@ -1,13 +0,0 @@
@php
$route = explode('.', Route::currentRouteName());
@endphp
<div class="d-flex flex-row flex-center">
<a href="{{ route($route[0].'.'.$route[1].'.edit',['user' => $model->id]) }}"
class="kt_edit_form btn btn-icon btn-bg-light btn-active-light-primary btn-sm me-1">
{!! getIcon("pencil", "fs-1 text-info","duotune") !!}
</a>
{!! Form::open(['method' => 'DELETE','route' => [$route[0].'.'.$route[1].'.destroy', $model->id],'class'=>'']) !!}
{{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }}
{!! Form::close() !!}
</div>