diff --git a/app/Helpers/custom.php b/app/Helpers/custom.php index d24a650..1d76150 100644 --- a/app/Helpers/custom.php +++ b/app/Helpers/custom.php @@ -630,6 +630,11 @@ if (!function_exists('permission')) { $query = count(array_intersect((array)$access, (array)$model->access)); } else { $query = MasterAccessMenu::where($access, true)->where('module', 'LIKE', $key.'%')->where('ms_group_id', session('group_id'))->count(); + if ($query > 0) { + return true; + } else { + return abort('401'); + } } } else { $query = MasterAccessMenu::where($access, true)->where('ms_menu_id', $key)->where('ms_group_id', session('group_id'))->count(); diff --git a/app/Http/Controllers/KuesionerController.php b/app/Http/Controllers/KuesionerController.php index 52d66f7..ebd4384 100644 --- a/app/Http/Controllers/KuesionerController.php +++ b/app/Http/Controllers/KuesionerController.php @@ -19,8 +19,8 @@ class KuesionerController extends Controller public function index() { permission('is_read', $this->route, 'module',true); - if(auth()->user()->group->alias != 'administrator'){ - return redirect('kuesioner/update'); + if(auth()->user()->group->alias == 'sekolah'){ + return redirect('kuesioner/update/'.encode_id(session('sekolah_id'))); } $data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get(); diff --git a/app/Http/Controllers/Management/RoleController.php b/app/Http/Controllers/Management/RoleController.php index 7c1df56..20db25b 100644 --- a/app/Http/Controllers/Management/RoleController.php +++ b/app/Http/Controllers/Management/RoleController.php @@ -17,6 +17,7 @@ class RoleController extends Controller */ public function index() { + permission('is_read', $this->route, 'module',true); $data['breadcrumbs'] = [ ['name' => 'Dashboard','url' => url('dashboard')], ['name' => 'Management & Akses Role'], diff --git a/app/Http/Controllers/Management/UserController.php b/app/Http/Controllers/Management/UserController.php index 0b9561f..a98d148 100644 --- a/app/Http/Controllers/Management/UserController.php +++ b/app/Http/Controllers/Management/UserController.php @@ -23,6 +23,8 @@ class UserController extends Controller */ public function index() { + permission('is_read', $this->route, 'module',true); + $data['breadcrumbs'] = [ ['name' => 'Dashboard','url' => url('dashboard')], ['name' => 'Management & Akses Role'], @@ -48,6 +50,7 @@ class UserController extends Controller if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ $action .= ''; if(session('group_id') == 1){ + $action .= ''; $action .= ''; } } @@ -197,4 +200,53 @@ class UserController extends Controller return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } + + public function forcelogin($id = null) + { + + //dd($id); + + if (!$id) { + return response()->json(['success' => false,'message' => 'Data Tidak Temukan','type' => 'error']); + } + + $id = decode_id($id); + $user = User::find($id); + if (!$user) { + return response()->json(['success' => false,'message' => 'Data Tidak Temukan','type' => 'error']); + } else { + + if ($user->username && $user->password) { + if (Auth::loginUsingId($id)) { + $session = [ + 'username' => $user->username, + 'name' => $user->name, + 'email' => $user->email, + 'sekolah_id' => @$user->profile->sekolah->MsSekolahId, + 'npsn' => @$user->profile->npsn, + 'tingkat_sekolah' => @$user->profile->tingkat->name, + 'status_sekolah' => @$user->profile->status_sekolah, + 'alamat_sekolah' => @$user->profile->alamat_sekolah, + 'kontak_person' => @$user->profile->kontak_person, + 'telp' => @$user->profile->telp, + 'currYear' => date('Y'), + 'group_id' => @$user->ms_group_id, + 'group_alias' => @$user->group->alias, + 'group_name' => @$user->group->name, + ]; + // $this->repository->updateById($user->user_id,['last_login' => Carbon::now(), 'is_online' => session_id()]); + session($session); + // logActivity($request, __('strings.backend.logs.login_success',['name' => $user->username])); + + return response()->json(['status' => true,'message' => 'Selamat datang kembali','type' => 'success']); + } + else { + + return response()->json(['status' => false,'message' => 'Maaf Terjadi Kesalahan','type' => 'error']); + } + } else { + return response()->json(['status' => false,'message' => 'Maaf Terjadi Kesalahan','type' => 'error']); + } + } + } } diff --git a/resources/views/errors/401.blade.php b/resources/views/errors/401.blade.php new file mode 100644 index 0000000..217b0fc --- /dev/null +++ b/resources/views/errors/401.blade.php @@ -0,0 +1,52 @@ + + +
+ +