diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 3228230..f41f5f6 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -62,7 +62,13 @@ $routes->post('api/specimen/collect/(:any)', 'Specimen::collect/$1'); $routes->delete('api/specimen/receive/(:any)', 'Specimen::unreceive/$1'); /*- lets go alpine -*/ + $routes->group('v2', function($routes) { - $routes->get('', 'v2::index'); + $routes->get('', 'V2::index'); + $routes->get('login', 'V2::loginPage'); + $routes->post('login', 'V2::login'); + $routes->group('Admin/', ['filter' => 'role:1'], function($routes) { + $routes->get('', 'V2\Admin::index'); + }); }); diff --git a/app/Controllers/Request.php b/app/Controllers/Request.php index 607a801..326a2df 100644 --- a/app/Controllers/Request.php +++ b/app/Controllers/Request.php @@ -51,8 +51,8 @@ class Request extends BaseController { $userid = $input['userid']; $comment = $input['comment']; $db = db_connect(); - $sql = "update GDC_CMOD.dbo.CM_REQUESTS set ISVAL1=0, VAL1USER=null, VAL1DATE=null, ISVAL2=0, VAL2USER=null, VAL2DATE=null, - PENDINGTEXT='$comment', PENDINGUSER='$userid', PENDINGDATE=GETDATE() where ACCESSNUMBER='$accessnumber'"; + $sql = "update GDC_CMOD.dbo.CM_REQUESTS set ISVAL1=null, VAL1USER=null, VAL1DATE=null, ISVAL2=null, VAL2USER=null, VAL2DATE=null, + ISPENDING=1, PENDINGTEXT='$comment', PENDINGUSER='$userid', PENDINGDATE=GETDATE() where ACCESSNUMBER='$accessnumber'"; $db->query($sql); $data = ['status' => 'success', 'message' => 'Data updated successfully', 'data' => "$accessnumber" ]; diff --git a/app/Controllers/V2.php b/app/Controllers/V2.php index b6ecb91..1704eda 100644 --- a/app/Controllers/V2.php +++ b/app/Controllers/V2.php @@ -4,11 +4,75 @@ namespace App\Controllers; use App\Controllers\BaseController; class V2 extends BaseController { + /* public function index() { return view("v2/index"); } + */ + public function index() { + $session = session(); - public function modal_specimen() { + if (! $session->get('isLoggedIn')) { + return redirect()->to('v2/login'); + } + + // Jika sudah login, arahkan sesuai level + switch ($session->get('level')) { + case 1: return redirect()->to('v2/admin'); + case 2: return redirect()->to('v2/dokter'); + case 3: return redirect()->to('v2/analis'); + case 4: return redirect()->to('v2/cs'); + default: return redirect()->to('v2/login'); + } + } + + public function loginPage() { + return view("v2/login"); + } + + public function login() { + helper(['form', 'url']); + $session = session(); + $db = \Config\Database::connect(); + + $userid = strtoupper(trim($this->request->getPost('userid'))); + $password = $this->request->getPost('password'); + + // Gunakan raw SQL sesuai kolom di tabel kamu + $query = $db->query("SELECT * FROM gdc_cmod.dbo.USERS WHERE USERID = ?", [$userid]); + $user = $query->getRowArray(); + + if ($user && !empty($user['PASSWORD']) && password_verify($password, $user['PASSWORD'])) { + + // Role untuk url + switch ((int)$user['USERLEVEL']) { + case 1: $role = 'admin'; break; + case 2: $role = 'doctor'; break; + case 3: $role = 'analyst'; break; + case 4: $role = 'cs'; break; + default: $role = ''; break; + } + + // Simpan session + $session->set([ + 'isLoggedIn' => true, + 'userid' => (string) $user['USERID'], + 'userlevel' => (int) $user['USERLEVEL'], + 'userrole' => (string) $role, + ]); + + // Redirect sesuai level dari data didatabase + switch ((int)$user['USERLEVEL']) { + case 1: return redirect()->to('v2/admin'); + case 2: return redirect()->to('v2/doctor'); + case 3: return redirect()->to('v2/analyst'); + case 4: return redirect()->to('v2/cs'); + default: return redirect()->to('v2/login'); + } + } else { + $session->setFlashdata('error', 'USERID atau PASSWORD salah.'); + return redirect()->back(); + } } } diff --git a/app/Views/v2/dialog_unval.php b/app/Views/v2/dialog_unval.php new file mode 100644 index 0000000..53abbee --- /dev/null +++ b/app/Views/v2/dialog_unval.php @@ -0,0 +1,10 @@ + diff --git a/app/Views/v2/dialog_val.php b/app/Views/v2/dialog_val.php index 27ad1a6..64aaeb4 100644 --- a/app/Views/v2/dialog_val.php +++ b/app/Views/v2/dialog_val.php @@ -6,10 +6,8 @@
- - - - + + diff --git a/app/Views/v2/index.php b/app/Views/v2/index.php index de92983..f2f00ac 100644 --- a/app/Views/v2/index.php +++ b/app/Views/v2/index.php @@ -30,7 +30,7 @@ CMOD1:
+2:
Sign in to continue your adventure 🚀
+ +