added audit trails
This commit is contained in:
@@ -19,6 +19,7 @@ use App\Models\FormOthers;
|
||||
use App\Models\FormMeetingSeminar;
|
||||
use App\Models\UserHasCabang;
|
||||
use App\Models\Cabang;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
|
||||
class AdminsController extends Controller
|
||||
{
|
||||
@@ -92,6 +93,7 @@ class AdminsController extends Controller
|
||||
// return redirect()->route('admin.admins.index');
|
||||
// }
|
||||
|
||||
AuditTrailHelper::AddAuditTrail('Insert', 'Added New User (' . $request->email . ') to the User Table');
|
||||
session()->flash('success', 'Admin has been created.');
|
||||
return redirect()->back();
|
||||
}
|
||||
@@ -141,6 +143,7 @@ class AdminsController extends Controller
|
||||
$userHasCabang ? $userHasCabang->update(['cabang_id' => $request->cabang_id]) : UserHasCabang::create(['user_id' => $admin->id, 'cabang_id' => $request->cabang_id]);
|
||||
}
|
||||
|
||||
AuditTrailHelper::AddAuditTrail('Update', 'Update User Data (' . $request->email . ') in the User Table');
|
||||
session()->flash('success', 'Admin has been updated.');
|
||||
return redirect()->back();
|
||||
}
|
||||
@@ -179,7 +182,10 @@ class AdminsController extends Controller
|
||||
$this->checkAuthorization(auth()->user(), ['admin.delete']);
|
||||
|
||||
$admin = Admin::findOrFail($id);
|
||||
AuditTrailHelper::AddAuditTrail('Delete', 'Deleted User (' . $admin->email . ') from the User Table');
|
||||
|
||||
$admin->delete();
|
||||
|
||||
session()->flash('success', 'Admin has been deleted.');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers\Backend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\AuditTrail;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
class AuditTrailController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$pageInfo = [
|
||||
'title' => 'Audit Trails',
|
||||
'sub_title' => 'List of Audit Trails System',
|
||||
'path' => url()->current()
|
||||
];
|
||||
|
||||
return view(
|
||||
'backend.pages.audit_trail.index',
|
||||
[
|
||||
'data' => AuditTrail::orderBy('id', 'desc')->get(),
|
||||
'pageInfo' => $pageInfo,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
@@ -76,30 +77,38 @@ class LoginController extends Controller
|
||||
|
||||
// Attempt to login
|
||||
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'admin');
|
||||
return redirect()->route('admin.dashboard');
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'admin');
|
||||
|
||||
AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System');
|
||||
return redirect()->route('admin.dashboard');
|
||||
} else if (Auth::guard('admin')->attempt(['username' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'admin');
|
||||
return redirect()->route('admin.dashboard');
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'admin');
|
||||
|
||||
AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System');
|
||||
return redirect()->route('admin.dashboard');
|
||||
|
||||
}else if (Auth::guard('web')->attempt(['username' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'web');
|
||||
return redirect()->route('admin.dashboard');
|
||||
}else if (Auth::guard('web')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'web');
|
||||
return redirect()->route('admin.dashboard');
|
||||
} else if (Auth::guard('web')->attempt(['username' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'web');
|
||||
|
||||
AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System');
|
||||
return redirect()->route('admin.dashboard');
|
||||
} else if (Auth::guard('web')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
|
||||
session()->flash('success', 'Successully Logged in !');
|
||||
Session::put('current_guard', 'web');
|
||||
|
||||
AuditTrailHelper::AuthAttempt('Login', 'User (' . $request->email . ') Logged in to the System');
|
||||
return redirect()->route('admin.dashboard');
|
||||
}
|
||||
// error
|
||||
session()->flash('error', 'Invalid email and password..');
|
||||
return back();
|
||||
|
||||
// error
|
||||
session()->flash('error', 'Invalid email and password..');
|
||||
return back();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* logout admin guard
|
||||
*
|
||||
@@ -107,13 +116,25 @@ class LoginController extends Controller
|
||||
*/
|
||||
public function logout()
|
||||
{
|
||||
try{
|
||||
$user = Auth::guard('admin')->user();
|
||||
|
||||
if (!$user) {
|
||||
Auth::guard('admin')->logout();
|
||||
return redirect()->route('admin.login');
|
||||
|
||||
}catch (Exception $e) {
|
||||
Auth::guard('web')->logout();
|
||||
return redirect()->route('admin.login');
|
||||
}
|
||||
|
||||
// Log activity
|
||||
AuditTrailHelper::AuthAttempt('Logout', 'User (' . $user->email . ') Logged out from the System');
|
||||
|
||||
try {
|
||||
// Logout from admin guard
|
||||
Auth::guard('admin')->logout();
|
||||
} catch (Exception $e) {
|
||||
// Fallback to web guard if admin logout fails
|
||||
Auth::guard('web')->logout();
|
||||
}
|
||||
|
||||
// Redirect to admin login
|
||||
return redirect()->route('admin.login');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Backend;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
|
||||
class MenuRoleController extends Controller
|
||||
{
|
||||
@@ -99,6 +100,8 @@ class MenuRoleController extends Controller
|
||||
|
||||
DB::table('role_menu')->insert($dataToInsert);
|
||||
DB::commit();
|
||||
|
||||
AuditTrailHelper::AddAuditTrail('Update', 'Assign Menu (' . $roleId . ') to Role (' . $roleId . ')');
|
||||
return response()->json(['success' => true], 200);
|
||||
} catch (\Exception $e) {
|
||||
DB::rollBack();
|
||||
|
||||
@@ -11,6 +11,7 @@ use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use App\Helpers\AuditTrailHelper;
|
||||
|
||||
class RolesController extends Controller
|
||||
{
|
||||
@@ -60,6 +61,7 @@ class RolesController extends Controller
|
||||
$role->syncPermissions($permissions);
|
||||
}
|
||||
|
||||
AuditTrailHelper::AddAuditTrail('Insert', 'Created New Role (' . $request->name . ') in the Role Table');
|
||||
session()->flash('success', 'Role has been created.');
|
||||
return redirect()->back();
|
||||
}
|
||||
@@ -105,6 +107,7 @@ class RolesController extends Controller
|
||||
$role->syncPermissions($permissions);
|
||||
}
|
||||
|
||||
AuditTrailHelper::AddAuditTrail('Update', 'Updated Role Data (' . $request->name . ') in the Role Table');
|
||||
session()->flash('success', 'Role has been updated.');
|
||||
return redirect()->back();
|
||||
}
|
||||
@@ -118,6 +121,7 @@ class RolesController extends Controller
|
||||
session()->flash('error', 'Role not found.');
|
||||
return back();
|
||||
}
|
||||
AuditTrailHelper::AddAuditTrail('Delete', 'Deleted Role (' . $role->name . ')');
|
||||
|
||||
$role->delete();
|
||||
session()->flash('success', 'Role has been deleted.');
|
||||
|
||||
Reference in New Issue
Block a user