From 8fdad44f8061f0f3461eea484d94bf9933275313 Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Wed, 4 Dec 2024 11:11:02 +0700 Subject: [PATCH] rbac done --- .gitignore | 1 - app/Config/Filters.php | 4 +- app/Config/Routes.php | 70 ++++--- .../{Dashboard.php => API_Dashboard.php} | 17 +- .../{DictTests.php => API_DictTests.php} | 2 +- app/Controllers/{Tubes.php => API_Tubes.php} | 2 +- .../{Userroles.php => API_Userroles.php} | 7 +- app/Controllers/{Users.php => API_Users.php} | 2 +- app/Controllers/AdminController.php | 61 ++++++ app/Controllers/Auth.php | 15 +- .../{Pages.php => FoController.php} | 28 ++- app/Controllers/UserController.php | 44 +++++ app/Filters/{Auth.php => RoleFilter.php} | 7 +- app/Views/admin/dashboard.php | 173 +++++++++++++++++ .../{ => admin}/dashboard_viewAccess.php | 0 app/Views/{ => admin}/dictTests_index.php | 0 app/Views/{ => admin}/userroles_index.php | 11 +- app/Views/{ => admin}/users_index.php | 6 +- app/Views/fo/dashboard.php | 173 +++++++++++++++++ app/Views/fo/dashboard_viewAccess.php | 178 +++++++++++++++++ app/Views/fo/layout/form.php | 56 ++++++ app/Views/fo/layout/main.php | 58 ++++++ app/Views/fo/layout/sidebar.php | 14 ++ app/Views/fo/layout/topbar.php | 23 +++ app/Views/fo/layout/window.php | 40 ++++ app/Views/layouts/sidebar.php | 8 +- app/Views/noAccess.php | 53 +++++ app/Views/user/dashboard.php | 173 +++++++++++++++++ app/Views/user/dashboard_viewAccess.php | 182 ++++++++++++++++++ app/Views/user/layout/form.php | 56 ++++++ app/Views/user/layout/main.php | 58 ++++++ app/Views/user/layout/sidebar.php | 14 ++ app/Views/user/layout/topbar.php | 23 +++ app/Views/user/layout/window.php | 40 ++++ cmod.7z | Bin 498521 -> 0 bytes cmod.bak | Bin 712704 -> 1429504 bytes cmod.sql | 56 ------ 37 files changed, 1514 insertions(+), 141 deletions(-) rename app/Controllers/{Dashboard.php => API_Dashboard.php} (76%) rename app/Controllers/{DictTests.php => API_DictTests.php} (98%) rename app/Controllers/{Tubes.php => API_Tubes.php} (98%) rename app/Controllers/{Userroles.php => API_Userroles.php} (78%) rename app/Controllers/{Users.php => API_Users.php} (97%) create mode 100644 app/Controllers/AdminController.php rename app/Controllers/{Pages.php => FoController.php} (52%) create mode 100644 app/Controllers/UserController.php rename app/Filters/{Auth.php => RoleFilter.php} (68%) create mode 100644 app/Views/admin/dashboard.php rename app/Views/{ => admin}/dashboard_viewAccess.php (100%) rename app/Views/{ => admin}/dictTests_index.php (100%) rename app/Views/{ => admin}/userroles_index.php (85%) rename app/Views/{ => admin}/users_index.php (96%) create mode 100644 app/Views/fo/dashboard.php create mode 100644 app/Views/fo/dashboard_viewAccess.php create mode 100644 app/Views/fo/layout/form.php create mode 100644 app/Views/fo/layout/main.php create mode 100644 app/Views/fo/layout/sidebar.php create mode 100644 app/Views/fo/layout/topbar.php create mode 100644 app/Views/fo/layout/window.php create mode 100644 app/Views/noAccess.php create mode 100644 app/Views/user/dashboard.php create mode 100644 app/Views/user/dashboard_viewAccess.php create mode 100644 app/Views/user/layout/form.php create mode 100644 app/Views/user/layout/main.php create mode 100644 app/Views/user/layout/sidebar.php create mode 100644 app/Views/user/layout/topbar.php create mode 100644 app/Views/user/layout/window.php delete mode 100644 cmod.7z delete mode 100644 cmod.sql diff --git a/.gitignore b/.gitignore index 6c63bf6..a6c603e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ !cmod.7z !.gitignore !env -!cmod.sql !cmod.bak \ No newline at end of file diff --git a/app/Config/Filters.php b/app/Config/Filters.php index e3cea33..3ce8a21 100644 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -34,7 +34,7 @@ class Filters extends BaseFilters 'forcehttps' => ForceHTTPS::class, 'pagecache' => PageCache::class, 'performance' => PerformanceMetrics::class, - 'auth' => \App\Filters\Auth::class, + 'role' => \App\Filters\RoleFilter::class, ]; /** @@ -70,7 +70,7 @@ class Filters extends BaseFilters */ public array $globals = [ 'before' => [ - 'auth' => [ 'except' => [ + 'role' => [ 'except' => [ 'auth/*', 'setup', 'api/*' ]] // 'honeypot', diff --git a/app/Config/Routes.php b/app/Config/Routes.php index f1a43d1..c8b23a6 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -5,47 +5,69 @@ use CodeIgniter\Router\RouteCollection; /** * @var RouteCollection $routes */ - +/* // Pages $routes->get('/', 'Pages::dashboard_index'); $routes->get('/userroles/', 'Pages::userroles_index'); $routes->get('/users/', 'Pages::users_index'); $routes->get('/changePass/', 'Pages::changePass'); $routes->get('/dictTests/', 'Pages::dictTests_index'); - -// Tubes -$routes->get('/tubes/collect/(:any)/(:any)', 'Tubes::collect/$1/$2'); -$routes->get('/tubes/collectAll/(:any)', 'Tubes::collectAll/$1'); -$routes->get('/tubes/uncollect/(:any)/(:any)', 'Tubes::uncollect/$1/$2'); -$routes->get('/tubes/uncollectAll/(:any)', 'Tubes::uncollectAll/$1'); -$routes->get('/tubes/unreceive/(:any)/(:any)', 'Tubes::unreceive/$1/$2'); -$routes->get('/tubes/unreceiveAll/(:any)', 'Tubes::unreceiveAll/$1'); -$routes->post('/tubes/comment/(:any)/(:any)', 'Tubes::comment/$1/$2'); - -$routes->get('/dashboard/viewAccess/(:any)', 'Dashboard::viewAccess/$1'); +*/ // Auth $routes->get('/auth/logout', 'Auth::logout'); $routes->get('/auth/loginTD', 'Auth::loginTD'); $routes->match(['get','post'], '/auth/login', 'Auth::login'); $routes->match(['get','post'], '/auth/setpass/(:any)', 'Auth::setpass/$1'); +$routes->get('/', 'Auth::redirects'); +$routes->get('changePass/', 'Auth::changePass'); // API - Dashboard -$routes->get('/api/dashboard/index', 'Dashboard::index'); +$routes->get('/api/dashboard/index', 'API_Dashboard::index'); + +// API - Tubes +$routes->get('/tubes/collect/(:any)/(:any)', 'API_Tubes::collect/$1/$2'); +$routes->get('/tubes/collectAll/(:any)', 'API_Tubes::collectAll/$1'); +$routes->get('/tubes/uncollect/(:any)/(:any)', 'API_Tubes::uncollect/$1/$2'); +$routes->get('/tubes/uncollectAll/(:any)', 'API_Tubes::uncollectAll/$1'); +$routes->get('/tubes/unreceive/(:any)/(:any)', 'API_Tubes::unreceive/$1/$2'); +$routes->get('/tubes/unreceiveAll/(:any)', 'API_Tubes::unreceiveAll/$1'); +$routes->post('/tubes/comment/(:any)/(:any)', 'API_Tubes::comment/$1/$2'); // API - Userroles -$routes->get('/api/userroles/index', 'Userroles::index'); -$routes->get('/api/userroles/detail/(:any)', 'Userroles::detail/$1'); -$routes->post('/api/userroles/save/(:any)', 'Userroles::save/$1'); +$routes->get('/api/userroles/index', 'API_Userroles::index'); +$routes->get('/api/userroles/detail/(:any)', 'API_Userroles::detail/$1'); +$routes->post('/api/userroles/save/(:any)', 'API_Userroles::save/$1'); // API - Users -$routes->get('/api/users/index', 'Users::index'); -$routes->get('/api/users/detail/(:any)', 'Users::detail/$1'); -$routes->post('/api/users/savePass/(:any)', 'Users::savePass/$1'); -$routes->post('/api/users/saveRole/(:any)', 'Users::saveRole/$1'); +$routes->get('/api/users/index', 'API_Users::index'); +$routes->get('/api/users/detail/(:any)', 'API_Users::detail/$1'); +$routes->post('/api/users/savePass/(:any)', 'API_Users::savePass/$1'); +$routes->post('/api/users/saveRole/(:any)', 'API_Users::saveRole/$1'); // API - DictTests -$routes->POST('/api/dictTests/search', 'DictTests::search'); -$routes->POST('/api/dictTests/save', 'DictTests::save'); -$routes->get('/api/dictTests/index', 'DictTests::index'); -$routes->get('/api/dictTests/detail/(:any)', 'DictTests::detail/$1'); +$routes->POST('api/dictTests/search', 'API_DictTests::search'); +$routes->POST('api/dictTests/save', 'API_DictTests::save'); +$routes->get('api/dictTests/index', 'API_DictTests::index'); +$routes->get('api/dictTests/detail/(:any)', 'API_DictTests::detail/$1'); + +// admin +$routes->group('admin', ['filter' => 'role:admin'], static function ($routes) { + $routes->get('', 'AdminController::index'); + $routes->get('dashboard/viewAccess/(:any)', 'AdminController::viewAccess/$1'); + $routes->get('userroles/', 'AdminController::userroles_index'); + $routes->get('users/', 'AdminController::users_index'); + $routes->get('dictTests/', 'AdminController::dictTests_index'); +}); + +// user +$routes->group('user', ['filter' => 'role:user'], static function ($routes) { + $routes->get('', 'UserController::index'); + $routes->get('dashboard/viewAccess/(:any)', 'UserController::viewAccess/$1'); +}); + +// fo +$routes->group('fo', ['filter' => 'role:fo'], static function ($routes) { + $routes->get('', 'FoController::index'); + $routes->get('dashboard/viewAccess/(:any)', 'FoController::viewAccess/$1'); +}); \ No newline at end of file diff --git a/app/Controllers/Dashboard.php b/app/Controllers/API_Dashboard.php similarity index 76% rename from app/Controllers/Dashboard.php rename to app/Controllers/API_Dashboard.php index b9c499b..e382770 100644 --- a/app/Controllers/Dashboard.php +++ b/app/Controllers/API_Dashboard.php @@ -3,7 +3,7 @@ namespace App\Controllers; use CodeIgniter\RESTful\ResourceController; -class Dashboard extends ResourceController { +class API_Dashboard extends ResourceController { protected $format = 'json'; public function index() { @@ -57,19 +57,4 @@ end STATS $data['count'] = array_count_values(array_column($results, 'STATS')); return $this->respond($data,200); } - - public function viewAccess($accessnumber): string { - $db = \Config\Database::connect(); - $sql = "select p.PATNUMBER, p.NAME, sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu - left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER - left join PATIENTS p on p.PATID=sr.PATID - left join DICT_SAMPLES_TYPES ds on ds.SAMPCODE= tu.SAMPLETYPE - left join cmod.dbo.CM_TUBES ct on ct.SAMPLETYPE=tu.SAMPLETYPE and ct.ACCESSNUMBER=tu.SP_ACCESSNUMBER - where tu.SP_ACCESSNUMBER='$accessnumber'"; - $query = $db->query($sql); - $results = $query->getResultArray(); - $data['data'] = $results; - $data['accessnumber'] = $accessnumber; - return view('dashboard_viewAccess', $data); - } } diff --git a/app/Controllers/DictTests.php b/app/Controllers/API_DictTests.php similarity index 98% rename from app/Controllers/DictTests.php rename to app/Controllers/API_DictTests.php index 484cc31..c75206e 100644 --- a/app/Controllers/DictTests.php +++ b/app/Controllers/API_DictTests.php @@ -3,7 +3,7 @@ namespace App\Controllers; use CodeIgniter\RESTful\ResourceController; -class DictTests extends ResourceController { +class API_DictTests extends ResourceController { protected $format = 'json'; public function index() { diff --git a/app/Controllers/Tubes.php b/app/Controllers/API_Tubes.php similarity index 98% rename from app/Controllers/Tubes.php rename to app/Controllers/API_Tubes.php index 4b81fc9..e1b3b63 100644 --- a/app/Controllers/Tubes.php +++ b/app/Controllers/API_Tubes.php @@ -2,7 +2,7 @@ namespace App\Controllers; -class Tubes extends BaseController { +class API_Tubes extends BaseController { public function collect($access, $sample) { $userid = session()->userid; diff --git a/app/Controllers/Userroles.php b/app/Controllers/API_Userroles.php similarity index 78% rename from app/Controllers/Userroles.php rename to app/Controllers/API_Userroles.php index 93bc2a2..eb1ed8a 100644 --- a/app/Controllers/Userroles.php +++ b/app/Controllers/API_Userroles.php @@ -3,7 +3,7 @@ namespace App\Controllers; use CodeIgniter\RESTful\ResourceController; -class Userroles extends ResourceController { +class API_Userroles extends ResourceController { protected $format = 'json'; public function index() { @@ -26,14 +26,13 @@ class Userroles extends ResourceController { } public function save($userroleid) { - $userrolecode = $this->request->getPost('userrolecode'); $userrolename = $this->request->getPost('userrolename'); $db = \Config\Database::connect(); if($userroleid == 0) { // new - $sql = "INSERT INTO cmod.dbo.CM_USERROLES(USERROLECODE, USERROLENAME, CREATEDATE) VALUES ('$userrolecode', '$userrolename', GETDATE())"; + $sql = "INSERT INTO cmod.dbo.CM_USERROLES(USERROLENAME, CREATEDATE) VALUES ('$userrolename', GETDATE())"; } else { //update - $sql = "UPDATE cmod.dbo.CM_USERROLES set USERROLENAME='$userrolename', USERROLECODE='$userrolecode' where USERROLEID='$userroleid'"; + $sql = "UPDATE cmod.dbo.CM_USERROLES set USERROLENAME='$userrolename' where USERROLEID='$userroleid'"; } if( $db->query($sql) ) { diff --git a/app/Controllers/Users.php b/app/Controllers/API_Users.php similarity index 97% rename from app/Controllers/Users.php rename to app/Controllers/API_Users.php index ee2aef6..a25e20b 100644 --- a/app/Controllers/Users.php +++ b/app/Controllers/API_Users.php @@ -3,7 +3,7 @@ namespace App\Controllers; use CodeIgniter\RESTful\ResourceController; -class Users extends ResourceController { +class API_Users extends ResourceController { protected $format = 'json'; public function index() { diff --git a/app/Controllers/AdminController.php b/app/Controllers/AdminController.php new file mode 100644 index 0000000..4ab9d14 --- /dev/null +++ b/app/Controllers/AdminController.php @@ -0,0 +1,61 @@ +query($sql); + $results = $query->getResultArray(); + $data['data'] = $results; + $data['accessnumber'] = $accessnumber; + return view('admin/dashboard_viewAccess', $data); + } + + public function userroles_index(): string { + return view('admin/userroles_index'); + } + + public function users_index(): string { + $db = \Config\Database::connect(); + $sql = "select * from cmod.dbo.CM_USERROLES"; + $query = $db->query($sql); + $results = $query->getResultArray(); + $data['userroles'] = $results; + return view('admin/users_index', $data); + } + + public function changePass() { + if ($this->request->getMethod() === 'POST') { + $password1 = $this->request->getVar('password1'); + $password2 = $this->request->getVar('password2'); + $data['password1'] = $password1; + $data['password2'] = $password2; + if($password1 == $password2) { + $password = password_hash($password1,PASSWORD_DEFAULT); + $db = \Config\Database::connect(); + $sql = "update cmod.dbo.CM_USERS set PASSWORD='$password' where USERID='$userid'"; + $db->query($sql); + return redirect()->to("/"); + } else { + return redirect()->to("/auth/setpass/$userid")->with('flash_error', 'password is not the same.'); + } + } + return view('changePass'); + } + + public function dictTests_index() { + return view('admin/dictTests_index'); + } +} diff --git a/app/Controllers/Auth.php b/app/Controllers/Auth.php index 73e3c25..3237e71 100644 --- a/app/Controllers/Auth.php +++ b/app/Controllers/Auth.php @@ -18,7 +18,7 @@ class Auth extends BaseController { $data['password'] = $password; $db = \Config\Database::connect(); - $sql = "SELECT u.USERID, u.USERNAME, u1.PASSWORD, ur.USERROLECODE + $sql = "SELECT u.USERID, u.USERNAME, u1.PASSWORD, ur.USERROLENAME FROM USERS u left join cmod.dbo.CM_USERS u1 on u.USERID=u1.USERID left join cmod.dbo.CM_USERROLES ur on u1.USERROLEID=ur.USERROLEID @@ -30,7 +30,7 @@ WHERE u.USERID='$userid'"; $qpassword = $row['PASSWORD']; $userid = $row['USERID']; $username = $row['USERNAME']; - $userrole = $row['USERROLECODE']; + $userrole = $row['USERROLENAME']; // if pass empty then first login / reset password $data['password']=$password; $data['qpassword']=$qpassword; @@ -65,7 +65,12 @@ WHERE u.USERID='$userid'"; public function logout() { session()->destroy(); - return redirect()->to('/auth/login');; + return redirect()->to('/auth/login'); + } + + public function redirects() { + $role = session()->get('userrole'); + return redirect()->to("/$role/");; } public function setpass($userid) { @@ -93,4 +98,8 @@ WHERE u.USERID='$userid'"; return redirect()->to('/'); } + + public function noAccess() { + return view('noAccess'); + } } diff --git a/app/Controllers/Pages.php b/app/Controllers/FoController.php similarity index 52% rename from app/Controllers/Pages.php rename to app/Controllers/FoController.php index 927e778..f05c0da 100644 --- a/app/Controllers/Pages.php +++ b/app/Controllers/FoController.php @@ -2,23 +2,25 @@ namespace App\Controllers; -class Pages extends BaseController { +class FoController extends BaseController { - public function dashboard_index() { - return view('dashboard'); + public function index() { + return view('fo/dashboard'); } - public function userroles_index(): string { - return view('userroles_index'); - } - - public function users_index(): string { + public function viewAccess($accessnumber): string { $db = \Config\Database::connect(); - $sql = "select * from cmod.dbo.CM_USERROLES"; + $sql = "select p.PATNUMBER, p.NAME, sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu + left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER + left join PATIENTS p on p.PATID=sr.PATID + left join DICT_SAMPLES_TYPES ds on ds.SAMPCODE= tu.SAMPLETYPE + left join cmod.dbo.CM_TUBES ct on ct.SAMPLETYPE=tu.SAMPLETYPE and ct.ACCESSNUMBER=tu.SP_ACCESSNUMBER + where tu.SP_ACCESSNUMBER='$accessnumber'"; $query = $db->query($sql); $results = $query->getResultArray(); - $data['userroles'] = $results; - return view('users_index', $data); + $data['data'] = $results; + $data['accessnumber'] = $accessnumber; + return view('fo/dashboard_viewAccess', $data); } public function changePass() { @@ -39,8 +41,4 @@ class Pages extends BaseController { } return view('changePass'); } - - public function dictTests_index() { - return view('dictTests_index'); - } } diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php new file mode 100644 index 0000000..bceb8c9 --- /dev/null +++ b/app/Controllers/UserController.php @@ -0,0 +1,44 @@ +query($sql); + $results = $query->getResultArray(); + $data['data'] = $results; + $data['accessnumber'] = $accessnumber; + return view('user/dashboard_viewAccess', $data); + } + + public function changePass() { + if ($this->request->getMethod() === 'POST') { + $password1 = $this->request->getVar('password1'); + $password2 = $this->request->getVar('password2'); + $data['password1'] = $password1; + $data['password2'] = $password2; + if($password1 == $password2) { + $password = password_hash($password1,PASSWORD_DEFAULT); + $db = \Config\Database::connect(); + $sql = "update cmod.dbo.CM_USERS set PASSWORD='$password' where USERID='$userid'"; + $db->query($sql); + return redirect()->to("/"); + } else { + return redirect()->to("/auth/setpass/$userid")->with('flash_error', 'password is not the same.'); + } + } + return view('changePass'); + } +} diff --git a/app/Filters/Auth.php b/app/Filters/RoleFilter.php similarity index 68% rename from app/Filters/Auth.php rename to app/Filters/RoleFilter.php index 664bd27..ae0a494 100644 --- a/app/Filters/Auth.php +++ b/app/Filters/RoleFilter.php @@ -5,12 +5,17 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\Filters\FilterInterface; -class Auth implements FilterInterface { +class RoleFilter implements FilterInterface { public function before(RequestInterface $request, $arguments = null) { if (!session()->get('username')) { return redirect()->to('/auth/login'); } + + $userRole = session()->get('userrole'); + if ($arguments && !in_array($userRole, $arguments)) { + return redirect()->to('/no-access'); + } } public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) { diff --git a/app/Views/admin/dashboard.php b/app/Views/admin/dashboard.php new file mode 100644 index 0000000..705765e --- /dev/null +++ b/app/Views/admin/dashboard.php @@ -0,0 +1,173 @@ +extend('layouts/main.php') ?> + +section('content') ?> + +
+
+ +
+
+
+ + + + + + + + + + + + +
OrderMRPatientRequestHospTestStatus
+
+
+
+ + + +endSection() ?> + +section('script') ?> + +endSection() ?> \ No newline at end of file diff --git a/app/Views/dashboard_viewAccess.php b/app/Views/admin/dashboard_viewAccess.php similarity index 100% rename from app/Views/dashboard_viewAccess.php rename to app/Views/admin/dashboard_viewAccess.php diff --git a/app/Views/dictTests_index.php b/app/Views/admin/dictTests_index.php similarity index 100% rename from app/Views/dictTests_index.php rename to app/Views/admin/dictTests_index.php diff --git a/app/Views/userroles_index.php b/app/Views/admin/userroles_index.php similarity index 85% rename from app/Views/userroles_index.php rename to app/Views/admin/userroles_index.php index 951b706..99d9352 100644 --- a/app/Views/userroles_index.php +++ b/app/Views/admin/userroles_index.php @@ -9,7 +9,6 @@ # - Code Name Action @@ -33,7 +32,6 @@
-
User Role Code :
User Role Name :
@@ -61,7 +59,7 @@ function index() { let editBtn = ' '; //let deleteBtn = ''; let datarow = '' + - '' + data[i].USERROLEID + '' + '' + data[i].USERROLECODE+ '' + '' + data[i].USERROLENAME+ '' + '' + editBtn + '' + + '' + data[i].USERROLEID + '' + '' + data[i].USERROLENAME+ '' + '' + editBtn + '' + ''; $("#table-body").append(datarow); } @@ -74,7 +72,6 @@ function create() { $("#alert-div").html(""); $("#error-div").html(""); $("#userroleid").val("0"); - $("#userrolecode").val(""); $("#userrolename").val(""); $("#modal_crud").modal('show'); } @@ -89,7 +86,6 @@ function edit(userroleid) { $("#alert-div").html(""); $("#error-div").html(""); $("#userroleid").val(userroleid); - $("#userrolecode").val(data.USERROLECODE); $("#userrolename").val(data.USERROLENAME); $("#modal_crud").modal('show'); }, @@ -101,11 +97,9 @@ function edit(userroleid) { function save() { var userroleid = $("#userroleid").val(); - var userrolecode = $("#userrolecode").val(); var userrolename = $("#userrolename").val(); - //console.log(userroleid+' '+userrolecode+' '+userrolename); let url = 'api/userroles/save/'+userroleid ; - let data = { userroleid: userroleid, userrolecode: userrolecode, userrolename: userrolename }; + let data = { userroleid: userroleid, userrolename: userrolename }; $.ajax({ url: url, method: "POST", @@ -115,7 +109,6 @@ function save() { $("#alert-div").html(""); $("#error-div").html(""); $("#userroleid").val(""); - $("#userrolecode").val(""); $("#userrolename").val(""); index(); $("#modal_crud").modal('hide'); diff --git a/app/Views/users_index.php b/app/Views/admin/users_index.php similarity index 96% rename from app/Views/users_index.php rename to app/Views/admin/users_index.php index acd4fee..0c699e9 100644 --- a/app/Views/users_index.php +++ b/app/Views/admin/users_index.php @@ -32,13 +32,12 @@ Role : @@ -92,6 +91,7 @@ function index() { let userid = data[i].USERID; let username = data[i].USERNAME; let userroleid = data[i].USERROLEID; + if(userroleid === null) {userroleid = '';} let userrolename = ''; if(data[i].USERROLENAME != null) { userrolename = data[i].USERROLENAME; } let editBtn = ' '; diff --git a/app/Views/fo/dashboard.php b/app/Views/fo/dashboard.php new file mode 100644 index 0000000..953bdfb --- /dev/null +++ b/app/Views/fo/dashboard.php @@ -0,0 +1,173 @@ +extend('user/layout/main.php') ?> + +section('content') ?> + +
+
+ +
+
+
+ + + + + + + + + + + + +
OrderMRPatientRequestHospTestStatus
+
+
+
+ + + +endSection() ?> + +section('script') ?> + +endSection() ?> \ No newline at end of file diff --git a/app/Views/fo/dashboard_viewAccess.php b/app/Views/fo/dashboard_viewAccess.php new file mode 100644 index 0000000..59d06c1 --- /dev/null +++ b/app/Views/fo/dashboard_viewAccess.php @@ -0,0 +1,178 @@ + + + + + + + + \ No newline at end of file diff --git a/app/Views/fo/layout/form.php b/app/Views/fo/layout/form.php new file mode 100644 index 0000000..dd62f2d --- /dev/null +++ b/app/Views/fo/layout/form.php @@ -0,0 +1,56 @@ + + + + + + + + + + Summit CRM + + + + + + + renderSection('head'); ?> + + + +
+
+
+

Summit-CRM

+
+
+ +
+
+
+
+ +
+
+ renderSection('content'); ?> +
+
+ +
+
+
+
+ + + + + renderSection('script'); ?> + + + \ No newline at end of file diff --git a/app/Views/fo/layout/main.php b/app/Views/fo/layout/main.php new file mode 100644 index 0000000..7d2bd58 --- /dev/null +++ b/app/Views/fo/layout/main.php @@ -0,0 +1,58 @@ + + + + + + + + + Analis Dashboard + + + + + + + + include('fo/layout/topbar'); ?> + +
+ + include('fo/layout/sidebar'); ?> + +
+
+
+ + + + + + renderSection('content'); ?> + +
+
+ +
+
+
+
Copyright © 4SKAI 2024
+
+
+
+
+
+ + + + + renderSection('script'); ?> + + diff --git a/app/Views/fo/layout/sidebar.php b/app/Views/fo/layout/sidebar.php new file mode 100644 index 0000000..c598001 --- /dev/null +++ b/app/Views/fo/layout/sidebar.php @@ -0,0 +1,14 @@ +
+ +
\ No newline at end of file diff --git a/app/Views/fo/layout/topbar.php b/app/Views/fo/layout/topbar.php new file mode 100644 index 0000000..dd776ff --- /dev/null +++ b/app/Views/fo/layout/topbar.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/app/Views/fo/layout/window.php b/app/Views/fo/layout/window.php new file mode 100644 index 0000000..5eb7452 --- /dev/null +++ b/app/Views/fo/layout/window.php @@ -0,0 +1,40 @@ + + + + + + + + + + Summit CRM + + + + renderSection('head'); ?> + + + +
+
+
+

Summit-CRM

+
+
+
+ renderSection('content'); ?> +
+ + + + renderSection('script'); ?> + + + \ No newline at end of file diff --git a/app/Views/layouts/sidebar.php b/app/Views/layouts/sidebar.php index e4f14fe..7f969c1 100644 --- a/app/Views/layouts/sidebar.php +++ b/app/Views/layouts/sidebar.php @@ -3,12 +3,12 @@